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