1+1=2の証明
「1+1=2を証明するにはどうするか」が気になってメモ
普通の説明だと多分よくわからなさそうなのでLeanで証明されているものを見てみる
Leanの場合の1+1=2の証明
mathlib ver3の場合の定義。関係しそうなところだけ抽出。
code:src/algebra/ring/defs.lean
34 variables {α : Type u} {β : Type v} {γ : Type w} {R : Type x}
110 section has_one_has_add
111
113
114 lemma one_add_one_eq_two : 1 + 1 = (2 : α) := rfl
115
116 end has_one_has_add
mathlib4の場合の定義
code:Mathlib/Data/Nat/Cast/Defs.lean
apply congrArg
decide
AddMonoidWithOneがなんなのとか色々わからないことはある。なのでMathlib4のドキュメントを見る。
code:memo
-- ↑1 = 1
induction n with
| zero => simp
-- ↑(m + n) = ↑m + ↑n
関連