% File 'lifting' % Lifting the Ends of the Table ("Nonmonotonic Causal Theories," Figure 7) :- sorts end; height. :- objects leftEnd, rightEnd :: end; low, high :: height. :- variables X :: end. :- constants level(end) :: inertialFluent(height); onTable :: inertialFluent; lift(end) :: exogenousAction. lift(X) causes level(X)=high. nonexecutable lift(X) if level(X)=high. caused -onTable if level(leftEnd)\=level(rightEnd). :- query maxstep :: 1; 1: onTable.