:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Approve.e',59). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.pel')). :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(ecalc). :- call_pel_directive(translate(begining, '/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.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 %; %; @inproceedings{Mueller:2004b, %; author = "Erik T. Mueller", %; year = "2004", %; title = "A tool for satisfiability-based commonsense reasoning in the event calculus", %; editor = "Valerie Barr and Zdravko Markov", %; booktitle = "\uppercase{P}roceedings of the \uppercase{S}eventeenth \uppercase{I}nternational \uppercase{F}lorida \uppercase{A}rtificial \uppercase{I}ntelligence \uppercase{R}esearch \uppercase{S}ociety \uppercase{C}onference", %; pages = "147--152", %; address = "Menlo Park, CA", %; publisher = "AAAI Press", %; } %; :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',23). % option trajectory on :- call_pel_directive(option(trajectory, on)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',25). % 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/Mueller2004b/Leaf.e',28). % sort object sort(object). % sort height: integer subsort(height,integer). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',31). % fluent Height(object,height) fluent(height(object,height)). % fluent Falling(object) fluent(falling(object)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',33). % event StartFalling(object) event(startFalling(object)). % event HitsGround(object) event(hitsGround(object)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',36). % [object,height1,height2,time] % HoldsAt(Height(object,height1),time) & % HoldsAt(Height(object,height2),time) -> % height1=height2. holds_at(height(Object, Height1), Time), holds_at(height(Object, Height2), Time) -> Height1=Height2. % [object,time] % Initiates(StartFalling(object),Falling(object),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',42). initiates_at(startFalling(Object), falling(Object), Time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',44). % [object,height,time] % Releases(StartFalling(object),Height(object,height),time). releases_at(startFalling(Object), height(Object,Height), Time). % [object,height1,height2,offset,time] % HoldsAt(Height(object,height1),time) & % height2=height1-offset -> % Trajectory(Falling(object),time,Height(object,height2),offset). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',48). holds_at(height(Object, Height1), Time), Height2=Height1-Offset -> trajectory(falling(Object), Time, height(Object, Height2), Offset). % [object,time] % HoldsAt(Falling(object),time) & % HoldsAt(Height(object,0),time) -> % Happens(HitsGround(object),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',53). holds_at(falling(Object), Time), holds_at(height(Object, 0), Time) -> happens_at(hitsGround(Object), Time). %;[object,height1,height2,time] %;HoldsAt(Height(object,height1),time) & %;height1 != height2 -> %;Terminates(HitsGround(object),Height(object,height2),time). % [object,height,time] % HoldsAt(Height(object,height),time) -> % Initiates(HitsGround(object),Height(object,height),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',62). holds_at(height(Object, Height), Time) -> initiates_at(hitsGround(Object), height(Object, Height), Time). % [object,time] % Terminates(HitsGround(object),Falling(object),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',67). terminates_at(hitsGround(Object), falling(Object), Time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',69). % object Leaf t(object,leaf). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',71). % !HoldsAt(Falling(Leaf),0). holds_at(not(falling(leaf)),0). % HoldsAt(Height(Leaf,4),0). holds_at(height(leaf,4),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',73). % Happens(StartFalling(Leaf),2). happens_at(startFalling(leaf),2). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',75). % completion Happens :- call_pel_directive(completion(happens_at)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',77). % range time 0 7 :- call_pel_directive(range(time, 0, 7)). % range offset 1 4 :- call_pel_directive(range(offset, 1, 4)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.e',79). % range height 0 4 :- call_pel_directive(range(height, 0, 4)). %; End of file. :- call_pel_directive(translate(ending, '/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2004b/Leaf.pel')).