% Copyright (C) 2013 Peter Schueller %schema1. schema2 :- not schema1. nom(g1,n1,pillar). nom(g1,n2,i). mod(g1,n3,between). nom(g1,n4,stage). act(g1,n7,see) :- schema1. act(g1,n7,see_around) :- schema2. nom(g1,n8,entity). dep(g1,d1,n1,n3,@set((subj))). dep(g1,d2,n2,n3,@set(obj)). dep(g1,d3,n4,n3,@set(obj2)). dep(g1,d5,n2,n7,@set(cannot)). dep(g1,d7,n8,n7,@set(obj)). dep(g1,d8,d1,d5,@set((meta,nonvolatile_result))). % A34 print("There is a pillar between me and the stage, and I can't see it.") :- schema1. print("There is a pillar between me and the stage, and I can't see around it.") :- schema2. % either n1=n8 or n4=n8 required_equivalence(g1,eq1,n1,n8). required_equivalence(g1,eq1,n4,n8). correct_result(g1,n4,n8) :- schema1. correct_result(g1,n1,n8) :- schema2.