:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/HotAirBalloon40-ea.e',74). :- call_pel_directive(translate(unskipped, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-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/KitchenSink_M25-ea.pel')). %; KitchenSink_M25-ea.e :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',2). % option trajectory on :- call_pel_directive(option(trajectory, on)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',4). % 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/KitchenSink_M25-ea.e',7). % sort height: integer subsort(height,integer). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',9). % event TapOn() event(tapOn()). % event TapOff() event(tapOff()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',11). % event Overflow() event(overflow()). % fluent Filling() fluent(filling()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',13). % fluent Height(height) fluent(height(height)). % fluent Spilling() fluent(spilling()). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',16). % [time] % Initiates(TapOn(),Filling(),time). initiates_at(tapOn(),filling(),Time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',18). % [time] % Terminates(TapOff(),Filling(),time). terminates_at(tapOff(),filling(),Time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',20). %; should probably add: %;[time] Terminates(TapOff(),Spilling(),time). % [height,time] :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',23). % Releases(TapOn(),Height(height),time). releases_at(tapOn(),height(Height),Time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',25). % [height,time] % (HoldsAt(Height(height),time) -> % Initiates(TapOff(),Height(height),time)). holds_at(height(Height), Time) -> initiates_at(tapOff(), height(Height), Time). % [time] % Terminates(Overflow(),Filling(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',28). terminates_at(overflow(),filling(),Time). % [height,time] % (HoldsAt(Height(height),time) -> % Initiates(Overflow(),Height(height),time)). holds_at(height(Height), Time) -> initiates_at(overflow(), height(Height), Time). % [time] % Initiates(Overflow(),Spilling(),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',34). initiates_at(overflow(),spilling(),Time). % [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/KitchenSink_M25-ea.e',38). 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/KitchenSink_M25-ea.e',43). holds_at(height(Height1), Time), holds_at(height(Height2), Time) -> Height1=Height2. % [time] % (HoldsAt(Height(15),time) & HoldsAt(Filling(),time) -> % Happens(Overflow(),time)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',46). holds_at(height(15), Time), holds_at(filling(), Time) -> happens_at(overflow(), Time). % HoldsAt(Height(0),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',49). holds_at(height(0),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',51). % !HoldsAt(Filling(),0). holds_at(not(filling()),0). % !HoldsAt(Spilling(),0). holds_at(not(spilling()),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',53). % Happens(TapOn(),5). happens_at(tapOn(),5). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',55). % completion Happens :- call_pel_directive(completion(happens_at)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',57). % !ReleasedAt(Filling(),0). not(released_at(filling(),0)). % [height] % !ReleasedAt(Height(height),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',57). not(released_at(height(Height),0)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',59). % !ReleasedAt(Spilling(),0). not(released_at(spilling(),0)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',61). % range time 0 25 :- call_pel_directive(range(time, 0, 25)). % range height 0 15 :- call_pel_directive(range(height, 0, 15)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.e',63). % range offset 1 15 :- call_pel_directive(range(offset, 1, 15)). %; End of file. :- call_pel_directive(translate(ending, '/pack/logicmoo_ec/ext/ec_sources/examples/ecasp/KitchenSink_M25-ea.pel')).