%% UA /* とりあえず、撤回効力発生要件から「取消不能(irrevocable)でないこと」という要件を取り除き、承諾効力発生要件に「取消効力が発生していないこと」というルールで検証しました。*/ %%%%%% General Program :-unknown(P,fail). %23 is_concluded(contract(A,B,C),T):- become_effective(acceptance(B,A,offer(A,B,C)),T). %15(1) become_effective(offer(A,B,C),T1):- reach(offer(A,B,C),B,T1), \+(become_effective(withdrawl(A,B,offer(A,B,C)),B,T2)). %15(2) become_effective(withdrawl(A,B,offer(A,B,C)),B,T2):- reach(withdrawl(A,B,offer(A,B,C)),B,T2), \+((reach(offer(A,B,C),B,T1),before(T1,T2))). before(T1,T2):- T1@