21 lines
555 B
Text
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 [*]
|