import logic open tactic notation `(` h `|` r:(foldl `|` (e r, tactic.or_else r e) h) `)` := r definition my_tac := repeat (apply @and.intro | apply @eq.refl) tactic_hint my_tac theorem T1 {A : Type} {B : Type} (a : A) (b c : B) : a = a ∧ b = b ∧ c = c