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