如果我将括号中的步骤THENL
按顺序输入到 HOL 解释器中,则括号中的步骤可以正常工作。但是当我将它们与TAC_PROOF
using结合使用时THENL
,出现错误。
THEN
我想我理解和THENL
(所有子目标与单个子目标)之间的区别。但我找不到区分这两个初始子目标的语法。DISJ1_TAC
并且RES_TAC
应该只适用于 subgoal1。虽然DISJ2_TAC
并且RES_TAC
应该只适用于 subgoal2。
我怎样才能解决这个问题?
val constructiveDilemmaRule =
TAC_PROOF (([],``! p q r s .(p==>q) /\ (r==>s) ==> p \/ r ==>q \/s``),
REPEAT STRIP_TAC
THENL [DISJ1_TAC THEN RES_TAC]
THENL [DISJ2_TAC, RES_TAC]);