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

23 lines
612 B
Text

open tactic
print "------- fapply version ----------"
example (a : nat) : ∃ x : nat, x = a :=
by do
c₁ ← return (expr.const `Exists.intro [level.of_nat 1]),
fapply c₁, /- fapply adds all unassigned variables -/
trace_state,
swap, /- swap witness and ?M = a -/
a ← get_local `a,
mk_app `eq.refl [a] >>= exact
print "------- apply version ----------"
example (a : nat) : ∃ x : nat, x = a :=
by do
c₁ ← return (expr.const `Exists.intro [level.of_nat 1]),
/- apply does not add the goal |- nat -/
apply c₁,
trace_state,
a ← get_local `a,
mk_app `eq.refl [a] >>= exact