blob: aa903ba537c05ec1f743c364634130faf9ca19b9 [file] [edit]
theorem ex1 (n : Nat) : 0 + n = n := by
let m := n
have h : ∃ k, id k = m := ⟨m, rfl⟩
cases h with
| intro a e =>
trace_state
subst e
trace_state
apply Nat.zero_add
theorem ex2 (n : Nat) : 0 + n = n := by
let m := n
have h : ∃ k, m = id k := ⟨m, rfl⟩
cases h with
| intro a e =>
trace_state
subst e
trace_state
apply Nat.zero_add
theorem ex3 (n : Nat) (h : n = 0) : 0 + n = 0 := by
let m := n + 1
let v := m + 1
have : v = n + 2 := rfl
subst v -- error
done