1:-include(library('ec_planner/ec_test_incl')).    2:-expects_dialect(pfc).    3 %  loading(always,'examples/Mueller2006/Chapter4/AlarmClock.e').
    4%;
    5%; Copyright (c) 2005 IBM Corporation and others.
    6%; All rights reserved. This program and the accompanying materials
    7%; are made available under the terms of the Common Public License v1.0
    8%; which accompanies this distribution, and is available at
    9%; http://www.eclipse.org/legal/cpl-v10.html
   10%;
   11%; Contributors:
   12%; IBM - Initial implementation
   13%;
   14%; @book{Mueller:2006,
   15%;   author = "Erik T. Mueller",
   16%;   year = "2006",
   17%;   title = "Commonsense Reasoning",
   18%;   address = "San Francisco",
   19%;   publisher = "Morgan Kaufmann/Elsevier",
   20%; }
   21%;
   22
   23% load foundations/Root.e
   24
   25% load foundations/EC.e
   26
   27% sort agent
   28==> sort(agent).
   29
   30% sort clock
   31==> sort(clock).
   32
   33% fluent Beeping(clock)
   34 %  fluent(beeping(clock)).
   35==> mpred_prop(beeping(clock),fluent).
   36==> meta_argtypes(beeping(clock)).
   37
   38% fluent AlarmTime(clock,time)
   39 %  fluent(alarmTime(clock,time)).
   40==> mpred_prop(alarmTime(clock,time),fluent).
   41==> meta_argtypes(alarmTime(clock,time)).
   42
   43% fluent AlarmOn(clock)
   44 %  fluent(alarmOn(clock)).
   45==> mpred_prop(alarmOn(clock),fluent).
   46==> meta_argtypes(alarmOn(clock)).
   47
   48% event SetAlarmTime(agent,clock,time)
   49 %  event(setAlarmTime(agent,clock,time)).
   50==> mpred_prop(setAlarmTime(agent,clock,time),event).
   51==> meta_argtypes(setAlarmTime(agent,clock,time)).
   52
   53% event StartBeeping(clock)
   54 %  event(startBeeping(clock)).
   55==> mpred_prop(startBeeping(clock),event).
   56==> meta_argtypes(startBeeping(clock)).
   57
   58% event TurnOnAlarm(agent,clock)
   59 %  event(turnOnAlarm(agent,clock)).
   60==> mpred_prop(turnOnAlarm(agent,clock),event).
   61==> meta_argtypes(turnOnAlarm(agent,clock)).
   62
   63% event TurnOffAlarm(agent,clock)
   64 %  event(turnOffAlarm(agent,clock)).
   65==> mpred_prop(turnOffAlarm(agent,clock),event).
   66==> meta_argtypes(turnOffAlarm(agent,clock)).
   67
   68% agent Nathan
   69==> t(agent,nathan).
   70
   71% clock Clock
   72==> t(clock,clock).
   73%; Sigma
   74% [agent,clock,time1,time2,time]
   75% HoldsAt(AlarmTime(clock,time1),time) &
   76% time1!=time2 ->
   77% Initiates(SetAlarmTime(agent,clock,time2),AlarmTime(clock,time2),time).
   78axiom(initiates(setAlarmTime(Agent, Clock, Time2), alarmTime(Clock, Time2), Time),
   79   
   80    [ holds_at(alarmTime(Clock, Time1), Time),
   81      { dif(Time1, Time2)
   82      }
   83    ]).
   84
   85
   86% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:44
   87% [agent,clock,time1,time2,time]
   88% HoldsAt(AlarmTime(clock,time1),time) &
   89% time1!=time2 ->
   90% Terminates(SetAlarmTime(agent,clock,time2),AlarmTime(clock,time1),time).
   91% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:47
   92axiom(terminates(setAlarmTime(Agent, Clock, Time2), alarmTime(Clock, Time1), Time),
   93   
   94    [ holds_at(alarmTime(Clock, Time1), Time),
   95      { dif(Time1, Time2)
   96      }
   97    ]).
   98
   99
  100% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:49
  101% [agent,clock,time]
  102% Initiates(TurnOnAlarm(agent,clock),AlarmOn(clock),time).
  103% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:50
  104axiom(initiates(turnOnAlarm(Agent, Clock), alarmOn(Clock), Time),
  105    []).
  106
  107
  108% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:52
  109% [agent,clock,time]
  110% Terminates(TurnOffAlarm(agent,clock),AlarmOn(clock),time).
  111% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:53
  112axiom(terminates(turnOffAlarm(Agent, Clock), alarmOn(Clock), Time),
  113    []).
  114
  115
  116% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:55
  117% [clock,time]
  118% Initiates(StartBeeping(clock),Beeping(clock),time).
  119% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:56
  120axiom(initiates(startBeeping(Clock), beeping(Clock), Time),
  121    []).
  122
  123
  124% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:58
  125% [agent,clock,time]
  126% Terminates(TurnOffAlarm(agent,clock),Beeping(clock),time).
  127% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:59
  128axiom(terminates(turnOffAlarm(Agent, Clock), beeping(Clock), Time),
  129    []).
  130
  131
  132% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:61
  133%; Delta
  134% [clock,time]
  135% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:64
  136% HoldsAt(AlarmTime(clock,time),time) &
  137% HoldsAt(AlarmOn(clock),time) ->
  138% Happens(StartBeeping(clock),time).
  139% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:66
  140axiom(happens(startBeeping(Clock), Time),
  141   
  142    [ holds_at(alarmTime(Clock, Time), Time),
  143      holds_at(alarmOn(Clock), Time)
  144    ]).
  145
  146
  147% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:68
  148% Happens(SetAlarmTime(Nathan,Clock,2),0).
  149axiom(happens(setAlarmTime(nathan, clock, 2), t),
  150    [is_time(0)]).
  151
  152
  153% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:69
  154% Happens(TurnOnAlarm(Nathan,Clock),1).
  155axiom(happens(turnOnAlarm(nathan, clock), start),
  156    [is_time(1), b(t, start), ignore(t+1=start)]).
  157
  158
  159% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:71
  160%; Psi
  161% [clock,time1,time2,time]
  162% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:74
  163% HoldsAt(AlarmTime(clock,time1),time) &
  164% HoldsAt(AlarmTime(clock,time2),time) ->
  165% time1=time2.
  166% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:76
  167axiom(Time1=Time2,
  168   
  169    [ holds_at(alarmTime(Clock, Time1), Time),
  170      holds_at(alarmTime(Clock, Time2), Time)
  171    ]).
  172
  173
  174% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:78
  175%; Gamma
  176
  177
  178% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:80
  179% !HoldsAt(AlarmOn(Clock),0).
  180 %  not(initially(alarmOn(clock))).
  181axiom(not(initially(alarmOn(clock))),
  182    []).
  183
  184
  185% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:81
  186% !HoldsAt(Beeping(Clock),0).
  187 %  not(initially(beeping(clock))).
  188axiom(not(initially(beeping(clock))),
  189    []).
  190
  191
  192% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:82
  193% HoldsAt(AlarmTime(Clock,3),0).
  194axiom(initially(alarmTime(clock, 3)),
  195    []).
  196
  197% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:84
  198% completion Happens
  199% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:85
  200==> completion(happens).
  201
  202% range time 0 3
  203% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:87
  204==> range(time,0,3).
  205
  206% range offset 1 1
  207% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter4/AlarmClock.e:88
  208==> range(offset,1,1).
  209%; End of file.