lean4-htt/tests/lean/run/1615.lean
2022-11-01 19:18:25 -07:00

17 lines
543 B
Text

import Lean.Elab.ElabRules
import Lean.Meta.Tactic.Replace
elab "test" h:ident : tactic => do
let g ← Lean.Elab.Tactic.getMainGoal
g.withContext do
let ldec ← Lean.Meta.getLocalDeclFromUserName h.getId
let f := ldec.fvarId
let e ← Lean.Meta.whnf (← Lean.instantiateMVars ldec.type)
let newgoal ← g.replaceLocalDeclDefEq f e
Lean.Elab.Tactic.replaceMainGoal [newgoal]
def Nat.dvd (a b : Nat) := ∃ c, b = a * c
example (n : Nat) (h : Nat.dvd 2 n) : ∃ c, n = 2 * c := by
test h
with_reducible exact h