lean4-htt/library/smt/prove.lean
2017-03-05 08:37:16 -08:00

15 lines
359 B
Text

namespace smt
open tactic
private meta def collect_props : list expr → tactic (list expr)
| [] := return []
| (H :: Hs) := do
Eqs ← collect_props Hs,
Htype ← infer_type H >>= whnf,
return $ if Htype = ```(Prop) then (H :: Eqs) else Eqs
meta def prove : tactic unit :=
do local_context >>= collect_props >>= revert_lst,
simp
end smt