When applied to a goal A ?- t, the tactic BETA_TAC produces a new goal
which results from beta-reducing all beta-redexes, at any depth, in t.
Variables are renamed where necessary to avoid free variable capture.
A ?- ...((\x. s1) s2)...
========================== BETA_TAC
A ?- ...(s1[s2/x])...