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.