:-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter3/Telephone2.e',185). % translate: unskipped File: /pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e.lps :-include(library('ec_planner/ec_test_incl')). :-expects_dialect(lps). % translate: begining File: /pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e.lps % Fri, 09 Oct 2020 15:14:23 GMT File: (0x5625a9771300)%; %; 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 %; %; @book{Mueller:2006, %; author = "Erik T. Mueller", %; year = "2006", %; title = "Commonsense Reasoning", %; address = "San Francisco", %; publisher = "Morgan Kaufmann/Elsevier", %; } %; :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',20). % load foundations/Root.e :- if(is_e_toplevel). :- load_e_cond('foundations/Root.e', changed). % load('/pack/logicmoo_ec/ext/ec_sources/foundations/Root.e',changed). :- endif. % load foundations/EC.e :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',20). :- if(is_e_toplevel). :- load_e_cond('foundations/EC.e', changed). % load('/pack/logicmoo_ec/ext/ec_sources/foundations/EC.e',changed). :- endif. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',23). % sort agent % From E: % % sort(agent). sort(agent). % sort clock :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',23). % From E: % % sort(clock). sort(clock). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',26). % fluent Beeping(clock) % From E: % % fluent( % beeping(clock)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',26). fluents([beeping/1]). % From E: % % mpred_prop( % beeping(clock), % fluent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',26). mpred_prop(beeping(clock),fluent). % fluent AlarmTime(clock,time) % From E: % % fluent( % alarmTime(clock,time)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',26). fluents([alarmTime/2]). % From E: % % mpred_prop( % alarmTime(clock,time), % fluent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',26). mpred_prop(alarmTime(clock,time),fluent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',28). % fluent AlarmOn(clock) % From E: % % fluent( % alarmOn(clock)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',28). fluents([alarmOn/1]). % From E: % % mpred_prop( % alarmOn(clock), % fluent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',28). mpred_prop(alarmOn(clock),fluent). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',30). % event SetAlarmTime(agent,clock,time) % From E: % % event( % setAlarmTime(agent,clock,time)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',30). events([setAlarmTime/3]). % From E: % % mpred_prop( % setAlarmTime(agent,clock,time), % event). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',30). mpred_prop(setAlarmTime(agent,clock,time),event). % event StartBeeping(clock) % From E: % % event( % startBeeping(clock)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',30). events([startBeeping/1]). % From E: % % mpred_prop( % startBeeping(clock), % event). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',30). mpred_prop(startBeeping(clock),event). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',32). % event TurnOnAlarm(agent,clock) % From E: % % event( % turnOnAlarm(agent,clock)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',32). events([turnOnAlarm/2]). % From E: % % mpred_prop( % turnOnAlarm(agent,clock), % event). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',32). mpred_prop(turnOnAlarm(agent,clock),event). % event TurnOffAlarm(agent,clock) % From E: % % event( % turnOffAlarm(agent,clock)). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',32). events([turnOffAlarm/2]). % From E: % % mpred_prop( % turnOffAlarm(agent,clock), % event). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',32). mpred_prop(turnOffAlarm(agent,clock),event). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',35). % agent Nathan % From E: % % t(agent,nathan). agent(nathan). % clock Clock :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',35). % From E: % % t(clock,clock). clock(clock). %; Sigma % [agent,clock,time1,time2,time] % HoldsAt(AlarmTime(clock,time1),time) & % time1!=time2 -> % Initiates(SetAlarmTime(agent,clock,time2),AlarmTime(clock,time2),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',40). % From E: % % '->'( % ','( % holds_at( % alarmTime(Clock,Time1), % Time), % {}( % dif(Time1,Time2))), % initiates( % setAlarmTime(Agent,Clock,Time2), % alarmTime(Clock,Time2), % Time)). setAlarmTime(Agent, Clock, Time2)initiates alarmTime(Clock, Time2)at Time if alarmTime(Clock, Time1)at Time, {dif(Time1, Time2)}. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',40). /* initiated(happens(setAlarmTime(Agent,Clock,Time2), Time_From, Time_Until), at(alarmTime(Clock,Time2),Time), [ holds(alarmTime(Clock,Time1),Time), {dif(Time1,Time2)} ]). */ % "% =================================". % [agent,clock,time1,time2,time] % HoldsAt(AlarmTime(clock,time1),time) & % time1!=time2 -> % Terminates(SetAlarmTime(agent,clock,time2),AlarmTime(clock,time1),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',46). % From E: % % '->'( % ','( % holds_at( % alarmTime(Clock,Time1), % Time), % {}( % dif(Time1,Time2))), % terminates( % setAlarmTime(Agent,Clock,Time2), % alarmTime(Clock,Time1), % Time)). setAlarmTime(Agent, Clock, Time2)terminates alarmTime(Clock, Time1)at Time if alarmTime(Clock, Time1)at Time, {dif(Time1, Time2)}. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',46). /* terminated(happens(setAlarmTime(Agent,Clock,Time2), Time_From, Time_Until), at(alarmTime(Clock,Time1),Time), [ holds(alarmTime(Clock,Time1),Time), {dif(Time1,Time2)} ]). */ % "% =================================". % [agent,clock,time] % Initiates(TurnOnAlarm(agent,clock),AlarmOn(clock),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',51). % From E: % % initiates( % turnOnAlarm(Agent,Clock), % alarmOn(Clock), % Time). turnOnAlarm(Agent, Clock)initiates alarmOn(Clock). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',51). /* initiated(happens(turnOnAlarm(Agent,Clock), Time_From, Time_Until), alarmOn(Clock), []). */ % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',53). % [agent,clock,time] % Terminates(TurnOffAlarm(agent,clock),AlarmOn(clock),time). % From E: % % terminates( % turnOffAlarm(Agent,Clock), % alarmOn(Clock), % Time). turnOffAlarm(Agent, Clock)terminates alarmOn(Clock). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',53). /* terminated(happens(turnOffAlarm(Agent,Clock), Time_From, Time_Until), alarmOn(Clock), []). */ % "% =================================". % [clock,time] % Initiates(StartBeeping(clock),Beeping(clock),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',57). % From E: % % initiates( % startBeeping(Clock), % beeping(Clock), % Time). startBeeping(Clock)initiates beeping(Clock). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',57). /* initiated(happens(startBeeping(Clock), Time_From, Time_Until), beeping(Clock), []). */ % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',59). % [agent,clock,time] % Terminates(TurnOffAlarm(agent,clock),Beeping(clock),time). % From E: % % terminates( % turnOffAlarm(Agent,Clock), % beeping(Clock), % Time). turnOffAlarm(Agent, Clock)terminates beeping(Clock). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',59). /* terminated(happens(turnOffAlarm(Agent,Clock), Time_From, Time_Until), beeping(Clock), []). */ % "% =================================". %; Delta % [clock,time] % HoldsAt(AlarmTime(clock,time),time) & % HoldsAt(AlarmOn(clock),time) -> % Happens(StartBeeping(clock),time). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',64). % From E: % % '->'( % ','( % holds_at( % alarmTime(Clock,Time), % Time), % holds_at( % alarmOn(Clock), % Time)), % startBeeping(Clock)). startBeeping(Clock)if alarmTime(Clock, Time)at Time, alarmOn(Clock)at Time. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',64). /* l_events(happens(startBeeping(Clock),Time,Time), [ holds(alarmTime(Clock,Time),Time), holds(alarmOn(Clock),Time) ]). */ % "% =================================". % Happens(SetAlarmTime(Nathan,Clock,2),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',68). % From E: % % happens( % setAlarmTime(nathan,clock,2), % t+0). observe setAlarmTime(nathan, clock, 2)at t+0. % observe([setAlarmTime(nathan,clock,2)],t+0). % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',70). % Happens(TurnOnAlarm(Nathan,Clock),1). % From E: % % happens( % turnOnAlarm(nathan,clock), % t+1). observe turnOnAlarm(nathan, clock)at t+1. % observe([turnOnAlarm(nathan,clock)],t+1). % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',72). %; Psi % [clock,time1,time2,time] % HoldsAt(AlarmTime(clock,time1),time) & % HoldsAt(AlarmTime(clock,time2),time) -> % time1=time2. :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',74). % From E: % % '->'( % ','( % holds_at( % alarmTime(Clock,Time1), % Time), % holds_at( % alarmTime(Clock,Time2), % Time)), % equals(Time1,Time2)). if alarmTime(Clock, Time1)at Time, alarmTime(Clock, Time2)at Time then equals(Time1, Time2). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',74). /* reactive_rule([ holds(alarmTime(Clock,Time1),Time), holds(alarmTime(Clock,Time2),Time) ], [equals(Time1,Time2)]). */ % "% =================================". %; Gamma :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',81). % !HoldsAt(AlarmOn(Clock),0). % From E: % % initially( % neg( % alarmOn(clock))). initially not alarmOn(clock). % initial_state([not(alarmOn(clock))]). % "% =================================". % !HoldsAt(Beeping(Clock),0). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',81). % From E: % % initially( % neg( % beeping(clock))). initially not beeping(clock). % initial_state([not(beeping(clock))]). % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',83). % HoldsAt(AlarmTime(Clock,3),0). % From E: % % initially( % alarmTime(clock,3)). initially alarmTime(clock, 3). % initial_state([alarmTime(clock,3)]). % "% =================================". :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',85). % completion Happens % From E: % % completion(happens). completion(happens). :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',87). % range time 0 3 % From E: % % range(time,0,3). range(time,0,3). % range offset 1 1 :-was_s_l('/pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e',87). % From E: % % range(offset,1,1). range(offset,1,1). %; End of file. % translate: ending File: /pack/logicmoo_ec/ext/ec_sources/examples/Mueller2006/Chapter4/AlarmClock.e.lps