suffices
suffices
は、数学でよくある「~を示せば十分である」という推論を行うタクティクです。
ゴールが ⊢ P
であるときに suffices Q from
を実行すると、
suffices Q from
のブロック内では、仮定にthis: Q
が追加され、suffices Q from
以降では、ゴールが⊢ Q
に書き換えられます。
apply
と似ていますが、apply
と違って「十分条件になっていること」の証明が明らかでないときにも使うことができます。
suffices Q from ...
という形式の場合は、証明を直接構成することが必要です。suffices Q from by ...
とすると、タクティクによって証明を構成するモードになります。
import Mathlib.Data.Nat.Order.Lemmas -- 除算 `∣` を使うため
example : 13 ∣ (2 ^ 70 + 3 ^ 70) := by
-- 余りがゼロであることを示せば十分
suffices (2 ^ 70 + 3 ^ 70) % 13 = 0 from by
exact Iff.mpr (Nat.dvd_iff_div_mul_eq (2 ^ 70 + 3 ^ 70) 13) rfl
rfl