lean4-htt/tests/lean/change1.lean

19 lines
517 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