1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'ecnet/OTSpace.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%; OTSpace: object-scale topological space 15%; 16%; The OTSpace representation deals with topological space at 17%; the scale of objects such as agents (humans and animals) 18%; and physical objects. 19%; 20%; PartOf 21%; physobj is a part of object. 22 23% predicate PartOf(physobj,object) 24 % predicate(partOf(physobj,object)). 25==> mpred_prop(partOf(physobj,object),predicate). 26==> meta_argtypes(partOf(physobj,object)). 27 28 29% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:22 30%; A state constraint says that if a physical object 31%; is part of an object, the location of the 32%; physical object is the same as the location of the object: 33% [physobj,object,location,time] 34% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:26 35% PartOf(physobj,object) & 36% HoldsAt(At(object,location),time) -> 37% HoldsAt(At(physobj,location),time). 38% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:28 39axiom(holds_at(at(Physobj, Location), Time), 40 41 [ partOf(Physobj, Object), 42 holds_at(at(Object, Location), Time) 43 ]). 44 45 46% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:30 47%; rolling a snowball bigger 48%; agent rolls stuff1 along stuff2. 49 50% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:33 51% event RollAlong(agent,stuff,stuff) 52 % event(rollAlong(agent,stuff,stuff)). 53% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:34 54==> mpred_prop(rollAlong(agent,stuff,stuff),event). 55==> meta_argtypes(rollAlong(agent,stuff,stuff)). 56 57 58% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:34 59%; The diameter of ball is diameter. 60 61% fluent Diameter(ball,diameter) 62 % fluent(diameter(ball,diameter)). 63% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:36 64==> mpred_prop(diameter(ball,diameter),fluent). 65==> meta_argtypes(diameter(ball,diameter)). 66 67 68% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:37 69%; A state constraint says that a ball has a unique diameter: 70% [ball,diameter1,diameter2,time] 71% HoldsAt(Diameter(ball,diameter1),time) & 72% HoldsAt(Diameter(ball,diameter2),time) -> 73% diameter1=diameter2. 74% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:41 75axiom(Diameter1=Diameter2, 76 77 [ holds_at(diameter(Ball, Diameter1), Time), 78 holds_at(diameter(Ball, Diameter2), Time) 79 ]). 80 81 82% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:43 83%; Effect axiom state that if an agent rolls some snow along 84%; some other snow, the diameter of the first snow will increase: 85% [agent,snow1,snow2,diameter1,diameter2,time] 86% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:46 87% HoldsAt(Diameter(snow1,diameter1),time) & 88% diameter2 = diameter1+1 -> 89% Initiates(RollAlong(agent,snow1,snow2), 90% Diameter(snow1,diameter2), 91% time). 92% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:50 93axiom(initiates(rollAlong(Agent, Snow1, Snow2), diameter(Snow1, Diameter2), Time), 94 95 [ holds_at(diameter(Snow1, Diameter1), Time), 96 equals(Diameter2, Diameter1+1) 97 ]). 98 99 100% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:52 101% [agent,snow1,snow2,diameter1,time] 102% HoldsAt(Diameter(snow1,diameter1),time) -> 103% Terminates(RollAlong(agent,snow1,snow2), 104% Diameter(snow1,diameter1), 105% time). 106% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:56 107axiom(terminates(rollAlong(Agent, Snow1, Snow2), diameter(Snow1, Diameter1), Time), 108 [holds_at(diameter(Snow1, Diameter1), Time)]). 109 110 111% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:58 112%; A precondition axiom states that 113%; for an agent to roll some snow along some other snow, 114%; there must be a location such that 115%; the agent is at the location, 116%; the first snow is at the location, and 117%; the second snow is at the location: 118%;[agent,snow1,snow2,time] 119%;Happens(RollAlong(agent,snow1,snow2),time) -> 120%;{location} 121%;HoldsAt(At(agent,location),time) & 122%;HoldsAt(At(snow1,location),time) & 123%;HoldsAt(At(snow2,location),time). 124%; motion 125%; object moves (in place). 126 127% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:74 128% event Move(object) 129 % event(move(object)). 130% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:75 131==> mpred_prop(move(object),event). 132==> meta_argtypes(move(object)). 133 134 135% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:76 136%; Holding 137%; agent is holding physobj. 138 139% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:79 140% fluent Holding(agent,physobj) 141 % fluent(holding(agent,physobj)). 142% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:80 143==> mpred_prop(holding(agent,physobj),fluent). 144==> meta_argtypes(holding(agent,physobj)). 145 146 147% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:80 148%; agent holds or picks up physobj. 149 150% event Hold(agent,physobj) 151 % event(hold(agent,physobj)). 152% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:82 153==> mpred_prop(hold(agent,physobj),event). 154==> meta_argtypes(hold(agent,physobj)). 155 156 157% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:82 158%; agent picks up some stuff1 from stuff2. 159 160% event HoldSome(agent,stuff,stuff) 161 % event(holdSome(agent,stuff,stuff)). 162% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:84 163==> mpred_prop(holdSome(agent,stuff,stuff),event). 164==> meta_argtypes(holdSome(agent,stuff,stuff)). 165 166 167% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:84 168%; agent releases or lets go of physobj. 169 170% event LetGoOf(agent,physobj) 171 % event(letGoOf(agent,physobj)). 172% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:86 173==> mpred_prop(letGoOf(agent,physobj),event). 174==> meta_argtypes(letGoOf(agent,physobj)). 175 176 177% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:87 178%; An effect axiom states that if an agent holds 179%; a physical object, the agent will be holding the 180%; physical object: 181% [agent,physobj,time] 182% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:91 183% Initiates(Hold(agent,physobj),Holding(agent,physobj),time). 184axiom(initiates(hold(Agent, Physobj), holding(Agent, Physobj), Time), 185 []). 186 187 188% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:93 189%; A precondition axiom states that 190%; for an agent to hold a physical object, 191%; there must be a location such that 192%; the agent is at the location and 193%; the physical object is at the location: 194%;[agent,physobj,time] 195%;Happens(Hold(agent,physobj),time) -> 196%;{location} 197%; HoldsAt(At(agent,location),time) & 198%; HoldsAt(At(physobj,location),time). 199%; An effect axiom states that if an agent 200%; lets go of a physical object, the agent is no longer holding 201%; the physical object: 202% [agent,physobj,time] 203% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:108 204% Terminates(LetGoOf(agent,physobj),Holding(agent,physobj),time). 205axiom(terminates(letGoOf(Agent, Physobj), holding(Agent, Physobj), Time), 206 []). 207 208 209% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:110 210%; A precondition axiom states that 211%; for an agent to let go of a physical object, 212%; the agent must be holding the physical object: 213% [agent,physobj,time] 214% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:114 215% Happens(LetGoOf(agent,physobj),time) -> 216% HoldsAt(Holding(agent,physobj),time). 217% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:115 218axiom(requires(letGoOf(Agent, Physobj), Time), 219 [holds_at(holding(Agent, Physobj), Time)]). 220 221 222% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:117 223%; A releases axiom states that if an agent holds 224%; a physical object, 225%; the physical object's location will be released 226%; from inertia: 227% [agent,physobj,location,time] 228% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:122 229% Releases(Hold(agent,physobj),At(physobj,location),time). 230axiom(releases(hold(Agent, Physobj), at(Physobj, Location), Time), 231 []). 232 233 234% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:124 235%; A state constraint says that if an agent is holding 236%; a physical object and the agent is at a location, 237%; the physical object is also at the location: 238% [agent,physobj,location,time] 239% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:128 240% HoldsAt(Holding(agent,physobj),time) & 241% HoldsAt(At(agent,location),time) -> 242% HoldsAt(At(physobj,location),time). 243% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:130 244axiom(holds_at(at(Physobj, Location), Time), 245 246 [ holds_at(holding(Agent, Physobj), Time), 247 holds_at(at(Agent, Location), Time) 248 ]). 249 250 251% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:132 252%; A releases axiom states that if an agent holds 253%; a physical object, 254%; the locations of the parts of the physical object 255%; will be released from inertia: 256% [agent,physobj1,physobj2,location,time] 257% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:137 258% PartOf(physobj1,physobj2) -> 259% Releases(Hold(agent,physobj2),At(physobj1,location),time). 260% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:138 261axiom(releases(hold(Agent, Physobj2), at(Physobj1, Location), Time), 262 [partOf(Physobj1, Physobj2)]). 263 264 265% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:140 266%; Further, if an agent holds a physical object, 267%; the locations of the physical objects of which 268%; the physical object is a part 269%; will be released from inertia: 270% [agent,physobj1,physobj2,location,time] 271% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:145 272% PartOf(physobj1,physobj2) -> 273% Releases(Hold(agent,physobj1),At(physobj2,location),time). 274% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:146 275axiom(releases(hold(Agent, Physobj1), at(Physobj2, Location), Time), 276 [partOf(Physobj1, Physobj2)]). 277 278 279% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:148 280%;[agent,physobj,location1,location2,time] 281%;(!{object} PartOf(physobj,object)) & 282%;HoldsAt(At(agent,location1),time) & 283%;location1 != location2 -> 284%;Terminates(LetGoOf(agent,physobj),At(physobj,location2),time). 285% [agent,physobj,location,time] 286% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:155 287% (!{object} PartOf(physobj,object)) & 288% HoldsAt(At(agent,location),time) -> 289% Initiates(LetGoOf(agent,physobj),At(physobj,location),time). 290% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:157 291axiom(initiates(letGoOf(Agent, Physobj), at(Physobj, Location), Time), 292 293 [ not(partOf(Physobj, Object)), 294 holds_at(at(Agent, Location), Time) 295 ]). 296 297 298% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:159 299%;[agent,physobj1,physobj2,location1,location2,time] 300%;PartOf(physobj1,physobj2) & 301%;(!{object} PartOf(physobj2,object)) & 302%;HoldsAt(At(agent,location1),time) & 303%;location1 != location2 -> 304%;Terminates(LetGoOf(agent,physobj1),At(physobj2,location2),time). 305% [agent,physobj1,physobj2,location,time] 306% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:167 307% PartOf(physobj1,physobj2) & 308% (!{object} PartOf(physobj2,object)) & 309% HoldsAt(At(agent,location),time) -> 310% Initiates(LetGoOf(agent,physobj1),At(physobj2,location),time). 311% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:170 312axiom(initiates(letGoOf(Agent, Physobj1), at(Physobj2, Location), Time), 313 314 [ partOf(Physobj1, Physobj2), 315 not(partOf(Physobj2, Object)), 316 holds_at(at(Agent, Location), Time) 317 ]). 318 319 320% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:172 321%; An effect axiom states that if an agent is at a location 322%; and lets go of a physical object, the physical object 323%; will be at the location: 324% [agent,physobj,location,time] 325% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:176 326% HoldsAt(At(agent,location),time) -> 327% Initiates(LetGoOf(agent,physobj),At(physobj,location),time). 328% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:177 329axiom(initiates(letGoOf(Agent, Physobj), at(Physobj, Location), Time), 330 [holds_at(at(Agent, Location), Time)]). 331 332 333% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:179 334%; An effect axiom states that if an agent picks up 335%; some stuff out of some other stuff, the agent will 336%; be holding the first stuff: 337% [agent,stuff1,stuff2,time] 338% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:183 339% Initiates(HoldSome(agent,stuff1,stuff2), 340% Holding(agent,stuff1), 341% time). 342% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:185 343axiom(initiates(holdSome(Agent, Stuff1, Stuff2), holding(Agent, Stuff1), Time), 344 []). 345 346 347% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:187 348%; A precondition axiom states that 349%; for an agent to pick up some stuff out of some other stuff, 350%; the first stuff must be a part of the second stuff and 351%; there must be a location such that the agent is at the location, 352%; the first stuff is at the location, and the second stuff is 353%; at the location: 354% [agent,stuff1,stuff2,time] 355% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:194 356% Happens(HoldSome(agent,stuff1,stuff2),time) -> 357% PartOf(stuff1,stuff2) & 358% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:196 359% {location}% 360% HoldsAt(At(agent,location),time) & 361% HoldsAt(At(stuff1,location),time) & 362% HoldsAt(At(stuff2,location),time). 363 364 /* exists([Location], 365 if(happens(holdSome(Agent, Stuff1, Stuff2), 366 Time), 367 (partOf(Stuff1, Stuff2), holds_at(at(Agent, Location), Time), holds_at(at(Stuff1, Location), Time), holds_at(at(Stuff2, Location), Time)))). 368 */ 369 370 /* not(some(Location7, '$kolem_Fn_151'(Fn_151_Param, PartOf_Param, At_Param, Maptime))) :- 371 happens(holdSome(Fn_151_Param, PartOf_Param, At_Param), 372 Maptime), 373 ( not(partOf(PartOf_Param, At_Param)) 374 ; not(holds_at(at(Fn_151_Param, Location7), Maptime)) 375 ; not(holds_at(at(PartOf_Param, Location7), Maptime)) 376 ; not(holds_at(at(At_Param, Location7), Maptime)) 377 ). 378 */ 379% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:199 380axiom(not(some(Location7, '$kolem_Fn_151'(Fn_151_Param, PartOf_Param, At_Param, Maptime))), 381 382 [ not(partOf(PartOf_Param, At_Param)), 383 happens(holdSome(Fn_151_Param, PartOf_Param, At_Param), 384 Maptime) 385 ]). 386axiom(not(some(Location7, '$kolem_Fn_151'(Fn_151_Param, PartOf_Param, At_Param, Maptime))), 387 388 [ not(holds_at(at(Fn_151_Param, Location7), Maptime)), 389 happens(holdSome(Fn_151_Param, PartOf_Param, At_Param), 390 Maptime) 391 ]). 392axiom(not(some(Location7, '$kolem_Fn_151'(Fn_151_Param, PartOf_Param, At_Param, Maptime))), 393 394 [ not(holds_at(at(PartOf_Param, Location7), Maptime)), 395 happens(holdSome(Fn_151_Param, PartOf_Param, At_Param), 396 Maptime) 397 ]). 398axiom(not(some(Location7, '$kolem_Fn_151'(Fn_151_Param, PartOf_Param, At_Param, Maptime))), 399 400 [ not(holds_at(at(At_Param, Location7), Maptime)), 401 happens(holdSome(Fn_151_Param, PartOf_Param, At_Param), 402 Maptime) 403 ]). 404 405 /* not(happens(holdSome(HoldSome_Param, PartOf_Param14, At_Param15), Maptime11)) :- 406 ( not(partOf(PartOf_Param14, At_Param15)) 407 ; not(holds_at(at(HoldSome_Param, Location12), 408 Maptime11)) 409 ; not(holds_at(at(PartOf_Param14, Location12), 410 Maptime11)) 411 ; not(holds_at(at(At_Param15, Location12), Maptime11)) 412 ), 413 some(Location12, 414 '$kolem_Fn_151'(HoldSome_Param, 415 PartOf_Param14, 416 At_Param15, 417 Maptime11)). 418 */ 419axiom(not(happens(holdSome(HoldSome_Param, PartOf_Param14, At_Param15), Maptime11)), 420 421 [ not(partOf(PartOf_Param14, At_Param15)), 422 some(Location12, 423 '$kolem_Fn_151'(HoldSome_Param, 424 PartOf_Param14, 425 At_Param15, 426 Maptime11)) 427 ]). 428axiom(not(happens(holdSome(HoldSome_Param, PartOf_Param14, At_Param15), Maptime11)), 429 430 [ not(holds_at(at(HoldSome_Param, Location12), Maptime11)), 431 some(Location12, 432 '$kolem_Fn_151'(HoldSome_Param, 433 PartOf_Param14, 434 At_Param15, 435 Maptime11)) 436 ]). 437axiom(not(happens(holdSome(HoldSome_Param, PartOf_Param14, At_Param15), Maptime11)), 438 439 [ not(holds_at(at(PartOf_Param14, Location12), Maptime11)), 440 some(Location12, 441 '$kolem_Fn_151'(HoldSome_Param, 442 PartOf_Param14, 443 At_Param15, 444 Maptime11)) 445 ]). 446axiom(not(happens(holdSome(HoldSome_Param, PartOf_Param14, At_Param15), Maptime11)), 447 448 [ not(holds_at(at(At_Param15, Location12), Maptime11)), 449 some(Location12, 450 '$kolem_Fn_151'(HoldSome_Param, 451 PartOf_Param14, 452 At_Param15, 453 Maptime11)) 454 ]). 455 456 /* partOf(PartOf_Param17, PartOf_Ret) :- 457 happens(holdSome(HoldSome_Param18, 458 PartOf_Param17, 459 PartOf_Ret), 460 Maptime16), 461 some(Some_Param, 462 '$kolem_Fn_151'(HoldSome_Param18, 463 PartOf_Param17, 464 PartOf_Ret, 465 Maptime16)). 466 */ 467axiom(partOf(PartOf_Param17, PartOf_Ret), 468 469 [ happens(holdSome(HoldSome_Param18, 470 PartOf_Param17, 471 PartOf_Ret), 472 Maptime16), 473 some(Some_Param, 474 '$kolem_Fn_151'(HoldSome_Param18, 475 PartOf_Param17, 476 PartOf_Ret, 477 Maptime16)) 478 ]). 479 480 /* holds_at(at(At_Param23, Location21), Time22) :- 481 happens(holdSome(At_Param23, A, HoldSome_Ret), 482 Time22), 483 some(Location21, 484 '$kolem_Fn_151'(At_Param23, 485 A, 486 HoldSome_Ret, 487 Time22)). 488 */ 489axiom(holds_at(at(At_Param23, Location21), Time22), 490 491 [ happens(holdSome(At_Param23, A, HoldSome_Ret), 492 Time22), 493 some(Location21, 494 '$kolem_Fn_151'(At_Param23, 495 A, 496 HoldSome_Ret, 497 Time22)) 498 ]). 499 500 /* holds_at(at(At_Param27, Location25), Time26) :- 501 happens(holdSome(HoldSome_Param28, 502 At_Param27, 503 HoldSome_Ret29), 504 Time26), 505 some(Location25, 506 '$kolem_Fn_151'(HoldSome_Param28, 507 At_Param27, 508 HoldSome_Ret29, 509 Time26)). 510 */ 511axiom(holds_at(at(At_Param27, Location25), Time26), 512 513 [ happens(holdSome(HoldSome_Param28, 514 At_Param27, 515 HoldSome_Ret29), 516 Time26), 517 some(Location25, 518 '$kolem_Fn_151'(HoldSome_Param28, 519 At_Param27, 520 HoldSome_Ret29, 521 Time26)) 522 ]). 523 524 /* holds_at(at(At_Param32, Location30), Time31) :- 525 happens(holdSome(HoldSome_Param33, A, At_Param32), 526 Time31), 527 some(Location30, 528 '$kolem_Fn_151'(HoldSome_Param33, 529 A, 530 At_Param32, 531 Time31)). 532 */ 533axiom(holds_at(at(At_Param32, Location30), Time31), 534 535 [ happens(holdSome(HoldSome_Param33, A, At_Param32), 536 Time31), 537 some(Location30, 538 '$kolem_Fn_151'(HoldSome_Param33, 539 A, 540 At_Param32, 541 Time31)) 542 ]). 543 544 545% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:201 546%; A releases axiom states that if an agent picks up some 547%; stuff out of some other stuff, 548%; the first stuff's location will be released 549%; from inertia: 550% [agent,stuff1,stuff2,location,time] 551% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:206 552% Releases(HoldSome(agent,stuff1,stuff2),At(stuff1,location),time). 553axiom(releases(holdSome(Agent, Stuff1, Stuff2), at(Stuff1, Location), Time), 554 []). 555 556 557% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:208 558%; Inside 559%; physobj1 is inside physobj2. 560 561% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:211 562% fluent Inside(physobj,physobj) 563 % fluent(inside(physobj,physobj)). 564% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:212 565==> mpred_prop(inside(physobj,physobj),fluent). 566==> meta_argtypes(inside(physobj,physobj)). 567 568 569% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:212 570%; agent puts physobj1 inside physobj2. 571 572% event PutInside(agent,physobj,physobj) 573 % event(putInside(agent,physobj,physobj)). 574% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:214 575==> mpred_prop(putInside(agent,physobj,physobj),event). 576==> meta_argtypes(putInside(agent,physobj,physobj)). 577 578 579% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:214 580%; agent takes physobj1 out of physobj2. 581 582% event TakeOutOf(agent,physobj,physobj) 583 % event(takeOutOf(agent,physobj,physobj)). 584% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:216 585==> mpred_prop(takeOutOf(agent,physobj,physobj),event). 586==> meta_argtypes(takeOutOf(agent,physobj,physobj)). 587 588 589% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:217 590%; A state constraint says that a physical object cannot 591%; be inside itself: 592% [physobj1,physobj2,time] 593% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:220 594% HoldsAt(Inside(physobj1,physobj2),time) -> 595% physobj1!=physobj2. 596% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:221 597axiom(Physobj1\=Physobj2, 598 [holds_at(inside(Physobj1, Physobj2), Time)]). 599 600 601% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:223 602%; A state constraint says that if a physical object is 603%; inside another physical object, the second physical object 604%; is not inside the first physical object: 605% [physobj1,physobj2,time] 606% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:227 607% HoldsAt(Inside(physobj1,physobj2),time) -> 608% !HoldsAt(Inside(physobj2,physobj1),time). 609% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:228 610axiom(not(holds_at(inside(Physobj2, Physobj1), Time)), 611 [holds_at(inside(Physobj1, Physobj2), Time)]). 612 613 614% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:230 615%; An effect axiom states that if an agent puts a physical 616%; object inside another physical object, the first 617%; physical object will be inside the second physical object: 618% [agent,physobj1,physobj2,time] 619% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:234 620% Initiates(PutInside(agent,physobj1,physobj2), 621% Inside(physobj1,physobj2),time). 622% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:235 623axiom(initiates(putInside(Agent, Physobj1, Physobj2), inside(Physobj1, Physobj2), Time), 624 []). 625 626 627% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:237 628%; An effect axiom states that if an agent puts a physical 629%; object inside another physical object, the agent will 630%; no longer be holding the first physical object: 631% [agent,physobj1,physobj2,time] 632% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:241 633% Terminates(PutInside(agent,physobj1,physobj2), 634% Holding(agent,physobj1),time). 635% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:242 636axiom(terminates(putInside(Agent, Physobj1, Physobj2), holding(Agent, Physobj1), Time), 637 []). 638 639 640% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:244 641%; A precondition axiom states that 642%; for an agent to put a physical object inside another 643%; physical object, 644%; the agent must be holding the first physical object 645%; and there must be a location such that 646%; the agent is at the location and 647%; the second physical object is at the location: 648%;[agent,physobj1,physobj2,time] 649%;Happens(PutInside(agent,physobj1,physobj2),time) -> 650%;HoldsAt(Holding(agent,physobj1),time) & 651%;{location} 652%; HoldsAt(At(agent,location),time) & 653%; HoldsAt(At(physobj2,location),time). 654%; An effect axiom states that 655%; if an agent takes a physical object out of another 656%; physical object, the first physical object 657%; will no longer be inside the second physical object: 658% [agent,physobj1,physobj2,time] 659% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:263 660% Terminates(TakeOutOf(agent,physobj1,physobj2), 661% Inside(physobj1,physobj2),time). 662% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:264 663axiom(terminates(takeOutOf(Agent, Physobj1, Physobj2), inside(Physobj1, Physobj2), Time), 664 []). 665 666 667% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:266 668%; A precondition axiom states that 669%; for an agent to take a physical object out of another 670%; physical object, 671%; the first physical object must be inside the second physical object 672%; and there must be a location such that 673%; the agent is at the location, 674%; the first physical object is at the location, and 675%; the second physical object is at the location: 676% [agent,physobj1,physobj2,time] 677% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:275 678% Happens(TakeOutOf(agent,physobj1,physobj2),time) -> 679% HoldsAt(Inside(physobj1,physobj2),time) & 680% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:277 681% {location}% 682% HoldsAt(At(agent,location),time) & 683% HoldsAt(At(physobj1,location),time) & 684% HoldsAt(At(physobj2,location),time). 685 686 /* exists([Location], 687 if(happens(takeOutOf(Agent, Physobj1, Physobj2), 688 Time), 689 (holds_at(inside(Physobj1, Physobj2), Time), holds_at(at(Agent, Location), Time), holds_at(at(Physobj1, Location), Time), holds_at(at(Physobj2, Location), Time)))). 690 */ 691 692 /* not(some(Location7, '$kolem_Fn_152'(Fn_152_Param, Inside_Param, At_Param, Maptime))) :- 693 happens(takeOutOf(Fn_152_Param, Inside_Param, At_Param), 694 Maptime), 695 ( not(holds_at(inside(Inside_Param, At_Param), Maptime)) 696 ; not(holds_at(at(Fn_152_Param, Location7), Maptime)) 697 ; not(holds_at(at(Inside_Param, Location7), Maptime)) 698 ; not(holds_at(at(At_Param, Location7), Maptime)) 699 ). 700 */ 701% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:280 702axiom(not(some(Location7, '$kolem_Fn_152'(Fn_152_Param, Inside_Param, At_Param, Maptime))), 703 704 [ not(holds_at(inside(Inside_Param, At_Param), Maptime)), 705 happens(takeOutOf(Fn_152_Param, Inside_Param, At_Param), 706 Maptime) 707 ]). 708axiom(not(some(Location7, '$kolem_Fn_152'(Fn_152_Param, Inside_Param, At_Param, Maptime))), 709 710 [ not(holds_at(at(Fn_152_Param, Location7), Maptime)), 711 happens(takeOutOf(Fn_152_Param, Inside_Param, At_Param), 712 Maptime) 713 ]). 714axiom(not(some(Location7, '$kolem_Fn_152'(Fn_152_Param, Inside_Param, At_Param, Maptime))), 715 716 [ not(holds_at(at(Inside_Param, Location7), Maptime)), 717 happens(takeOutOf(Fn_152_Param, Inside_Param, At_Param), 718 Maptime) 719 ]). 720axiom(not(some(Location7, '$kolem_Fn_152'(Fn_152_Param, Inside_Param, At_Param, Maptime))), 721 722 [ not(holds_at(at(At_Param, Location7), Maptime)), 723 happens(takeOutOf(Fn_152_Param, Inside_Param, At_Param), 724 Maptime) 725 ]). 726 727 /* not(happens(takeOutOf(TakeOutOf_Param, Inside_Param14, At_Param15), Maptime11)) :- 728 ( not(holds_at(inside(Inside_Param14, At_Param15), 729 Maptime11)) 730 ; not(holds_at(at(TakeOutOf_Param, Location12), 731 Maptime11)) 732 ; not(holds_at(at(Inside_Param14, Location12), 733 Maptime11)) 734 ; not(holds_at(at(At_Param15, Location12), Maptime11)) 735 ), 736 some(Location12, 737 '$kolem_Fn_152'(TakeOutOf_Param, 738 Inside_Param14, 739 At_Param15, 740 Maptime11)). 741 */ 742axiom(not(happens(takeOutOf(TakeOutOf_Param, Inside_Param14, At_Param15), Maptime11)), 743 744 [ not(holds_at(inside(Inside_Param14, At_Param15), 745 Maptime11)), 746 some(Location12, 747 '$kolem_Fn_152'(TakeOutOf_Param, 748 Inside_Param14, 749 At_Param15, 750 Maptime11)) 751 ]). 752axiom(not(happens(takeOutOf(TakeOutOf_Param, Inside_Param14, At_Param15), Maptime11)), 753 754 [ not(holds_at(at(TakeOutOf_Param, Location12), Maptime11)), 755 some(Location12, 756 '$kolem_Fn_152'(TakeOutOf_Param, 757 Inside_Param14, 758 At_Param15, 759 Maptime11)) 760 ]). 761axiom(not(happens(takeOutOf(TakeOutOf_Param, Inside_Param14, At_Param15), Maptime11)), 762 763 [ not(holds_at(at(Inside_Param14, Location12), Maptime11)), 764 some(Location12, 765 '$kolem_Fn_152'(TakeOutOf_Param, 766 Inside_Param14, 767 At_Param15, 768 Maptime11)) 769 ]). 770axiom(not(happens(takeOutOf(TakeOutOf_Param, Inside_Param14, At_Param15), Maptime11)), 771 772 [ not(holds_at(at(At_Param15, Location12), Maptime11)), 773 some(Location12, 774 '$kolem_Fn_152'(TakeOutOf_Param, 775 Inside_Param14, 776 At_Param15, 777 Maptime11)) 778 ]). 779 780 /* holds_at(inside(Inside_Param17, Inside_Ret), Time16) :- 781 happens(takeOutOf(TakeOutOf_Param18, 782 Inside_Param17, 783 Inside_Ret), 784 Time16), 785 some(Some_Param, 786 '$kolem_Fn_152'(TakeOutOf_Param18, 787 Inside_Param17, 788 Inside_Ret, 789 Time16)). 790 */ 791axiom(holds_at(inside(Inside_Param17, Inside_Ret), Time16), 792 793 [ happens(takeOutOf(TakeOutOf_Param18, 794 Inside_Param17, 795 Inside_Ret), 796 Time16), 797 some(Some_Param, 798 '$kolem_Fn_152'(TakeOutOf_Param18, 799 Inside_Param17, 800 Inside_Ret, 801 Time16)) 802 ]). 803 804 /* holds_at(at(At_Param23, Location21), Time22) :- 805 happens(takeOutOf(At_Param23, A, TakeOutOf_Ret), 806 Time22), 807 some(Location21, 808 '$kolem_Fn_152'(At_Param23, 809 A, 810 TakeOutOf_Ret, 811 Time22)). 812 */ 813axiom(holds_at(at(At_Param23, Location21), Time22), 814 815 [ happens(takeOutOf(At_Param23, A, TakeOutOf_Ret), 816 Time22), 817 some(Location21, 818 '$kolem_Fn_152'(At_Param23, 819 A, 820 TakeOutOf_Ret, 821 Time22)) 822 ]). 823 824 /* holds_at(at(At_Param27, Location25), Time26) :- 825 happens(takeOutOf(TakeOutOf_Param28, 826 At_Param27, 827 TakeOutOf_Ret29), 828 Time26), 829 some(Location25, 830 '$kolem_Fn_152'(TakeOutOf_Param28, 831 At_Param27, 832 TakeOutOf_Ret29, 833 Time26)). 834 */ 835axiom(holds_at(at(At_Param27, Location25), Time26), 836 837 [ happens(takeOutOf(TakeOutOf_Param28, 838 At_Param27, 839 TakeOutOf_Ret29), 840 Time26), 841 some(Location25, 842 '$kolem_Fn_152'(TakeOutOf_Param28, 843 At_Param27, 844 TakeOutOf_Ret29, 845 Time26)) 846 ]). 847 848 /* holds_at(at(At_Param32, Location30), Time31) :- 849 happens(takeOutOf(TakeOutOf_Param33, A, At_Param32), 850 Time31), 851 some(Location30, 852 '$kolem_Fn_152'(TakeOutOf_Param33, 853 A, 854 At_Param32, 855 Time31)). 856 */ 857axiom(holds_at(at(At_Param32, Location30), Time31), 858 859 [ happens(takeOutOf(TakeOutOf_Param33, A, At_Param32), 860 Time31), 861 some(Location30, 862 '$kolem_Fn_152'(TakeOutOf_Param33, 863 A, 864 At_Param32, 865 Time31)) 866 ]). 867 868 869% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:282 870%; A releases axiom states that if an agent puts a physical 871%; object inside another physical object, 872%; the first physical object's location will be released 873%; from inertia: 874% [agent,physobj1,physobj2,location,time] 875% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:287 876% Releases(PutInside(agent,physobj1,physobj2), 877% At(physobj1,location),time). 878% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:288 879axiom(releases(putInside(Agent, Physobj1, Physobj2), at(Physobj1, Location), Time), 880 []). 881 882 883% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:290 884%; A state constraint says that if a physical object is inside 885%; another physical object and the second physical object is 886%; at a location, the first physical object is also at the location: 887% [physobj1,physobj2,location,time] 888% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:294 889% HoldsAt(Inside(physobj1,physobj2),time) & 890% HoldsAt(At(physobj2,location),time) -> 891% HoldsAt(At(physobj1,location),time). 892% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:296 893axiom(holds_at(at(Physobj1, Location), Time), 894 895 [ holds_at(inside(Physobj1, Physobj2), Time), 896 holds_at(at(Physobj2, Location), Time) 897 ]). 898 899 900% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:298 901%; An effect axiom states that if an agent takes a physical 902%; object out of another physical object, 903%; the agent will be holding the first physical object: 904% [agent,physobj1,physobj2,time] 905% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:302 906% Initiates(TakeOutOf(agent,physobj1,physobj2), 907% Holding(agent,physobj1), 908% time). 909% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:304 910axiom(initiates(takeOutOf(Agent, Physobj1, Physobj2), holding(Agent, Physobj1), Time), 911 []). 912 913 914% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:306 915%; On 916%; physobj1 is on physobj2. 917 918% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:309 919% fluent On(physobj,physobj) 920 % fluent(on(physobj,physobj)). 921% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:310 922==> mpred_prop(on(physobj,physobj),fluent). 923==> meta_argtypes(on(physobj,physobj)). 924 925 926% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:311 927%; agent places physobj1 on physobj2. 928 929% event PlaceOn(agent,physobj,physobj) 930 % event(placeOn(agent,physobj,physobj)). 931% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:313 932==> mpred_prop(placeOn(agent,physobj,physobj),event). 933==> meta_argtypes(placeOn(agent,physobj,physobj)). 934 935 936% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:313 937%; agent takes physobj1 off of physobj2. 938 939% event TakeOffOf(agent,physobj,physobj) 940 % event(takeOffOf(agent,physobj,physobj)). 941% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:315 942==> mpred_prop(takeOffOf(agent,physobj,physobj),event). 943==> meta_argtypes(takeOffOf(agent,physobj,physobj)). 944 945 946% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:316 947%; A state constraint says that a physical object cannot 948%; be on itself: 949% [physobj1,physobj2,time] 950% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:319 951% HoldsAt(On(physobj1,physobj2),time) -> 952% physobj1!=physobj2. 953% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:320 954axiom(Physobj1\=Physobj2, 955 [holds_at(on(Physobj1, Physobj2), Time)]). 956 957 958% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:322 959%; A state constraint says that if a physical object is 960%; on another physical object, the second physical object 961%; is not on the first physical object: 962% [physobj1,physobj2,time] 963% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:326 964% HoldsAt(On(physobj1,physobj2),time) -> 965% !HoldsAt(On(physobj2,physobj1),time). 966% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:327 967axiom(not(holds_at(on(Physobj2, Physobj1), Time)), 968 [holds_at(on(Physobj1, Physobj2), Time)]). 969 970 971% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:329 972%; An effect axiom states that if an agent places a physical 973%; object on another physical object, the first 974%; physical object will be on the second physical object: 975% [agent,physobj1,physobj2,time] 976% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:333 977% Initiates(PlaceOn(agent,physobj1,physobj2), 978% On(physobj1,physobj2),time). 979% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:334 980axiom(initiates(placeOn(Agent, Physobj1, Physobj2), on(Physobj1, Physobj2), Time), 981 []). 982 983 984% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:336 985%; An effect axiom states that if an agent places a physical 986%; object on another physical object, the agent will 987%; no longer be holding the first physical object: 988% [agent,physobj1,physobj2,time] 989% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:340 990% Terminates(PlaceOn(agent,physobj1,physobj2), 991% Holding(agent,physobj1),time). 992% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:341 993axiom(terminates(placeOn(Agent, Physobj1, Physobj2), holding(Agent, Physobj1), Time), 994 []). 995 996 997% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:343 998%; A precondition axiom states that 999%; for an agent to place a physical object on another 1000%; physical object, 1001%; the agent must be holding the first physical object 1002%; and there must be a location such that 1003%; the agent is at the location and 1004%; the second physical object is at the location: 1005%;[agent,physobj1,physobj2,time] 1006%;Happens(PlaceOn(agent,physobj1,physobj2),time) -> 1007%;HoldsAt(Holding(agent,physobj1),time) & 1008%;{location} 1009%; HoldsAt(At(agent,location),time) & 1010%; HoldsAt(At(physobj2,location),time). 1011%; An effect axiom states that 1012%; if an agent takes a physical object off of another 1013%; physical object, the first physical object 1014%; will no longer be on the second physical object: 1015% [agent,physobj1,physobj2,time] 1016% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:362 1017% Terminates(TakeOffOf(agent,physobj1,physobj2), 1018% On(physobj1,physobj2),time). 1019% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:363 1020axiom(terminates(takeOffOf(Agent, Physobj1, Physobj2), on(Physobj1, Physobj2), Time), 1021 []). 1022 1023 1024% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:365 1025%; An effect axiom states that if an agent takes a physical 1026%; object off of another physical object, 1027%; the agent will be holding the first physical object: 1028% [agent,physobj1,physobj2,time] 1029% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:369 1030% Initiates(TakeOffOf(agent,physobj1,physobj2), 1031% Holding(agent,physobj1),time). 1032% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:370 1033axiom(initiates(takeOffOf(Agent, Physobj1, Physobj2), holding(Agent, Physobj1), Time), 1034 []). 1035 1036 1037% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:372 1038%; A precondition axiom states that 1039%; for an agent to take a physical object off of another 1040%; physical object, 1041%; the first physical object must be on the second physical object 1042%; and there must be a location such that 1043%; the agent is at the location and 1044%; the first physical object is at the location: 1045%; the second physical object is at the location: 1046% [agent,physobj1,physobj2,time] 1047% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:381 1048% Happens(TakeOffOf(agent,physobj1,physobj2),time) -> 1049% HoldsAt(On(physobj1,physobj2),time) & 1050% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:383 1051% {location}% 1052% HoldsAt(At(agent,location),time) & 1053% HoldsAt(At(physobj1,location),time) & 1054% HoldsAt(At(physobj2,location),time). 1055 1056 /* exists([Location], 1057 if(happens(takeOffOf(Agent, Physobj1, Physobj2), 1058 Time), 1059 (holds_at(on(Physobj1, Physobj2), Time), holds_at(at(Agent, Location), Time), holds_at(at(Physobj1, Location), Time), holds_at(at(Physobj2, Location), Time)))). 1060 */ 1061 1062 /* not(some(Location7, '$kolem_Fn_153'(Fn_153_Param, On_Param, At_Param, Maptime))) :- 1063 happens(takeOffOf(Fn_153_Param, On_Param, At_Param), 1064 Maptime), 1065 ( not(holds_at(on(On_Param, At_Param), Maptime)) 1066 ; not(holds_at(at(Fn_153_Param, Location7), Maptime)) 1067 ; not(holds_at(at(On_Param, Location7), Maptime)) 1068 ; not(holds_at(at(At_Param, Location7), Maptime)) 1069 ). 1070 */ 1071% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:386 1072axiom(not(some(Location7, '$kolem_Fn_153'(Fn_153_Param, On_Param, At_Param, Maptime))), 1073 1074 [ not(holds_at(on(On_Param, At_Param), Maptime)), 1075 happens(takeOffOf(Fn_153_Param, On_Param, At_Param), 1076 Maptime) 1077 ]). 1078axiom(not(some(Location7, '$kolem_Fn_153'(Fn_153_Param, On_Param, At_Param, Maptime))), 1079 1080 [ not(holds_at(at(Fn_153_Param, Location7), Maptime)), 1081 happens(takeOffOf(Fn_153_Param, On_Param, At_Param), 1082 Maptime) 1083 ]). 1084axiom(not(some(Location7, '$kolem_Fn_153'(Fn_153_Param, On_Param, At_Param, Maptime))), 1085 1086 [ not(holds_at(at(On_Param, Location7), Maptime)), 1087 happens(takeOffOf(Fn_153_Param, On_Param, At_Param), 1088 Maptime) 1089 ]). 1090axiom(not(some(Location7, '$kolem_Fn_153'(Fn_153_Param, On_Param, At_Param, Maptime))), 1091 1092 [ not(holds_at(at(At_Param, Location7), Maptime)), 1093 happens(takeOffOf(Fn_153_Param, On_Param, At_Param), 1094 Maptime) 1095 ]). 1096 1097 /* not(happens(takeOffOf(TakeOffOf_Param, On_Param14, At_Param15), Maptime11)) :- 1098 ( not(holds_at(on(On_Param14, At_Param15), Maptime11)) 1099 ; not(holds_at(at(TakeOffOf_Param, Location12), 1100 Maptime11)) 1101 ; not(holds_at(at(On_Param14, Location12), Maptime11)) 1102 ; not(holds_at(at(At_Param15, Location12), Maptime11)) 1103 ), 1104 some(Location12, 1105 '$kolem_Fn_153'(TakeOffOf_Param, 1106 On_Param14, 1107 At_Param15, 1108 Maptime11)). 1109 */ 1110axiom(not(happens(takeOffOf(TakeOffOf_Param, On_Param14, At_Param15), Maptime11)), 1111 1112 [ not(holds_at(on(On_Param14, At_Param15), Maptime11)), 1113 some(Location12, 1114 '$kolem_Fn_153'(TakeOffOf_Param, 1115 On_Param14, 1116 At_Param15, 1117 Maptime11)) 1118 ]). 1119axiom(not(happens(takeOffOf(TakeOffOf_Param, On_Param14, At_Param15), Maptime11)), 1120 1121 [ not(holds_at(at(TakeOffOf_Param, Location12), Maptime11)), 1122 some(Location12, 1123 '$kolem_Fn_153'(TakeOffOf_Param, 1124 On_Param14, 1125 At_Param15, 1126 Maptime11)) 1127 ]). 1128axiom(not(happens(takeOffOf(TakeOffOf_Param, On_Param14, At_Param15), Maptime11)), 1129 1130 [ not(holds_at(at(On_Param14, Location12), Maptime11)), 1131 some(Location12, 1132 '$kolem_Fn_153'(TakeOffOf_Param, 1133 On_Param14, 1134 At_Param15, 1135 Maptime11)) 1136 ]). 1137axiom(not(happens(takeOffOf(TakeOffOf_Param, On_Param14, At_Param15), Maptime11)), 1138 1139 [ not(holds_at(at(At_Param15, Location12), Maptime11)), 1140 some(Location12, 1141 '$kolem_Fn_153'(TakeOffOf_Param, 1142 On_Param14, 1143 At_Param15, 1144 Maptime11)) 1145 ]). 1146 1147 /* holds_at(on(On_Param17, On_Ret), Time16) :- 1148 happens(takeOffOf(TakeOffOf_Param18, On_Param17, On_Ret), 1149 Time16), 1150 some(Some_Param, 1151 '$kolem_Fn_153'(TakeOffOf_Param18, 1152 On_Param17, 1153 On_Ret, 1154 Time16)). 1155 */ 1156axiom(holds_at(on(On_Param17, On_Ret), Time16), 1157 1158 [ happens(takeOffOf(TakeOffOf_Param18, On_Param17, On_Ret), 1159 Time16), 1160 some(Some_Param, 1161 '$kolem_Fn_153'(TakeOffOf_Param18, 1162 On_Param17, 1163 On_Ret, 1164 Time16)) 1165 ]). 1166 1167 /* holds_at(at(At_Param23, Location21), Time22) :- 1168 happens(takeOffOf(At_Param23, A, TakeOffOf_Ret), 1169 Time22), 1170 some(Location21, 1171 '$kolem_Fn_153'(At_Param23, 1172 A, 1173 TakeOffOf_Ret, 1174 Time22)). 1175 */ 1176axiom(holds_at(at(At_Param23, Location21), Time22), 1177 1178 [ happens(takeOffOf(At_Param23, A, TakeOffOf_Ret), 1179 Time22), 1180 some(Location21, 1181 '$kolem_Fn_153'(At_Param23, 1182 A, 1183 TakeOffOf_Ret, 1184 Time22)) 1185 ]). 1186 1187 /* holds_at(at(At_Param27, Location25), Time26) :- 1188 happens(takeOffOf(TakeOffOf_Param28, 1189 At_Param27, 1190 TakeOffOf_Ret29), 1191 Time26), 1192 some(Location25, 1193 '$kolem_Fn_153'(TakeOffOf_Param28, 1194 At_Param27, 1195 TakeOffOf_Ret29, 1196 Time26)). 1197 */ 1198axiom(holds_at(at(At_Param27, Location25), Time26), 1199 1200 [ happens(takeOffOf(TakeOffOf_Param28, 1201 At_Param27, 1202 TakeOffOf_Ret29), 1203 Time26), 1204 some(Location25, 1205 '$kolem_Fn_153'(TakeOffOf_Param28, 1206 At_Param27, 1207 TakeOffOf_Ret29, 1208 Time26)) 1209 ]). 1210 1211 /* holds_at(at(At_Param32, Location30), Time31) :- 1212 happens(takeOffOf(TakeOffOf_Param33, A, At_Param32), 1213 Time31), 1214 some(Location30, 1215 '$kolem_Fn_153'(TakeOffOf_Param33, 1216 A, 1217 At_Param32, 1218 Time31)). 1219 */ 1220axiom(holds_at(at(At_Param32, Location30), Time31), 1221 1222 [ happens(takeOffOf(TakeOffOf_Param33, A, At_Param32), 1223 Time31), 1224 some(Location30, 1225 '$kolem_Fn_153'(TakeOffOf_Param33, 1226 A, 1227 At_Param32, 1228 Time31)) 1229 ]). 1230 1231 1232% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:388 1233%; A releases axiom states that if an agent places a physical 1234%; object on another physical object, 1235%; the first physical object's location will be released 1236%; from inertia: 1237% [agent,physobj1,physobj2,location,time] 1238% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:393 1239% Releases(PlaceOn(agent,physobj1,physobj2), 1240% At(physobj1,location), 1241% time). 1242% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:395 1243axiom(releases(placeOn(Agent, Physobj1, Physobj2), at(Physobj1, Location), Time), 1244 []). 1245 1246 1247% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:397 1248%; A state constraint says that if a physical object is on 1249%; another physical object and the second physical object is 1250%; at a location, the first physical object is also at the location: 1251% [physobj1,physobj2,location,time] 1252% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:401 1253% HoldsAt(On(physobj1,physobj2),time) & 1254% HoldsAt(At(physobj2,location),time) -> 1255% HoldsAt(At(physobj1,location),time). 1256% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:403 1257axiom(holds_at(at(Physobj1, Location), Time), 1258 1259 [ holds_at(on(Physobj1, Physobj2), Time), 1260 holds_at(at(Physobj2, Location), Time) 1261 ]). 1262 1263% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:405 1264% fluent Near(agent,object) 1265 % fluent(near(agent,object)). 1266% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:406 1267==> mpred_prop(near(agent,object),fluent). 1268==> meta_argtypes(near(agent,object)). 1269 1270% event WalkFromTo(agent,object,object) 1271 % event(walkFromTo(agent,object,object)). 1272% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:407 1273==> mpred_prop(walkFromTo(agent,object,object),event). 1274==> meta_argtypes(walkFromTo(agent,object,object)). 1275 1276% event WalkFrom(agent,object) 1277 % event(walkFrom(agent,object)). 1278% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:408 1279==> mpred_prop(walkFrom(agent,object),event). 1280==> meta_argtypes(walkFrom(agent,object)). 1281 1282% event RunFromTo(agent,object,object) 1283 % event(runFromTo(agent,object,object)). 1284% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:409 1285==> mpred_prop(runFromTo(agent,object,object),event). 1286==> meta_argtypes(runFromTo(agent,object,object)). 1287 1288 1289% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:410 1290% [agent,object1,object2,time] 1291% Initiates(WalkFromTo(agent,object1,object2), 1292% Near(agent,object2), 1293% time). 1294% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:413 1295axiom(initiates(walkFromTo(Agent, Object1, Object2), near(Agent, Object2), Time), 1296 []). 1297 1298 1299% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:415 1300% [agent,object1,object2,time] 1301% Terminates(WalkFromTo(agent,object1,object2), 1302% Near(agent,object1), 1303% time). 1304% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:418 1305axiom(terminates(walkFromTo(Agent, Object1, Object2), near(Agent, Object1), Time), 1306 []). 1307 1308 1309% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:420 1310% [agent,object1,object2,time] 1311% Happens(WalkFromTo(agent,object1,object2),time) -> 1312% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:422 1313% {location}% 1314% HoldsAt(At(agent,location),time) & 1315% HoldsAt(At(object1,location),time) & 1316% HoldsAt(At(object2,location),time). 1317 1318 /* exists([Location], 1319 if(happens(walkFromTo(Agent, Object1, Object2), 1320 Time), 1321 (holds_at(at(Agent, Location), Time), holds_at(at(Object1, Location), Time), holds_at(at(Object2, Location), Time)))). 1322 */ 1323 1324 /* not(some(Location7, '$kolem_Fn_154'(Fn_154_Param, At_Param, At_Param10, Maptime))) :- 1325 happens(walkFromTo(Fn_154_Param, At_Param, At_Param10), 1326 Maptime), 1327 ( not(holds_at(at(Fn_154_Param, Location7), Maptime)) 1328 ; not(holds_at(at(At_Param, Location7), Maptime)) 1329 ; not(holds_at(at(At_Param10, Location7), Maptime)) 1330 ). 1331 */ 1332% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:425 1333axiom(not(some(Location7, '$kolem_Fn_154'(Fn_154_Param, At_Param, At_Param10, Maptime))), 1334 1335 [ not(holds_at(at(Fn_154_Param, Location7), Maptime)), 1336 happens(walkFromTo(Fn_154_Param, At_Param, At_Param10), 1337 Maptime) 1338 ]). 1339axiom(not(some(Location7, '$kolem_Fn_154'(Fn_154_Param, At_Param, At_Param10, Maptime))), 1340 1341 [ not(holds_at(at(At_Param, Location7), Maptime)), 1342 happens(walkFromTo(Fn_154_Param, At_Param, At_Param10), 1343 Maptime) 1344 ]). 1345axiom(not(some(Location7, '$kolem_Fn_154'(Fn_154_Param, At_Param, At_Param10, Maptime))), 1346 1347 [ not(holds_at(at(At_Param10, Location7), Maptime)), 1348 happens(walkFromTo(Fn_154_Param, At_Param, At_Param10), 1349 Maptime) 1350 ]). 1351 1352 /* not(happens(walkFromTo(WalkFromTo_Param, At_Param14, At_Param15), Maptime11)) :- 1353 ( not(holds_at(at(WalkFromTo_Param, Location12), 1354 Maptime11)) 1355 ; not(holds_at(at(At_Param14, Location12), Maptime11)) 1356 ; not(holds_at(at(At_Param15, Location12), Maptime11)) 1357 ), 1358 some(Location12, 1359 '$kolem_Fn_154'(WalkFromTo_Param, 1360 At_Param14, 1361 At_Param15, 1362 Maptime11)). 1363 */ 1364axiom(not(happens(walkFromTo(WalkFromTo_Param, At_Param14, At_Param15), Maptime11)), 1365 1366 [ not(holds_at(at(WalkFromTo_Param, Location12), 1367 Maptime11)), 1368 some(Location12, 1369 '$kolem_Fn_154'(WalkFromTo_Param, 1370 At_Param14, 1371 At_Param15, 1372 Maptime11)) 1373 ]). 1374axiom(not(happens(walkFromTo(WalkFromTo_Param, At_Param14, At_Param15), Maptime11)), 1375 1376 [ not(holds_at(at(At_Param14, Location12), Maptime11)), 1377 some(Location12, 1378 '$kolem_Fn_154'(WalkFromTo_Param, 1379 At_Param14, 1380 At_Param15, 1381 Maptime11)) 1382 ]). 1383axiom(not(happens(walkFromTo(WalkFromTo_Param, At_Param14, At_Param15), Maptime11)), 1384 1385 [ not(holds_at(at(At_Param15, Location12), Maptime11)), 1386 some(Location12, 1387 '$kolem_Fn_154'(WalkFromTo_Param, 1388 At_Param14, 1389 At_Param15, 1390 Maptime11)) 1391 ]). 1392 1393 /* holds_at(at(At_Param18, Location16), Time17) :- 1394 happens(walkFromTo(At_Param18, A, WalkFromTo_Ret), 1395 Time17), 1396 some(Location16, 1397 '$kolem_Fn_154'(At_Param18, 1398 A, 1399 WalkFromTo_Ret, 1400 Time17)). 1401 */ 1402axiom(holds_at(at(At_Param18, Location16), Time17), 1403 1404 [ happens(walkFromTo(At_Param18, A, WalkFromTo_Ret), 1405 Time17), 1406 some(Location16, 1407 '$kolem_Fn_154'(At_Param18, 1408 A, 1409 WalkFromTo_Ret, 1410 Time17)) 1411 ]). 1412 1413 /* holds_at(at(At_Param22, Location20), Time21) :- 1414 happens(walkFromTo(WalkFromTo_Param23, 1415 At_Param22, 1416 WalkFromTo_Ret24), 1417 Time21), 1418 some(Location20, 1419 '$kolem_Fn_154'(WalkFromTo_Param23, 1420 At_Param22, 1421 WalkFromTo_Ret24, 1422 Time21)). 1423 */ 1424axiom(holds_at(at(At_Param22, Location20), Time21), 1425 1426 [ happens(walkFromTo(WalkFromTo_Param23, 1427 At_Param22, 1428 WalkFromTo_Ret24), 1429 Time21), 1430 some(Location20, 1431 '$kolem_Fn_154'(WalkFromTo_Param23, 1432 At_Param22, 1433 WalkFromTo_Ret24, 1434 Time21)) 1435 ]). 1436 1437 /* holds_at(at(At_Param27, Location25), Time26) :- 1438 happens(walkFromTo(WalkFromTo_Param28, A, At_Param27), 1439 Time26), 1440 some(Location25, 1441 '$kolem_Fn_154'(WalkFromTo_Param28, 1442 A, 1443 At_Param27, 1444 Time26)). 1445 */ 1446axiom(holds_at(at(At_Param27, Location25), Time26), 1447 1448 [ happens(walkFromTo(WalkFromTo_Param28, A, At_Param27), 1449 Time26), 1450 some(Location25, 1451 '$kolem_Fn_154'(WalkFromTo_Param28, 1452 A, 1453 At_Param27, 1454 Time26)) 1455 ]). 1456 1457 1458% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:427 1459% [agent,object1,object2,time] 1460% Initiates(RunFromTo(agent,object1,object2), 1461% Near(agent,object2), 1462% time). 1463% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:430 1464axiom(initiates(runFromTo(Agent, Object1, Object2), near(Agent, Object2), Time), 1465 []). 1466 1467 1468% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:432 1469% [agent,object1,object2,time] 1470% Terminates(RunFromTo(agent,object1,object2), 1471% Near(agent,object1), 1472% time). 1473% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:435 1474axiom(terminates(runFromTo(Agent, Object1, Object2), near(Agent, Object1), Time), 1475 []). 1476 1477 1478% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:437 1479% [agent,object1,object2,time] 1480% Happens(RunFromTo(agent,object1,object2),time) -> 1481% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:439 1482% {location}% 1483% HoldsAt(At(agent,location),time) & 1484% HoldsAt(At(object1,location),time) & 1485% HoldsAt(At(object2,location),time). 1486 1487 /* exists([Location], 1488 if(happens(runFromTo(Agent, Object1, Object2), 1489 Time), 1490 (holds_at(at(Agent, Location), Time), holds_at(at(Object1, Location), Time), holds_at(at(Object2, Location), Time)))). 1491 */ 1492 1493 /* not(some(Location7, '$kolem_Fn_155'(Fn_155_Param, At_Param, At_Param10, Maptime))) :- 1494 happens(runFromTo(Fn_155_Param, At_Param, At_Param10), 1495 Maptime), 1496 ( not(holds_at(at(Fn_155_Param, Location7), Maptime)) 1497 ; not(holds_at(at(At_Param, Location7), Maptime)) 1498 ; not(holds_at(at(At_Param10, Location7), Maptime)) 1499 ). 1500 */ 1501% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:442 1502axiom(not(some(Location7, '$kolem_Fn_155'(Fn_155_Param, At_Param, At_Param10, Maptime))), 1503 1504 [ not(holds_at(at(Fn_155_Param, Location7), Maptime)), 1505 happens(runFromTo(Fn_155_Param, At_Param, At_Param10), 1506 Maptime) 1507 ]). 1508axiom(not(some(Location7, '$kolem_Fn_155'(Fn_155_Param, At_Param, At_Param10, Maptime))), 1509 1510 [ not(holds_at(at(At_Param, Location7), Maptime)), 1511 happens(runFromTo(Fn_155_Param, At_Param, At_Param10), 1512 Maptime) 1513 ]). 1514axiom(not(some(Location7, '$kolem_Fn_155'(Fn_155_Param, At_Param, At_Param10, Maptime))), 1515 1516 [ not(holds_at(at(At_Param10, Location7), Maptime)), 1517 happens(runFromTo(Fn_155_Param, At_Param, At_Param10), 1518 Maptime) 1519 ]). 1520 1521 /* not(happens(runFromTo(RunFromTo_Param, At_Param14, At_Param15), Maptime11)) :- 1522 ( not(holds_at(at(RunFromTo_Param, Location12), 1523 Maptime11)) 1524 ; not(holds_at(at(At_Param14, Location12), Maptime11)) 1525 ; not(holds_at(at(At_Param15, Location12), Maptime11)) 1526 ), 1527 some(Location12, 1528 '$kolem_Fn_155'(RunFromTo_Param, 1529 At_Param14, 1530 At_Param15, 1531 Maptime11)). 1532 */ 1533axiom(not(happens(runFromTo(RunFromTo_Param, At_Param14, At_Param15), Maptime11)), 1534 1535 [ not(holds_at(at(RunFromTo_Param, Location12), Maptime11)), 1536 some(Location12, 1537 '$kolem_Fn_155'(RunFromTo_Param, 1538 At_Param14, 1539 At_Param15, 1540 Maptime11)) 1541 ]). 1542axiom(not(happens(runFromTo(RunFromTo_Param, At_Param14, At_Param15), Maptime11)), 1543 1544 [ not(holds_at(at(At_Param14, Location12), Maptime11)), 1545 some(Location12, 1546 '$kolem_Fn_155'(RunFromTo_Param, 1547 At_Param14, 1548 At_Param15, 1549 Maptime11)) 1550 ]). 1551axiom(not(happens(runFromTo(RunFromTo_Param, At_Param14, At_Param15), Maptime11)), 1552 1553 [ not(holds_at(at(At_Param15, Location12), Maptime11)), 1554 some(Location12, 1555 '$kolem_Fn_155'(RunFromTo_Param, 1556 At_Param14, 1557 At_Param15, 1558 Maptime11)) 1559 ]). 1560 1561 /* holds_at(at(At_Param18, Location16), Time17) :- 1562 happens(runFromTo(At_Param18, A, RunFromTo_Ret), 1563 Time17), 1564 some(Location16, 1565 '$kolem_Fn_155'(At_Param18, 1566 A, 1567 RunFromTo_Ret, 1568 Time17)). 1569 */ 1570axiom(holds_at(at(At_Param18, Location16), Time17), 1571 1572 [ happens(runFromTo(At_Param18, A, RunFromTo_Ret), 1573 Time17), 1574 some(Location16, 1575 '$kolem_Fn_155'(At_Param18, 1576 A, 1577 RunFromTo_Ret, 1578 Time17)) 1579 ]). 1580 1581 /* holds_at(at(At_Param22, Location20), Time21) :- 1582 happens(runFromTo(RunFromTo_Param23, 1583 At_Param22, 1584 RunFromTo_Ret24), 1585 Time21), 1586 some(Location20, 1587 '$kolem_Fn_155'(RunFromTo_Param23, 1588 At_Param22, 1589 RunFromTo_Ret24, 1590 Time21)). 1591 */ 1592axiom(holds_at(at(At_Param22, Location20), Time21), 1593 1594 [ happens(runFromTo(RunFromTo_Param23, 1595 At_Param22, 1596 RunFromTo_Ret24), 1597 Time21), 1598 some(Location20, 1599 '$kolem_Fn_155'(RunFromTo_Param23, 1600 At_Param22, 1601 RunFromTo_Ret24, 1602 Time21)) 1603 ]). 1604 1605 /* holds_at(at(At_Param27, Location25), Time26) :- 1606 happens(runFromTo(RunFromTo_Param28, A, At_Param27), 1607 Time26), 1608 some(Location25, 1609 '$kolem_Fn_155'(RunFromTo_Param28, 1610 A, 1611 At_Param27, 1612 Time26)). 1613 */ 1614axiom(holds_at(at(At_Param27, Location25), Time26), 1615 1616 [ happens(runFromTo(RunFromTo_Param28, A, At_Param27), 1617 Time26), 1618 some(Location25, 1619 '$kolem_Fn_155'(RunFromTo_Param28, 1620 A, 1621 At_Param27, 1622 Time26)) 1623 ]). 1624 1625 1626% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:444 1627% [agent,object,time] 1628% Terminates(WalkFrom(agent,object), 1629% Near(agent,object), 1630% time). 1631% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:447 1632axiom(terminates(walkFrom(Agent, Object), near(Agent, Object), Time), 1633 []). 1634 1635 1636% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:449 1637% [agent,object,location,door,time] 1638% HoldsAt(Near(agent,object),time) & 1639% HoldsAt(At(agent,location),time) & 1640% HoldsAt(At(object,location),time) & 1641% Side1(door)=location & 1642% Happens(WalkThroughDoor12(agent,door),time) -> 1643% Happens(WalkFrom(agent,object),time). 1644% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:455 1645axiom(happens(walkFrom(Agent, Object), Time), 1646 1647 [ holds_at(near(Agent, Object), Time), 1648 holds_at(at(Agent, Location), Time), 1649 holds_at(at(Object, Location), Time), 1650 equals(side1(Door), Location), 1651 happens(walkThroughDoor12(Agent, Door), Time) 1652 ]). 1653 1654 1655% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:457 1656% [agent,object,location,door,time] 1657% HoldsAt(Near(agent,object),time) & 1658% HoldsAt(At(agent,location),time) & 1659% HoldsAt(At(object,location),time) & 1660% Side2(door)=location & 1661% Happens(WalkThroughDoor21(agent,door),time) -> 1662% Happens(WalkFrom(agent,object),time). 1663% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:463 1664axiom(happens(walkFrom(Agent, Object), Time), 1665 1666 [ holds_at(near(Agent, Object), Time), 1667 holds_at(at(Agent, Location), Time), 1668 holds_at(at(Object, Location), Time), 1669 equals(side2(Door), Location), 1670 happens(walkThroughDoor21(Agent, Door), Time) 1671 ]). 1672 1673 1674% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:465 1675% [agent,object,room,staircase,time] 1676% HoldsAt(Near(agent,object),time) & 1677% HoldsAt(At(agent,room),time) & 1678% HoldsAt(At(object,room),time) & 1679% Side1(staircase)=room & 1680% Happens(WalkUpStaircase(agent,staircase),time) -> 1681% Happens(WalkFrom(agent,object),time). 1682% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:471 1683axiom(happens(walkFrom(Agent, Object), Time), 1684 1685 [ holds_at(near(Agent, Object), Time), 1686 holds_at(at(Agent, Room), Time), 1687 holds_at(at(Object, Room), Time), 1688 equals(side1(Staircase), Room), 1689 happens(walkUpStaircase(Agent, Staircase), Time) 1690 ]). 1691 1692 1693% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:473 1694% [agent,object,room,staircase,time] 1695% HoldsAt(Near(agent,object),time) & 1696% HoldsAt(At(agent,room),time) & 1697% HoldsAt(At(object,room),time) & 1698% Side2(staircase)=room & 1699% Happens(WalkDownStaircase(agent,staircase),time) -> 1700% Happens(WalkFrom(agent,object),time). 1701% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:479 1702axiom(happens(walkFrom(Agent, Object), Time), 1703 1704 [ holds_at(near(Agent, Object), Time), 1705 holds_at(at(Agent, Room), Time), 1706 holds_at(at(Object, Room), Time), 1707 equals(side2(Staircase), Room), 1708 happens(walkDownStaircase(Agent, Staircase), Time) 1709 ]). 1710 1711 1712% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/OTSpace.e:481 1713%; End of file.