1:-include(library('ec_planner/ec_test_incl')).    2:-expects_dialect(pfc).    3 %  loading(always,'examples/Mueller2006/Chapter10/MovingNewspaperAndBox.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 object
   28==> sort(object).
   29
   30% sort agent: object
   31==> subsort(agent,object).
   32
   33% sort physobj: object
   34==> subsort(physobj,object).
   35
   36% sort room: object
   37==> subsort(room,object).
   38
   39% fluent IN(object,object)
   40 %  fluent(in(object,object)).
   41==> mpred_prop(in(object,object),fluent).
   42==> meta_argtypes(in(object,object)).
   43
   44% fluent INROOM(object,room)
   45 %  fluent(inroom(object,room)).
   46==> mpred_prop(inroom(object,room),fluent).
   47==> meta_argtypes(inroom(object,room)).
   48
   49% noninertial INROOM
   50==> noninertial(inroom).
   51
   52% event MOVE(agent,object,object,object)
   53 %  event(move(agent,object,object,object)).
   54==> mpred_prop(move(agent,object,object,object),event).
   55==> meta_argtypes(move(agent,object,object,object)).
   56
   57% agent Lisa
   58==> t(agent,lisa).
   59
   60% physobj Box, Newspaper
   61==> t(physobj,box).
   62==> t(physobj,newspaper).
   63
   64% room Kitchen, LivingRoom
   65==> t(room,kitchen).
   66==> t(room,livingRoom).
   67%; Sigma
   68%; RS10
   69% [agent,physobj1,physobj2,room,time]
   70% HoldsAt(IN(agent,room),time) &
   71% HoldsAt(IN(physobj1,room),time) &
   72% HoldsAt(INROOM(physobj2,room),time) ->
   73% Initiates(MOVE(agent,physobj1,room,physobj2),IN(physobj1,physobj2),time).
   74axiom(initiates(move(Agent, Physobj1, Room, Physobj2), in(Physobj1, Physobj2), Time),
   75   
   76    [ holds_at(in(Agent, Room), Time),
   77      holds_at(in(Physobj1, Room), Time),
   78      holds_at(inroom(Physobj2, Room), Time)
   79    ]).
   80
   81
   82% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:46
   83%; RS11
   84% [agent,physobj1,physobj2,room,time]
   85% HoldsAt(IN(agent,room),time) &
   86% HoldsAt(IN(physobj1,room),time) &
   87% HoldsAt(INROOM(physobj2,room),time) ->
   88% Terminates(MOVE(agent,physobj1,room,physobj2),IN(physobj1,room),time).
   89% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:51
   90axiom(terminates(move(Agent, Physobj1, Room, Physobj2), in(Physobj1, Room), Time),
   91   
   92    [ holds_at(in(Agent, Room), Time),
   93      holds_at(in(Physobj1, Room), Time),
   94      holds_at(inroom(Physobj2, Room), Time)
   95    ]).
   96
   97
   98% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:53
   99%; RS12
  100% [agent,physobj1,physobj2,room,time]
  101% HoldsAt(IN(agent,room),time) ->
  102% Initiates(MOVE(agent,physobj1,physobj2,room),IN(physobj1,room),time).
  103% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:56
  104axiom(initiates(move(Agent, Physobj1, Physobj2, Room), in(Physobj1, Room), Time),
  105    [holds_at(in(Agent, Room), Time)]).
  106
  107
  108% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:58
  109%; RS13
  110% [agent,physobj1,physobj2,room,time]
  111% HoldsAt(IN(agent,room),time) ->
  112% Terminates(MOVE(agent,physobj1,physobj2,room),IN(physobj1,physobj2),time).
  113% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:61
  114axiom(terminates(move(Agent, Physobj1, Physobj2, Room), in(Physobj1, Physobj2), Time),
  115    [holds_at(in(Agent, Room), Time)]).
  116
  117
  118% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:63
  119%; RS14
  120% [agent,room1,room2,time]
  121% HoldsAt(IN(agent,room1),time) ->
  122% Initiates(MOVE(agent,agent,room1,room2),IN(agent,room2),time).
  123% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:66
  124axiom(initiates(move(Agent, Agent, Room1, Room2), in(Agent, Room2), Time),
  125    [holds_at(in(Agent, Room1), Time)]).
  126
  127
  128% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:68
  129%; RS15
  130% [agent,room1,room2,time]
  131% HoldsAt(IN(agent,room1),time) ->
  132% Terminates(MOVE(agent,agent,room1,room2),IN(agent,room1),time).
  133% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:71
  134axiom(terminates(move(Agent, Agent, Room1, Room2), in(Agent, Room1), Time),
  135    [holds_at(in(Agent, Room1), Time)]).
  136
  137
  138% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:73
  139%; RS16
  140% [agent,physobj,room,time]
  141% HoldsAt(IN(agent,room),time) &
  142% HoldsAt(IN(physobj,room),time) ->
  143% Initiates(MOVE(agent,physobj,room,agent),IN(physobj,agent),time).
  144% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:77
  145axiom(initiates(move(Agent, Physobj, Room, Agent), in(Physobj, Agent), Time),
  146   
  147    [ holds_at(in(Agent, Room), Time),
  148      holds_at(in(Physobj, Room), Time)
  149    ]).
  150
  151
  152% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:79
  153%; RS17
  154% [agent,physobj,room,time]
  155% HoldsAt(IN(agent,room),time) &
  156% HoldsAt(IN(physobj,room),time) ->
  157% Terminates(MOVE(agent,physobj,room,agent),IN(physobj,room),time).
  158% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:83
  159axiom(terminates(move(Agent, Physobj, Room, Agent), in(Physobj, Room), Time),
  160   
  161    [ holds_at(in(Agent, Room), Time),
  162      holds_at(in(Physobj, Room), Time)
  163    ]).
  164
  165
  166% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:85
  167%; RS18
  168% [agent,physobj,room,time]
  169% HoldsAt(IN(physobj,agent),time) &
  170% HoldsAt(IN(agent,room),time) ->
  171% Initiates(MOVE(agent,physobj,agent,room),IN(physobj,room),time).
  172% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:89
  173axiom(initiates(move(Agent, Physobj, Agent, Room), in(Physobj, Room), Time),
  174   
  175    [ holds_at(in(Physobj, Agent), Time),
  176      holds_at(in(Agent, Room), Time)
  177    ]).
  178
  179
  180% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:91
  181%; RS19
  182% [agent,physobj,room,time]
  183% HoldsAt(IN(physobj,agent),time) &
  184% HoldsAt(IN(agent,room),time) ->
  185% Terminates(MOVE(agent,physobj,agent,room),IN(physobj,agent),time).
  186% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:95
  187axiom(terminates(move(Agent, Physobj, Agent, Room), in(Physobj, Agent), Time),
  188   
  189    [ holds_at(in(Physobj, Agent), Time),
  190      holds_at(in(Agent, Room), Time)
  191    ]).
  192
  193
  194% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:97
  195%; Delta
  196
  197
  198% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:99
  199% Happens(MOVE(Lisa,Newspaper,LivingRoom,Box),0).
  200axiom(happens(move(lisa, newspaper, livingRoom, box), t),
  201    [is_time(0)]).
  202
  203
  204% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:100
  205% Happens(MOVE(Lisa,Box,LivingRoom,Lisa),1).
  206axiom(happens(move(lisa, box, livingRoom, lisa), start),
  207    [is_time(1), b(t, start), ignore(t+1=start)]).
  208
  209
  210% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:101
  211% Happens(MOVE(Lisa,Lisa,LivingRoom,Kitchen),2).
  212axiom(happens(move(lisa, lisa, livingRoom, kitchen), t2),
  213    [is_time(2), b(t, t2), ignore(t+2=t2)]).
  214
  215
  216% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:102
  217% Happens(MOVE(Lisa,Box,Lisa,Kitchen),3).
  218axiom(happens(move(lisa, box, lisa, kitchen), t3),
  219    [is_time(3), b(t, t3), ignore(t+3=t3)]).
  220
  221
  222% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:103
  223% Happens(MOVE(Lisa,Lisa,Kitchen,LivingRoom),4).
  224axiom(happens(move(lisa, lisa, kitchen, livingRoom), t4),
  225    [is_time(4), b(t, t4), ignore(t+4=t4)]).
  226
  227
  228% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:105
  229%; Psi
  230%; RS1
  231% [object,time]
  232 
  233% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:108
  234% !HoldsAt(IN(object,object),time).
  235 %  not(holds_at(in(Object,Object),Time)).
  236axiom(not(holds_at(in(In_Param, In_Param), Time2)),
  237    []).
  238
  239
  240% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:110
  241%; RS2
  242% [object1,object2,time]
  243% HoldsAt(IN(object1,object2),time) ->
  244% !HoldsAt(IN(object2,object1),time).
  245% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:113
  246axiom(not(holds_at(in(Object2, Object1), Time)),
  247    [holds_at(in(Object1, Object2), Time)]).
  248
  249
  250% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:115
  251%; RS3
  252% [object1,object2,object3,time]
  253% HoldsAt(IN(object1,object2),time) &
  254% HoldsAt(IN(object2,object3),time) ->
  255% !HoldsAt(IN(object1,object3),time).
  256% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:119
  257axiom(not(holds_at(in(Object1, Object3), Time)),
  258   
  259    [ holds_at(in(Object1, Object2), Time),
  260      holds_at(in(Object2, Object3), Time)
  261    ]).
  262
  263
  264% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:121
  265%; RS4
  266% [object,object1,object2,time]
  267% HoldsAt(IN(object,object1),time) &
  268% HoldsAt(IN(object,object2),time) ->
  269% object1=object2.
  270% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:125
  271axiom(Object1=Object2,
  272   
  273    [ holds_at(in(Object, Object1), Time),
  274      holds_at(in(Object, Object2), Time)
  275    ]).
  276
  277
  278% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:127
  279%; RS7
  280% [object,room,time]
  281% HoldsAt(IN(object,room),time) ->
  282% HoldsAt(INROOM(object,room),time).
  283% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:130
  284axiom(holds_at(inroom(Object, Room), Time),
  285    [holds_at(in(Object, Room), Time)]).
  286
  287
  288% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:132
  289%; RS8
  290% [object1,object2,room,time]
  291% HoldsAt(IN(object1,object2),time) &
  292% HoldsAt(INROOM(object2,room),time) ->
  293% HoldsAt(INROOM(object1,room),time).
  294% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:136
  295axiom(holds_at(inroom(Object1, Room), Time),
  296   
  297    [ holds_at(in(Object1, Object2), Time),
  298      holds_at(inroom(Object2, Room), Time)
  299    ]).
  300
  301
  302% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:138
  303%; RS9
  304% [object,room1,room2,time]
  305% HoldsAt(INROOM(object,room1),time) &
  306% HoldsAt(INROOM(object,room2),time) ->
  307% room1=room2.
  308% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:142
  309axiom(Room1=Room2,
  310   
  311    [ holds_at(inroom(Object, Room1), Time),
  312      holds_at(inroom(Object, Room2), Time)
  313    ]).
  314
  315
  316% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:144
  317%; Gamma
  318
  319
  320% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:146
  321% HoldsAt(IN(Lisa,LivingRoom),0).
  322axiom(initially(in(lisa, livingRoom)),
  323    []).
  324
  325
  326% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:147
  327% HoldsAt(IN(Newspaper,LivingRoom),0).
  328axiom(initially(in(newspaper, livingRoom)),
  329    []).
  330
  331
  332% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:148
  333% HoldsAt(IN(Box,LivingRoom),0).
  334axiom(initially(in(box, livingRoom)),
  335    []).
  336
  337
  338% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:150
  339%; added:
  340% [room1,room2,time]
  341 % !HoldsAt(INROOM(room1,room2),time).
  342 %  not(holds_at(inroom(Room1,Room2),Time)).
  343% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:151
  344axiom(not(holds_at(inroom(Inroom_Param, Inroom_Ret), Time3)),
  345    []).
  346
  347
  348% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:152
  349% [room,object,time]
  350 % !HoldsAt(IN(room,object),time).
  351 %  not(holds_at(in(Room,Object),Time)).
  352axiom(not(holds_at(in(In_Param, In_Ret), Time3)),
  353    []).
  354
  355
  356% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:154
  357%; entailed:
  358%; HoldsAt(IN(Lisa,LivingRoom),5).
  359%; HoldsAt(IN(Box,Kitchen),5).
  360%; HoldsAt(INROOM(Newspaper,Kitchen),5).
  361
  362% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:159
  363% completion Happens
  364% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:160
  365==> completion(happens).
  366
  367% range time 0 5
  368% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:162
  369==> range(time,0,5).
  370
  371% range offset 1 1
  372% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/MovingNewspaperAndBox.e:163
  373==> range(offset,1,1).
  374%; End of file.