lean2/tests/lean/tactic10.lean
Leonardo de Moura 09f98ecddc feat(library/tactic): add unfold_tactic() that unfolds every non-hidden definition
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-12-01 10:41:05 -08:00

23 lines
612 B
Text

Definition f(a : Bool) : Bool := not a.
Definition g(a b : Bool) : Bool := a \/ b.
Theorem T1 (a b : Bool) : (g a b) => (f b) => a := _.
apply unfold_tactic
apply imp_tactic
apply imp_tactic
apply disj_hyp_tactic
apply assumption_tactic
apply absurd_tactic
done.
(**
simple_tac = REPEAT(unfold_tactic) .. REPEAT(ORELSE(imp_tactic, conj_hyp_tactic, assumption_tactic, absurd_tactic, conj_hyp_tactic, disj_hyp_tactic))
**)
Definition h(a b : Bool) : Bool := g a b.
Theorem T2 (a b : Bool) : (h a b) => (f b) => a := _.
apply simple_tac
done.
Show Environment 1.