open tactic

theorem tst (A B : Type) (a : A) (b : B) : a == b → b == a :=
by do
  a ← get_local "a", b ← get_local "b", B ← get_local "B",
  generalizes [a, b, B],
  intro_lst ["B'", "b", "a"], H ← intro "H",
  mk_app ("heq" <.> "symm") [H] >>= exact
