:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents20-ea.e',75). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.pel')). :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(ecalc). :- call_pel_directive(translate(begining, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.pel')). %; FallingObjectWithEvents25-ea.e :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',2). % 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/ecasp/FallingObjectWithEvents25-ea.e',5). % sort object sort(object). % sort agent sort(agent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',7). % sort height: integer subsort(height,integer). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',9). % agent Nathan t(agent,nathan). % object Apple t(object,apple). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',12). % fluent Falling(object) fluent(falling(object)). % fluent Height(object,height) fluent(height(object,height)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',15). % event Drop(agent,object) event(drop(agent,object)). % event HitGround(object) event(hitGround(object)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',18). %; Sigma % [agent,object,time] % Initiates(Drop(agent,object),Falling(object),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',20). initiates_at(drop(Agent,Object), falling(Object), Time). % [agent,object,height,time] % Releases(Drop(agent,object),Height(object,height),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',24). releases_at(drop(Agent,Object), height(Object,Height), Time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',26). % [object,time] % Terminates(HitGround(object),Falling(object),time). terminates_at(hitGround(Object),falling(Object),Time). % [object,height,time] % (HoldsAt(Height(object,height),time) -> % Initiates(HitGround(object),Height(object,height),time)). holds_at(height(Object, Height), Time) -> initiates_at(hitGround(Object), height(Object, Height), Time). %; Delta % [object,time] % (HoldsAt(Falling(object),time) & % HoldsAt(Height(object,0),time) -> % Happens(HitGround(object),time)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',35). holds_at(falling(Object), Time), holds_at(height(Object, 0), Time) -> happens_at(hitGround(Object), Time). % Happens(Drop(Nathan,Apple),18). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',39). happens_at(drop(nathan,apple),18). %; Psi % [object,height1,height2,time] % (HoldsAt(Height(object,height1),time) & % HoldsAt(Height(object,height2),time) -> % height1=height2). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',44). holds_at(height(Object, Height1), Time), holds_at(height(Object, Height2), Time) -> Height1=Height2. %; Pi % [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/ecasp/FallingObjectWithEvents25-ea.e',51). holds_at(height(Object, Height1), Time), Height2=Height1-Offset -> trajectory(falling(Object), Time, height(Object, Height2), Offset). %; Gamma :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',58). % !HoldsAt(Falling(Apple),0). holds_at(not(falling(apple)),0). % HoldsAt(Height(Apple,3),18). holds_at(height(apple,3),18). % [object] % !ReleasedAt(Falling(object),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',62). not(released_at(falling(Object),0)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',64). % [object,height] % !ReleasedAt(Height(object,height),0). not(released_at(height(Object,Height),0)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',68). % completion Happens :- call_pel_directive(completion(happens_at)). %;completion Delta Happens :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',71). % range time 0 25 :- call_pel_directive(range(time, 0, 25)). % range height 0 18 :- call_pel_directive(range(height, 0, 18)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.e',73). % range offset 1 18 :- call_pel_directive(range(offset, 1, 18)). %; End of file. :- call_pel_directive(translate(ending, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/FallingObjectWithEvents25-ea.pel')).