%% Contract(3k)_byA(0120)H /* Aが作成した知識ベースをHが改訂したもの。 今回は、事例3kも解けるようにした。 */ /* 【時間指示変数の整理】 T1=offerが到達するとき T2=withdrawlが到達するとき T3=acceptanceが到達するとき T4=revocationが到達するとき T5=acceptanceが発信されるとき */ %rule :-unknown(P,fail). %23 is_concluded(contract(A,B,C),T3):- become_effective(offer(A,B,C),T1),become_effective(acceptance(B,A, offer(A,B,C)),T3). %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),T2))). %15(2) become_effective(withdrawl(A,B,offer(A,B,C),T2)):- reach(withdrawl(A,B,offer(A,B,C)),B,T2), \+((reach(offer(A,B,C),B,T1),T1@