lean4-htt/tests/lean/run/apply3.lean

23 lines
650 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