suffices
suffices
は、数学でよくある「~を示せば十分である」という推論を行うタクティクです。
ゴールが ⊢ P
であるときに suffices h : Q from
を実行すると、以下が実行されます。
suffices h : Q from
のブロック内で、仮定にh : Q
が追加される。suffices h : 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 goal : (2 ^ 70 + 3 ^ 70) % 13 = 0 from by
exact Iff.mpr (Nat.dvd_iff_div_mul_eq (2 ^ 70 + 3 ^ 70) 13) rfl
rfl