:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss4.e',67). % From E: % % :-call_pel_directive(translate(unskipped,'/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e.lps')). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e.lps')). :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(lps). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/CoinToss4.e',67). % From E: % % :-call_pel_directive(translate(begining,'/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e.lps')). :- call_pel_directive(translate(begining, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e.lps')). % Sat, 10 Oct 2020 15:31:52 GMT File: (0x559e4b3e6e00)%; %; 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/DeadOrAlive3.e',29). % From E: % % :-call_pel_directive(load('foundations/Root.e')). :- call_pel_directive(load('foundations/Root.e')). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',31). % load foundations/EC.e % From E: % % :-call_pel_directive(load('foundations/EC.e')). :- call_pel_directive(load('foundations/EC.e')). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',33). % event Load() % From E: % % event(load()). events([load/0]). % event Shoot() :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',33). % From E: % % event(shoot()). events([shoot/0]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',35). % event Sneeze() % From E: % % event(sneeze()). events([sneeze/0]). % fluent Loaded() :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',35). % From E: % % fluent(loaded()). fluents([loaded/0]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',37). % fluent Alive() % From E: % % fluent(alive()). fluents([alive/0]). % fluent Dead() :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',37). % From E: % % fluent(dead()). fluents([dead/0]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',39). % noninertial Dead % From E: % % :-call_pel_directive(noninertial(dead)). :- call_pel_directive(noninertial(dead)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',41). % [time] % Initiates(Load(),Loaded(),time). % From E: % % initiates_at(load(),loaded(),Time). % [Time]. load initiates loaded. % initiated(happens(load,Time_From,Time_Until),loaded,[]). % "% =================================". % [time] % HoldsAt(Loaded(),time) -> Terminates(Shoot(),Alive(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',41). % From E: % % '->'( % holds_at(loaded(),Time), % terminates_at(shoot(),alive(),Time)). % [Time]. shoot terminates alive if loaded. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',41). /* terminated(happens(shoot,Time_From,Time_Until), alive, [holds(loaded,Time_From)]). */ % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',43). % [time] % Terminates(Shoot(),Loaded(),time). % From E: % % terminates_at(shoot(),loaded(),Time). % [Time]. shoot terminates loaded. % terminated(happens(shoot,Time_From,Time_Until),loaded,[]). % "% =================================". % [time] % HoldsAt(Dead(),time) <-> !HoldsAt(Alive(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',43). % From E: % % <->( % holds_at(dead(),Time), % holds_at(not(alive()),Time)). % [Time]. not alive if dead. % l_int(holds(not(alive),Time_At),[dead]). % "% =================================". if not alive then dead. % reactive_rule([holds(not(alive),Time_At2)],[dead]). % "% =================================". % HoldsAt(Alive(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',45). % From E: % % holds_at(alive(),0). initially alive. % initial_state([alive]). % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',47). % !HoldsAt(Loaded(),0). % From E: % % holds_at(not(loaded()),0). initially not loaded. % initial_state([not(loaded)]). % "% =================================". % Happens(Load(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',47). % From E: % % happens_at(load(),0). observe load at 0. % observe([load],0). % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',49). % Happens(Sneeze(),1). % From E: % % happens_at(sneeze(),1). observe sneeze at 1. % observe([sneeze],1). % "% =================================". % Happens(Shoot(),2). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',49). % From E: % % happens_at(shoot(),2). observe shoot at 2. % observe([shoot],2). % "% =================================". % completion Happens :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',51). % From E: % % :-call_pel_directive(completion(happens_at)). :- call_pel_directive(completion(happens_at)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',54). % range time 0 3 % From E: % % :-call_pel_directive(range(time,0,3)). :- call_pel_directive(range(time, 0, 3)). % range offset 1 1 :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',54). % From E: % % :-call_pel_directive(range(offset,1,1)). :- call_pel_directive(range(offset, 1, 1)). %; End of file. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e',57). % From E: % % :-call_pel_directive(translate(ending,'/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e.lps')). :- call_pel_directive(translate(ending, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/DeadOrAlive3.e.lps')).