lean4-htt/tests/lean/change1.lean
2016-07-29 13:03:23 -07:00

19 lines
506 B
Text

open tactic nat expr option
definition succ_eq_add [defeq] (n : nat) : succ n = n + 1 :=
rfl
example (a b : nat) : a = b → succ (succ a) = succ (b + 1) :=
by do intro `Heq,
t ← target,
trace_state,
t' ← defeq_simp t,
change t',
trace "---- after change ----",
trace_state,
get_local `a >>= subst,
t ← target,
match is_eq t with
| some (lhs, rhs) := do pr ← mk_app `eq.refl [lhs], exact pr
| none := failed
end