09f98ecddc
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
23 lines
612 B
Text
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.
|