40 lines
926 B
Text
40 lines
926 B
Text
constant addc {a b : nat} : a + b = b + a
|
||
constant addassoc {a b c : nat} : (a + b) + c = a + (b + c)
|
||
constant zadd (a : nat) : 0 + a = a
|
||
|
||
open nat
|
||
|
||
example : ∀ n m : ℕ, n + m = m + n :=
|
||
begin
|
||
intros n m,
|
||
induction m with m' ih,
|
||
--^ "command": "info"
|
||
{ change n + 0 = 0 + n, simp [zadd] },
|
||
--^ "command": "info"
|
||
{ change succ (n + m') = succ m' + n,
|
||
rw [succ_add, ih]
|
||
--^ "command":"info"
|
||
}
|
||
end
|
||
|
||
example : ∀ n m : ℕ, n + m = m + n :=
|
||
begin
|
||
intros n m,
|
||
induction m with m' ih,
|
||
{ change n + 0 = 0 + n, simp [zadd] },
|
||
--^ "command": "info"
|
||
{ change succ (n + m') = succ m' + n,
|
||
rw [succ_add, ih]
|
||
}
|
||
end
|
||
|
||
example : ∀ n m : ℕ, n + m = m + n :=
|
||
begin
|
||
intros n m,
|
||
induction m with m' ih,
|
||
{ change n + 0 = 0 + n, simp [zadd] },
|
||
--^ "command": "info"
|
||
{ change succ (n + m') = succ m' + n,
|
||
rw [succ_add, ih]
|
||
}
|
||
end
|