:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/BusRide.e',69). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.pel')). :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(ecalc). :- call_pel_directive(translate(begining, '/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.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[p. 324]{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: %; InitiallyP -> HoldsAt %; timestamps %; added [time] Terminates(Shoot(),Loaded(),time). %; :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',29). % 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/Shanahan1997/DeadOrAlive.e',32). % event Load() event(load()). % event Shoot() event(shoot()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',34). % event Sneeze() event(sneeze()). % fluent Loaded() fluent(loaded()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',36). % fluent Alive() fluent(alive()). % fluent Dead() fluent(dead()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',38). % noninertial Dead :- call_pel_directive(noninertial(dead)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',40). % [time] % Initiates(Load(),Loaded(),time). initiates_at(load(),loaded(),Time). % [time] % HoldsAt(Loaded(),time) -> Terminates(Shoot(),Alive(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',40). holds_at(loaded(), Time) -> terminates_at(shoot(), alive(), Time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',42). % [time] % Terminates(Shoot(),Loaded(),time). terminates_at(shoot(),loaded(),Time). % [time] % HoldsAt(Dead(),time) <-> !HoldsAt(Alive(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',42). holds_at(dead(), Time) <-> holds_at(not(alive()), Time). % HoldsAt(Alive(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',44). holds_at(alive(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',46). % !HoldsAt(Loaded(),0). holds_at(not(loaded()),0). % Happens(Load(),0). happens_at(load(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',48). % Happens(Sneeze(),1). happens_at(sneeze(),1). % Happens(Shoot(),2). happens_at(shoot(),2). % completion Happens :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',50). :- call_pel_directive(completion(happens_at)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Shanahan1997/DeadOrAlive.e',53). % range time 0 3 :- call_pel_directive(range(time, 0, 3)). % 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/Shanahan1997/DeadOrAlive.pel')).