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