FIX_TAC : string -> tactic
# g `!x a. a + x = x + a`;; # e (FIX_TAC "a");; val it : goalstack = 1 subgoal (1 total) `!x. a + x = x + a`
# g `!a b x. a + b + x = (a + b) + x`;; # e (FIX_TAC "[d/x] *");; val it : goalstack = 1 subgoal (1 total) `a + b + d = (a + b) + d`