lean4-htt/library/smt/prove.lean
Leonardo de Moura 76eed7cb41 chore(library/init/meta): add to_unfold parameter to simplify, and remove redundant simp* tactics
Remark: the `to_unfold` has not been implemented yet.
2017-07-02 15:26:06 -07:00

18 lines
564 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 >>= infer_type >>= whnf,
return $ if Htype = `(Prop) then (H :: Eqs) else Eqs
-- This tactic is just a placeholder, designed to be modified for specific performance experiments
meta def prove : tactic unit :=
do local_context >>= collect_props >>= revert_lst,
trace "SMT state, after reverting propositions:",
trace_state,
`[simp { contextual := tt }]
end smt