I am trying to create a theorem named "absorptionRule" by packaging the tactics that are used to prove the goal !(p:bool) (q:bool). (p==>q) ==> p ==> p /\ q
. However, I am getting an exception on ACCEPT_TAC. When I execute each tactic one-by-one, everything works fine.
val absorptionRule =
TAC_PROOF(
([],``!(p:bool) (q:bool).(p ==> q) ==> p ==> p /\ q``),
REPEAT STRIP_TAC THEN
ACCEPT_TAC(ASSUME ``p:bool``) THEN
RES_TAC);