935c2a03a3
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
31 lines
738 B
Text
31 lines
738 B
Text
(* import("tactic.lua") *)
|
|
theorem T1 (A B : Bool) : A /\ B => B /\ A :=
|
|
discharge (fun H : A /\ B,
|
|
let main : B /\ A :=
|
|
(let H1 : B := _,
|
|
H2 : A := _
|
|
in _)
|
|
in main).
|
|
conj_hyp.
|
|
exact.
|
|
done.
|
|
conj_hyp.
|
|
exact.
|
|
done.
|
|
apply and::intro.
|
|
exact.
|
|
done.
|
|
|
|
(*
|
|
simple_tac = Repeat(OrElse(conj_hyp_tac(), conj_tac(), assumption_tac()))
|
|
*)
|
|
|
|
theorem T2 (A B : Bool) : A /\ B => B /\ A :=
|
|
discharge (fun H : A /\ B,
|
|
let H1 : A := _,
|
|
H2 : B := _,
|
|
main : B /\ A := _
|
|
in main).
|
|
simple_tac. done.
|
|
simple_tac. done.
|
|
simple_tac. done.
|