open tactic definition tst2 (a : nat) : a = a := by do define `x (expr.const `nat []), rotate 1, trace_state, a ← get_local `a, mk_app `eq.refl [a] >>= exact, a ← get_local `a, exact a, return () print tst2 definition tst3 (a b : nat) : a = a := by do define `x (expr.const `nat []), rotate 1, trace_state, x ← get_local `x, mk_app `eq.refl [x] >>= exact, trace "-- second goal was indirectly solved by the previous tactic", trace_state, return ()