lean4-htt/doc/examples/Certora2022/ex21.lean
2022-11-21 17:02:28 -08:00

21 lines
555 B
Text

/- Simplifier -/
example (p : Nat → Prop) : (x + 0) * (0 + y * 1 + z * 0) = x * y := by
simp
example (p : Nat → Prop) (h : p (x * y)) : p ((x + 0) * (0 + y * 1 + z * 0)) := by
simp; assumption
example (p : Nat → Prop) (h : p ((x + 0) * (0 + y * 1 + z * 0))) : p (x * y) := by
simp at h; assumption
def f (m n : Nat) : Nat :=
m + n + m
example (h : n = 1) (h' : 0 = m) : (f m n) = n := by
simp [h, ←h', f]
example (p : Nat → Prop) (h₁ : x + 0 = x') (h₂ : y + 0 = y')
: x + y + 0 = x' + y' := by
simp at *
simp [*]