/* ==================================================== */ /* Postdiction from C&McD's Intro to AI */ /* Coded by Karl Schwamb */ /* January 1988 */ /* ==================================================== */ /* Assumable predicates ... */ /* assumable(true_in_situation(_,_)). */ assumable(true_in_situation(Situation,positive(ambtemp)), true_in_situation(GeneralSituation,GeneralStatement)). /* Domain Theory */ occur(Situation,melt(Object1)) :- inst(Object1,icecube), true_in_situation(Situation,outside(Object1)), true_in_situation(Situation,positive(ambtemp)). true_in_situation(result(Situation,melt(Object1)),wet(Object2)) :- inst(Object1,icecube), true_in_situation(Situation,on(Object1,Object2)), occur(Situation,melt(Object1)). /* Example */ inst(situation1,situation). inst(situation2,situation). inst(icecube1, icecube). inst(bowl1, bowl). true_in_situation(situation1,on(icecube1,bowl1)). true_in_situation(situation1,outside(icecube1)). /* Starting Query. */ query :- explain_and_learn(true_in_situation(Z,wet(bowl1)), true_in_situation(X,wet(Y))).