:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M25.e',99). % From E: % % :-call_pel_directive(translate(unskipped,'/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e.lps')). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e.lps')). :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(lps). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M25.e',99). % From E: % % :-call_pel_directive(translate(begining,'/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e.lps')). :- call_pel_directive(translate(begining, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e.lps')). % Sat, 10 Oct 2020 15:31:53 GMT File: (0x559e4b460900)%; %; 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 %; %; @inproceedings{Shanahan:1990, %; author = "Murray Shanahan", %; year = "1990", %; title = "Representing continuous change in the event calculus", %; editor = "Luigia Carlucci Aiello", %; booktitle = "\uppercase{P}roceedings of the \uppercase{N}inth \uppercase{E}uropean \uppercase{C}onference on \uppercase{A}rtificial \uppercase{I}ntelligence", %; pages = "598--603", %; address = "London", %; publisher = "Pitman", %; } %; %; \fullciteA[pp. 326--329]{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 %; generalized (SkF6) %; :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',40). % option trajectory on % From E: % % :-call_pel_directive(option(trajectory,on)). :- call_pel_directive(option(trajectory, on)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',42). % load foundations/Root.e % From E: % % :-call_pel_directive(load('foundations/Root.e')). :- call_pel_directive(load('foundations/Root.e')). % load foundations/EC.e :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',42). % 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/KitchenSink_M5.e',45). % sort height: integer % From E: % % subsort(height,integer). subsort(height,integer). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',47). % event TapOn() % From E: % % event(tapOn()). events([tapOn/0]). % event TapOff() :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',47). % From E: % % event(tapOff()). events([tapOff/0]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',49). % event Overflow() % From E: % % event(overflow()). events([overflow/0]). % fluent Filling() :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',49). % From E: % % fluent(filling()). fluents([filling/0]). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',51). % fluent Height(height) % From E: % % fluent(height(height)). mpred_prop(height(height),fluent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',51). fluents([height/1]). % fluent Spilling() % From E: % % fluent(spilling()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',51). fluents([spilling/0]). % [time] % Initiates(TapOn(),Filling(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',54). % From E: % % initiates_at(tapOn(),filling(),Time). % [Time]. tapOn initiates filling. % initiated(happens(tapOn,Time_From,Time_Until),filling,[]). % "% =================================". % [time] % Terminates(TapOff(),Filling(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',56). % From E: % % terminates_at(tapOff(),filling(),Time). % [Time]. tapOff terminates filling. % terminated(happens(tapOff,Time_From,Time_Until),filling,[]). % "% =================================". %; should probably add: %;[time] Terminates(TapOff(),Spilling(),time). % [height,time] :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',62). % Releases(TapOn(),Height(height),time). % From E: % % releases_at( % tapOn(), % height(Height), % Time). % [Time]. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',62). releases(tapOn,height(Height)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',64). % [height,time] % HoldsAt(Height(height),time) -> % Initiates(TapOff(),Height(height),time). % From E: % % '->'( % holds_at(height(Height),Time), % initiates_at( % tapOff(), % height(Height), % Time)). % [Time]. tapOff initiates height(Height)if height(Height). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',64). /* initiated(happens(tapOff,Time_From,Time_Until), height(Height), [holds(height(Height),Time_From)]). */ % "% =================================". % [time] % Terminates(Overflow(),Filling(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',67). % From E: % % terminates_at(overflow(),filling(),Time). % [Time]. overflow terminates filling. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',67). /* terminated(happens(overflow,Time_From,Time_Until), filling, []). */ % "% =================================". % [height,time] % HoldsAt(Height(height),time) -> % Initiates(Overflow(),Height(height),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',71). % From E: % % '->'( % holds_at(height(Height),Time), % initiates_at( % overflow(), % height(Height), % Time)). % [Time]. overflow initiates height(Height)if height(Height). /* initiated(happens(overflow,Time_From,Time_Until), height(Height), [holds(height(Height),Time_From)]). */ % "% =================================". % [time] % Initiates(Overflow(),Spilling(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',73). % From E: % % initiates_at(overflow(),spilling(),Time). % [Time]. overflow initiates spilling. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',73). /* initiated(happens(overflow,Time_From,Time_Until), spilling, []). */ % "% =================================". % [height1,height2,offset,time] % HoldsAt(Height(height1),time) & % height2 = height1 + offset -> % Trajectory(Filling(),time,Height(height2),offset). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',77). % From E: % % '->'( % (holds_at(height(Height1),Time) , % Height2=Height1+Offset), % trajectory( % filling(), % Time, Time, % height(Height2), % Offset)). % [Time]. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',77). holds_at(height(Height1), Time), Height2=Height1+Offset -> trajectory(filling, Time, height(Height2), Offset). % [height1,height2,time] % HoldsAt(Height(height1),time) & % HoldsAt(Height(height2),time) -> % height1 = height2. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',82). % From E: % % '->'( % (holds_at(height(Height1),Time) , % holds_at(height(Height2),Time)), % Height1=Height2). % [Time]. false not equals(Height1, Height2), height(Height1), height(Height2). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',82). /* d_pre([ not(equals(Height1,Height2)), holds(height(Height1),Time_At), holds(height(Height2),Time_At) ]). */ % "% =================================". % [time] % HoldsAt(Height(3),time) & HoldsAt(Filling(),time) -> % Happens(Overflow(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',85). % From E: % % '->'( % (holds_at(height(3),Time) , % holds_at(filling(),Time)), % happens_at(overflow(),Time)). % [Time]. overflow if height(3), filling. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',85). /* l_events(happens(overflow,Time_From,Time_From), [ holds(height(3),Time_From), holds(filling,Time_From) ]). */ % "% =================================". % HoldsAt(Height(0),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',88). % From E: % % holds_at(height(0),0). initially height(0). % initial_state([height(0)]). % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',90). % !HoldsAt(Filling(),0). % From E: % % holds_at(not(filling()),0). initially not filling. % initial_state([not(filling)]). % "% =================================". % !HoldsAt(Spilling(),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',90). % From E: % % holds_at(not(spilling()),0). initially not spilling. % initial_state([not(spilling)]). % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',92). % Happens(TapOn(),0). % From E: % % happens_at(tapOn(),0). observe tapOn at 0. % observe([tapOn],0). % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',94). % completion Happens % From E: % % :-call_pel_directive(completion(happens_at)). :- call_pel_directive(completion(happens_at)). % range time 0 5 :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',96). % From E: % % :-call_pel_directive(range(time,0,5)). :- call_pel_directive(range(time, 0, 5)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',98). % range height 0 4 % From E: % % :-call_pel_directive(range(height,0,4)). :- call_pel_directive(range(height, 0, 4)). % range offset 1 4 :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',98). % From E: % % :-call_pel_directive(range(offset,1,4)). :- call_pel_directive(range(offset, 1, 4)). %; End of file. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e',101). % From E: % % :-call_pel_directive(translate(ending,'/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e.lps')). :- call_pel_directive(translate(ending, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp-decreasoner/KitchenSink_M5.e.lps')).