:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket12.e',104). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.pel')). :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(ecalc). :- call_pel_directive(translate(begining, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.pel')). %; %; Copyright (c) 2005 IBM Corporation and others. %; All rights reserved. This program and the accompanying materials %; are made available under the terms of the Common Public License v1.0 %; which accompanies this distribution, and is available at %; http://www.eclipse.org/legal/cpl-v10.html %; %; Contributors: %; IBM - Initial implementation %; %; \fullciteA[pp. 302--304]{Shanahan:1997} %; %; @book{Shanahan:1997, %; author = "Murray Shanahan", %; year = "1997", %; title = "Solving the Frame Problem", %; address = "Cambridge, MA", %; publisher = "MIT Press", %; } %; %; deduction %; %; modifications from Shanahan's formulation: %; reformulated using the method of \fullciteA[pp. 460--461]{MillerShanahan:2002} %; %; @incollection{MillerShanahan:2002, %; author = "Rob Miller and Murray Shanahan", %; year = "2002", %; title = "Some alternative formulations of the event calculus", %; editor = "Antonis C. Kakas and Fariba Sadri", %; booktitle = "Computational Logic: Logic Programming and Beyond: Essays in Honour of \uppercase{R}obert \uppercase{A}. \uppercase{K}owalski, Part \uppercase{II}", %; series = "Lecture Notes in Computer Science", %; volume = "2408", %; pages = "452--490", %; address = "Berlin", %; publisher = "Springer", %; } %; %; added: %; !HoldsAt(Forwards(), 0). %; !HoldsAt(Backwards(), 0). %; !HoldsAt(Spinning(), 0). %; :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',45). % load foundations/Root.e :- call_pel_directive(load('foundations/Root.e')). % load foundations/EC.e :- call_pel_directive(load('foundations/EC.e')). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',48). % event Push() event(push()). % event Pull() event(pull()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',50). % fluent Forwards() fluent(forwards()). % fluent Backwards() fluent(backwards()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',52). % fluent Spinning() fluent(spinning()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',54). % [time] % !Happens(Pull(), time) -> % Initiates(Push(), Forwards(), time). not(happens_at(pull(), Time)) -> initiates_at(push(), forwards(), Time). % [time] % !Happens(Pull(), time) -> % Terminates(Push(), Backwards(), time). not(happens_at(pull(), Time)) -> terminates_at(push(), backwards(), Time). % [time] % !Happens(Push(), time) -> % Initiates(Pull(), Backwards(), time). not(happens_at(push(), Time)) -> initiates_at(pull(), backwards(), Time). % [time] % !Happens(Push(), time) -> % Terminates(Pull(), Forwards(), time). not(happens_at(push(), Time)) -> terminates_at(pull(), forwards(), Time). % [time] % Happens(Push(), time) -> % Initiates(Pull(), Spinning(), time). happens_at(push(), Time) -> initiates_at(pull(), spinning(), Time). % [time] % Happens(Push(), time) -> % Terminates(Pull(), Forwards(), time). happens_at(push(), Time) -> terminates_at(pull(), forwards(), Time). % [time] % Happens(Push(), time) -> % Terminates(Pull(), Backwards(), time). happens_at(push(), Time) -> terminates_at(pull(), backwards(), Time). % [time] % !Happens(Pull(), time) -> % Terminates(Push(), Spinning(), time). not(happens_at(pull(), Time)) -> terminates_at(push(), spinning(), Time). % [time] % !Happens(Push(), time) -> % Terminates(Pull(), Spinning(), time). not(happens_at(push(), Time)) -> terminates_at(pull(), spinning(), Time). % !HoldsAt(Forwards(), 0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',89). holds_at(not(forwards()),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',91). % !HoldsAt(Backwards(), 0). holds_at(not(backwards()),0). % !HoldsAt(Spinning(), 0). holds_at(not(spinning()),0). % Happens(Push(), 15). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',93). happens_at(push(),15). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',95). % Happens(Pull(), 15). happens_at(pull(),15). % Happens(Pull(), 35). happens_at(pull(),35). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',97). % Happens(Push(), 35). happens_at(push(),35). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',99). % completion Happens :- call_pel_directive(completion(happens_at)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.e',101). % range time 0 40 :- call_pel_directive(range(time, 0, 40)). % range offset 1 1 :- call_pel_directive(range(offset, 1, 1)). %; End of file. :- call_pel_directive(translate(ending, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/Supermarket40.pel')).