Я пытаюсь создать теорему под названием «поглощение» путем объединения тактики, используемой для доказательства цели !(p:bool) (q:bool). (p==>q) ==> p ==> p /\ q
. Тем не менее, я получаю исключение для ACCEPT_TAC. Когда я выполняю каждую тактику один за другим, все отлично работает.
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);