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.