:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',57). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.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/DeadOrAlive40.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). %; % load foundations/Root.e :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',29). :- call_pel_directive(load('foundations/Root.e')). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',31). % load foundations/EC.e :- call_pel_directive(load('foundations/EC.e')). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',33). % event Load() event(load()). % event Shoot() event(shoot()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',35). % event Sneeze() event(sneeze()). % fluent Loaded() fluent(loaded()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',37). % fluent Alive() fluent(alive()). % fluent Dead() fluent(dead()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',39). % noninertial Dead :- call_pel_directive(noninertial(dead)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',41). % [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/ecasp-decreasoner/DeadOrAlive40.e',41). holds_at(loaded(), Time) -> terminates_at(shoot(), alive(), Time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',43). % [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/ecasp-decreasoner/DeadOrAlive40.e',43). holds_at(dead(), Time) <-> holds_at(not(alive()), Time). % HoldsAt(Alive(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',45). holds_at(alive(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',47). % !HoldsAt(Loaded(),0). holds_at(not(loaded()),0). % Happens(Load(),10). happens_at(load(),10). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',49). % Happens(Sneeze(),20). happens_at(sneeze(),20). % Happens(Shoot(),35). happens_at(shoot(),35). % completion Happens :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',51). :- call_pel_directive(completion(happens_at)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive40.e',54). % 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/DeadOrAlive40.pel')).