1:-include(library('ec_planner/ec_test_incl')).    2:-expects_dialect(pfc).    3 %  loading(always,'examples/Mueller2006/Chapter3/Telephone2.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 phone
   31==> sort(phone).
   32
   33% agent Agent1, Agent2
   34==> t(agent,agent1).
   35==> t(agent,agent2).
   36
   37% phone Phone1, Phone2
   38==> t(phone,phone1).
   39==> t(phone,phone2).
   40
   41% fluent Ringing(phone,phone)
   42 %  fluent(ringing(phone,phone)).
   43==> mpred_prop(ringing(phone,phone),fluent).
   44==> meta_argtypes(ringing(phone,phone)).
   45
   46% fluent DialTone(phone)
   47 %  fluent(dialTone(phone)).
   48==> mpred_prop(dialTone(phone),fluent).
   49==> meta_argtypes(dialTone(phone)).
   50
   51% fluent BusySignal(phone)
   52 %  fluent(busySignal(phone)).
   53==> mpred_prop(busySignal(phone),fluent).
   54==> meta_argtypes(busySignal(phone)).
   55
   56% fluent Idle(phone)
   57 %  fluent(idle(phone)).
   58==> mpred_prop(idle(phone),fluent).
   59==> meta_argtypes(idle(phone)).
   60
   61% fluent Connected(phone,phone)
   62 %  fluent(connected(phone,phone)).
   63==> mpred_prop(connected(phone,phone),fluent).
   64==> meta_argtypes(connected(phone,phone)).
   65
   66% fluent Disconnected(phone)
   67 %  fluent(disconnected(phone)).
   68==> mpred_prop(disconnected(phone),fluent).
   69==> meta_argtypes(disconnected(phone)).
   70
   71% event PickUp(agent,phone)
   72 %  event(pickUp(agent,phone)).
   73==> mpred_prop(pickUp(agent,phone),event).
   74==> meta_argtypes(pickUp(agent,phone)).
   75
   76% event SetDown(agent,phone)
   77 %  event(setDown(agent,phone)).
   78==> mpred_prop(setDown(agent,phone),event).
   79==> meta_argtypes(setDown(agent,phone)).
   80
   81% event Dial(agent,phone,phone)
   82 %  event(dial(agent,phone,phone)).
   83==> mpred_prop(dial(agent,phone,phone),event).
   84==> meta_argtypes(dial(agent,phone,phone)).
   85
   86
   87% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:39
   88%; Sigma
   89% [agent,phone,time]
   90% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:42
   91% HoldsAt(Idle(phone),time) ->
   92% Initiates(PickUp(agent,phone),DialTone(phone),time).
   93% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:43
   94axiom(initiates(pickUp(Agent, Phone), dialTone(Phone), Time),
   95    [holds_at(idle(Phone), Time)]).
   96
   97
   98% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:45
   99% [agent,phone,time]
  100% HoldsAt(Idle(phone),time) ->
  101% Terminates(PickUp(agent,phone),Idle(phone),time).
  102% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:47
  103axiom(terminates(pickUp(Agent, Phone), idle(Phone), Time),
  104    [holds_at(idle(Phone), Time)]).
  105
  106
  107% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:49
  108% [agent,phone,time]
  109% HoldsAt(DialTone(phone),time) ->
  110% Initiates(SetDown(agent,phone),Idle(phone),time).
  111% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:51
  112axiom(initiates(setDown(Agent, Phone), idle(Phone), Time),
  113    [holds_at(dialTone(Phone), Time)]).
  114
  115
  116% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:53
  117% [agent,phone,time]
  118% HoldsAt(DialTone(phone),time) ->
  119% Terminates(SetDown(agent,phone),DialTone(phone),time).
  120% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:55
  121axiom(terminates(setDown(Agent, Phone), dialTone(Phone), Time),
  122    [holds_at(dialTone(Phone), Time)]).
  123
  124
  125% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:57
  126% [agent,phone1,phone2,time]
  127% HoldsAt(DialTone(phone1),time) &
  128% HoldsAt(Idle(phone2),time) ->
  129% Initiates(Dial(agent,phone1,phone2),Ringing(phone1,phone2),time).
  130% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:60
  131axiom(initiates(dial(Agent, Phone1, Phone2), ringing(Phone1, Phone2), Time),
  132   
  133    [ holds_at(dialTone(Phone1), Time),
  134      holds_at(idle(Phone2), Time)
  135    ]).
  136
  137
  138% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:62
  139% [agent,phone1,phone2,time]
  140% HoldsAt(DialTone(phone1),time) &
  141% HoldsAt(Idle(phone2),time) ->
  142% Terminates(Dial(agent,phone1,phone2),DialTone(phone1),time).
  143% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:65
  144axiom(terminates(dial(Agent, Phone1, Phone2), dialTone(Phone1), Time),
  145   
  146    [ holds_at(dialTone(Phone1), Time),
  147      holds_at(idle(Phone2), Time)
  148    ]).
  149
  150
  151% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:67
  152% [agent,phone1,phone2,time]
  153% HoldsAt(DialTone(phone1),time) &
  154% HoldsAt(Idle(phone2),time) ->
  155% Terminates(Dial(agent,phone1,phone2),Idle(phone2),time).
  156% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:70
  157axiom(terminates(dial(Agent, Phone1, Phone2), idle(Phone2), Time),
  158   
  159    [ holds_at(dialTone(Phone1), Time),
  160      holds_at(idle(Phone2), Time)
  161    ]).
  162
  163
  164% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:72
  165% [agent,phone1,phone2,time]
  166% HoldsAt(DialTone(phone1),time) &
  167% !HoldsAt(Idle(phone2),time) ->
  168% Initiates(Dial(agent,phone1,phone2),BusySignal(phone1),time).
  169% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:75
  170axiom(initiates(dial(Agent, Phone1, Phone2), busySignal(Phone1), Time),
  171   
  172    [ holds_at(dialTone(Phone1), Time),
  173      not(holds_at(idle(Phone2), Time))
  174    ]).
  175
  176
  177% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:77
  178% [agent,phone1,phone2,time]
  179% HoldsAt(DialTone(phone1),time) &
  180% !HoldsAt(Idle(phone2),time) ->
  181% Terminates(Dial(agent,phone1,phone2),DialTone(phone1),time).
  182% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:80
  183axiom(terminates(dial(Agent, Phone1, Phone2), dialTone(Phone1), Time),
  184   
  185    [ holds_at(dialTone(Phone1), Time),
  186      not(holds_at(idle(Phone2), Time))
  187    ]).
  188
  189
  190% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:82
  191% [agent,phone,time]
  192% HoldsAt(BusySignal(phone),time) ->
  193% Initiates(SetDown(agent,phone),Idle(phone),time).
  194% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:84
  195axiom(initiates(setDown(Agent, Phone), idle(Phone), Time),
  196    [holds_at(busySignal(Phone), Time)]).
  197
  198
  199% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:86
  200% [agent,phone,time]
  201% HoldsAt(BusySignal(phone),time) ->
  202% Terminates(SetDown(agent,phone),BusySignal(phone),time).
  203% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:88
  204axiom(terminates(setDown(Agent, Phone), busySignal(Phone), Time),
  205    [holds_at(busySignal(Phone), Time)]).
  206
  207
  208% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:90
  209% [agent,phone1,phone2,time]
  210% HoldsAt(Ringing(phone1,phone2),time) ->
  211% Initiates(SetDown(agent,phone1),Idle(phone1),time).
  212% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:92
  213axiom(initiates(setDown(Agent, Phone1), idle(Phone1), Time),
  214    [holds_at(ringing(Phone1, Phone2), Time)]).
  215
  216
  217% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:94
  218% [agent,phone1,phone2,time]
  219% HoldsAt(Ringing(phone1,phone2),time) ->
  220% Initiates(SetDown(agent,phone1),Idle(phone2),time).
  221% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:96
  222axiom(initiates(setDown(Agent, Phone1), idle(Phone2), Time),
  223    [holds_at(ringing(Phone1, Phone2), Time)]).
  224
  225
  226% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:98
  227% [agent,phone1,phone2,time]
  228% HoldsAt(Ringing(phone1,phone2),time) ->
  229% Terminates(SetDown(agent,phone1),Ringing(phone1,phone2),time).
  230% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:100
  231axiom(terminates(setDown(Agent, Phone1), ringing(Phone1, Phone2), Time),
  232    [holds_at(ringing(Phone1, Phone2), Time)]).
  233
  234
  235% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:102
  236% [agent,phone1,phone2,time]
  237% HoldsAt(Ringing(phone1,phone2),time) ->
  238% Initiates(PickUp(agent,phone2),Connected(phone1,phone2),time).
  239% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:104
  240axiom(initiates(pickUp(Agent, Phone2), connected(Phone1, Phone2), Time),
  241    [holds_at(ringing(Phone1, Phone2), Time)]).
  242
  243
  244% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:106
  245% [agent,phone1,phone2,time]
  246% HoldsAt(Ringing(phone1,phone2),time) ->
  247% Terminates(PickUp(agent,phone2),Ringing(phone1,phone2),time).
  248% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:108
  249axiom(terminates(pickUp(Agent, Phone2), ringing(Phone1, Phone2), Time),
  250    [holds_at(ringing(Phone1, Phone2), Time)]).
  251
  252
  253% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:110
  254% [agent,phone1,phone2,time]
  255% HoldsAt(Connected(phone1,phone2),time) ->
  256% Initiates(SetDown(agent,phone1),Idle(phone1),time).
  257% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:112
  258axiom(initiates(setDown(Agent, Phone1), idle(Phone1), Time),
  259    [holds_at(connected(Phone1, Phone2), Time)]).
  260
  261
  262% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:114
  263% [agent,phone1,phone2,time]
  264% HoldsAt(Connected(phone1,phone2),time) ->
  265% Initiates(SetDown(agent,phone1),Disconnected(phone2),time).
  266% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:116
  267axiom(initiates(setDown(Agent, Phone1), disconnected(Phone2), Time),
  268    [holds_at(connected(Phone1, Phone2), Time)]).
  269
  270
  271% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:118
  272% [agent,phone1,phone2,time]
  273% HoldsAt(Connected(phone1,phone2),time) ->
  274% Terminates(SetDown(agent,phone1),Connected(phone1,phone2),time).
  275% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:120
  276axiom(terminates(setDown(Agent, Phone1), connected(Phone1, Phone2), Time),
  277    [holds_at(connected(Phone1, Phone2), Time)]).
  278
  279
  280% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:122
  281% [agent,phone1,phone2,time]
  282% HoldsAt(Connected(phone1,phone2),time) ->
  283% Initiates(SetDown(agent,phone2),Idle(phone2),time).
  284% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:124
  285axiom(initiates(setDown(Agent, Phone2), idle(Phone2), Time),
  286    [holds_at(connected(Phone1, Phone2), Time)]).
  287
  288
  289% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:126
  290% [agent,phone1,phone2,time]
  291% HoldsAt(Connected(phone1,phone2),time) ->
  292% Initiates(SetDown(agent,phone2),Disconnected(phone1),time).
  293% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:128
  294axiom(initiates(setDown(Agent, Phone2), disconnected(Phone1), Time),
  295    [holds_at(connected(Phone1, Phone2), Time)]).
  296
  297
  298% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:130
  299% [agent,phone1,phone2,time]
  300% HoldsAt(Connected(phone1,phone2),time) ->
  301% Terminates(SetDown(agent,phone2),Connected(phone1,phone2),time).
  302% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:132
  303axiom(terminates(setDown(Agent, Phone2), connected(Phone1, Phone2), Time),
  304    [holds_at(connected(Phone1, Phone2), Time)]).
  305
  306
  307% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:134
  308% [agent,phone,time]
  309% HoldsAt(Disconnected(phone),time) ->
  310% Initiates(SetDown(agent,phone),Idle(phone),time).
  311% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:136
  312axiom(initiates(setDown(Agent, Phone), idle(Phone), Time),
  313    [holds_at(disconnected(Phone), Time)]).
  314
  315
  316% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:138
  317% [agent,phone,time]
  318% HoldsAt(Disconnected(phone),time) ->
  319% Terminates(SetDown(agent,phone),Disconnected(phone),time).
  320% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:140
  321axiom(terminates(setDown(Agent, Phone), disconnected(Phone), Time),
  322    [holds_at(disconnected(Phone), Time)]).
  323
  324
  325% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:142
  326%; Delta
  327
  328
  329% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:144
  330% Happens(PickUp(Agent1,Phone1),0).
  331axiom(happens(pickUp(agent1, phone1), t),
  332    [is_time(0)]).
  333
  334
  335% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:145
  336% Happens(Dial(Agent1,Phone1,Phone2),1).
  337axiom(happens(dial(agent1, phone1, phone2), start),
  338    [is_time(1), b(t, start), ignore(t+1=start)]).
  339
  340
  341% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:146
  342% Happens(PickUp(Agent2,Phone2),2).
  343axiom(happens(pickUp(agent2, phone2), t2),
  344    [is_time(2), b(t, t2), ignore(t+2=t2)]).
  345
  346
  347% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:148
  348%; Psi
  349% [phone,time]
  350% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:151
  351% !HoldsAt(Ringing(phone,phone),time).
  352 %  not(holds_at(ringing(Phone,Phone),Time)).
  353axiom(not(holds_at(ringing(Ringing_Param, Ringing_Param), Time2)),
  354    []).
  355
  356
  357% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:153
  358% [phone1,phone2,time]
  359% HoldsAt(Ringing(phone1,phone2),time) &
  360% phone1!=phone2 ->
  361% !HoldsAt(Ringing(phone2,phone1),time).
  362% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:156
  363axiom(not(holds_at(ringing(Phone2, Phone1), Time)),
  364   
  365    [ holds_at(ringing(Phone1, Phone2), Time),
  366      dif(Phone1, Phone2)
  367    ]).
  368
  369
  370% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:158
  371% [phone,time]
  372% !HoldsAt(Connected(phone,phone),time).
  373 %  not(holds_at(connected(Phone,Phone),Time)).
  374% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:159
  375axiom(not(holds_at(connected(Connected_Param, Connected_Param), Time2)),
  376    []).
  377
  378
  379% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:161
  380% [phone1,phone2,time]
  381% HoldsAt(Connected(phone1,phone2),time) &
  382% phone1!=phone2 ->
  383% !HoldsAt(Connected(phone2,phone1),time).
  384% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:164
  385axiom(not(holds_at(connected(Phone2, Phone1), Time)),
  386   
  387    [ holds_at(connected(Phone1, Phone2), Time),
  388      dif(Phone1, Phone2)
  389    ]).
  390
  391% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:166
  392% mutex Idle, DialTone, BusySignal, Disconnected
  393% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:167
  394mutex(idle).
  395mutex(dialTone).
  396mutex(busySignal).
  397mutex(disconnected).
  398
  399
  400% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:168
  401% [phone1,phone2,time]
  402% HoldsAt(Idle(phone1),time) ->
  403% !HoldsAt(Ringing(phone1,phone2),time) &
  404% !HoldsAt(Connected(phone1,phone2),time).
  405
  406 /*   if(holds_at(idle(Phone1), Time),
  407          (not(holds_at(ringing(Phone1, Phone2), Time)), not(holds_at(connected(Phone1, Phone2), Time)))).
  408 */
  409
  410 /*  not(holds_at(idle(Ringing_Param), Time3)) :-
  411       (   holds_at(ringing(Ringing_Param, Ringing_Ret), Time3)
  412       ;   holds_at(connected(Ringing_Param, Ringing_Ret), Time3)
  413       ).
  414 */
  415% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:171
  416axiom(not(holds_at(idle(Ringing_Param), Time3)),
  417    [holds_at(ringing(Ringing_Param, Ringing_Ret), Time3)]).
  418axiom(not(holds_at(idle(Ringing_Param), Time3)),
  419    [holds_at(connected(Ringing_Param, Ringing_Ret), Time3)]).
  420
  421 /*  not(holds_at(ringing(Ringing_Param7, Ringing_Ret8), Time6)) :-
  422       holds_at(idle(Ringing_Param7), Time6).
  423 */
  424axiom(not(holds_at(ringing(Ringing_Param7, Ringing_Ret8), Time6)),
  425    [holds_at(idle(Ringing_Param7), Time6)]).
  426
  427 /*  not(holds_at(connected(Connected_Param, Connected_Ret), Time9)) :-
  428       holds_at(idle(Connected_Param), Time9).
  429 */
  430axiom(not(holds_at(connected(Connected_Param, Connected_Ret), Time9)),
  431    [holds_at(idle(Connected_Param), Time9)]).
  432
  433
  434% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:173
  435%; etc.
  436%; Gamma
  437% [phone]
  438 
  439% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:177
  440% HoldsAt(Idle(phone),0).
  441axiom(initially(idle(Phone)),
  442    []).
  443
  444% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:179
  445% completion Happens
  446% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:180
  447==> completion(happens).
  448
  449% range time 0 3
  450% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:182
  451==> range(time,0,3).
  452
  453% range offset 1 1
  454% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter3/Telephone2.e:183
  455==> range(offset,1,1).
  456%; End of file.