(*
auto = Repeat(OrElse(conj_hyp_tac(), conj_tac(), assumption_tac()))
*)

theorem T2 (A B : Bool) : A /\ B -> B /\ A :=
     fun assumption : A /\ B,
          let lemma1     : A      := _,
              lemma2     : B      := _,
              conclusion : B /\ A := _
          in conclusion.
   auto. done.
   auto. done.
   auto. done.