1:-include(library('ec_planner/ec_test_incl')).    2:-expects_dialect(pfc).    3 %  loading(always,'ecnet/Sleep.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%; The Sleep representation deals with the activity of sleeping and
   15%; body posture.
   16%; It is similar to the finite automaton representation of sleep
   17%; used in ThoughtTreasure \fullcite[chap. 7]{Mueller:1998}.
   18%;
   19%; @book{Mueller:1998,
   20%;   author = "Erik T. Mueller",
   21%;   year = "1998",
   22%;   title = "Natural Language Processing with \uppercase{T}hought\uppercase{T}reasure",
   23%;   address = "New York",
   24%;   publisher = "Signiform",
   25%; }
   26%;
   27%; sleep
   28%; agent wakes up.
   29
   30% event WakeUp(agent)
   31 %  event(wakeUp(agent)).
   32==> mpred_prop(wakeUp(agent),event).
   33==> meta_argtypes(wakeUp(agent)).
   34
   35
   36% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:29
   37%; agent gets tired.
   38
   39% event GetTired(agent)
   40 %  event(getTired(agent)).
   41% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:31
   42==> mpred_prop(getTired(agent),event).
   43==> meta_argtypes(getTired(agent)).
   44
   45
   46% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:32
   47%; agent falls asleep.
   48
   49% event FallAsleep(agent)
   50 %  event(fallAsleep(agent)).
   51% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:34
   52==> mpred_prop(fallAsleep(agent),event).
   53==> meta_argtypes(fallAsleep(agent)).
   54
   55
   56% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:35
   57%; agent is asleep.
   58
   59% fluent Sleep0(agent)
   60 %  fluent(sleep0(agent)).
   61% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:37
   62==> mpred_prop(sleep0(agent),fluent).
   63==> meta_argtypes(sleep0(agent)).
   64
   65
   66% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:37
   67%; agent is awake and in bed.
   68
   69% fluent Sleep1(agent)
   70 %  fluent(sleep1(agent)).
   71% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:39
   72==> mpred_prop(sleep1(agent),fluent).
   73==> meta_argtypes(sleep1(agent)).
   74
   75
   76% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:39
   77%; agent is awake, out of bed, and undressed.
   78
   79% fluent Sleep2(agent)
   80 %  fluent(sleep2(agent)).
   81% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:41
   82==> mpred_prop(sleep2(agent),fluent).
   83==> meta_argtypes(sleep2(agent)).
   84
   85
   86% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:41
   87%; agent is awake and dressed.
   88
   89% fluent Sleep3(agent)
   90 %  fluent(sleep3(agent)).
   91% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:43
   92==> mpred_prop(sleep3(agent),fluent).
   93==> meta_argtypes(sleep3(agent)).
   94
   95
   96% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:43
   97%; agent is tired and dressed.
   98
   99% fluent Sleep4(agent)
  100 %  fluent(sleep4(agent)).
  101% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:45
  102==> mpred_prop(sleep4(agent),fluent).
  103==> meta_argtypes(sleep4(agent)).
  104
  105
  106% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:45
  107%; agent is tired and undressed.
  108
  109% fluent Sleep5(agent)
  110 %  fluent(sleep5(agent)).
  111% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:47
  112==> mpred_prop(sleep5(agent),fluent).
  113==> meta_argtypes(sleep5(agent)).
  114
  115
  116% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:47
  117%; agent is in bed, waiting to fall asleep.
  118
  119% fluent Sleep6(agent)
  120 %  fluent(sleep6(agent)).
  121% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:49
  122==> mpred_prop(sleep6(agent),fluent).
  123==> meta_argtypes(sleep6(agent)).
  124
  125
  126% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:50
  127%; At any time, an agent is in one of seven sleep states:
  128
  129% xor Sleep0, Sleep1, Sleep2, Sleep3, Sleep4, Sleep5, Sleep6
  130% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:52
  131xor([sleep0,sleep1,sleep2,sleep3,sleep4,sleep5,sleep6]).
  132%; constraints
  133%; agent is asleep.
  134
  135% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:56
  136% fluent Asleep(agent)
  137 %  fluent(asleep(agent)).
  138% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:57
  139==> mpred_prop(asleep(agent),fluent).
  140==> meta_argtypes(asleep(agent)).
  141
  142
  143% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:57
  144%; agent is awake.
  145
  146% fluent Awake(agent)
  147 %  fluent(awake(agent)).
  148% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:59
  149==> mpred_prop(awake(agent),fluent).
  150==> meta_argtypes(awake(agent)).
  151
  152% noninertial Asleep
  153% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:60
  154==> noninertial(asleep).
  155
  156% noninertial Awake
  157% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:61
  158==> noninertial(awake).
  159%; Sleep0 indicates that the agent is asleep:
  160% [agent,time]
  161 % HoldsAt(Asleep(agent),time) <-> HoldsAt(Sleep0(agent),time).
  162
  163 /*  holds_at(asleep(Agent), Time) <->
  164       holds_at(sleep0(Agent), Time).
  165 */
  166% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:63
  167axiom(holds_at(asleep(Agent), Time),
  168    [holds_at(sleep0(Agent), Time)]).
  169axiom(holds_at(sleep0(Agent), Time),
  170    [holds_at(asleep(Agent), Time)]).
  171
  172
  173% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:65
  174%; In all other sleep states, the agent is awake:
  175% [agent,time]
  176% HoldsAt(Awake(agent),time) <->
  177% HoldsAt(Sleep1(agent),time) |
  178% HoldsAt(Sleep2(agent),time) |
  179% HoldsAt(Sleep3(agent),time) |
  180% HoldsAt(Sleep4(agent),time) |
  181% HoldsAt(Sleep5(agent),time) |
  182% HoldsAt(Sleep6(agent),time).
  183
  184 /*  holds_at(awake(Agent), Time) <->
  185       (   holds_at(sleep1(Agent), Time)
  186       ;   holds_at(sleep2(Agent), Time)
  187       ;   holds_at(sleep3(Agent), Time)
  188       ;   holds_at(sleep4(Agent), Time)
  189       ;   holds_at(sleep5(Agent), Time)
  190       ;   holds_at(sleep6(Agent), Time)
  191       ).
  192 */
  193% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:73
  194axiom(holds_at(awake(Agent), Time),
  195    [holds_at(sleep1(Agent), Time)]).
  196axiom(holds_at(awake(Agent), Time),
  197    [holds_at(sleep2(Agent), Time)]).
  198axiom(holds_at(awake(Agent), Time),
  199    [holds_at(sleep3(Agent), Time)]).
  200axiom(holds_at(awake(Agent), Time),
  201    [holds_at(sleep4(Agent), Time)]).
  202axiom(holds_at(awake(Agent), Time),
  203    [holds_at(sleep5(Agent), Time)]).
  204axiom(holds_at(awake(Agent), Time),
  205    [holds_at(sleep6(Agent), Time)]).
  206
  207 /*   if(holds_at(awake(Agent), Time),
  208          (holds_at(sleep1(Agent), Time);holds_at(sleep2(Agent), Time);holds_at(sleep3(Agent), Time);holds_at(sleep4(Agent), Time);holds_at(sleep5(Agent), Time);holds_at(sleep6(Agent), Time))).
  209 */
  210
  211 /*  holds_at(sleep1(Sleep1_Ret), Time2) :-
  212       ( not(holds_at(sleep2(Sleep1_Ret), Time2)),
  213         not(holds_at(sleep3(Sleep1_Ret), Time2)),
  214         not(holds_at(sleep4(Sleep1_Ret), Time2)),
  215         not(holds_at(sleep5(Sleep1_Ret), Time2)),
  216         not(holds_at(sleep6(Sleep1_Ret), Time2))
  217       ),
  218       holds_at(awake(Sleep1_Ret), Time2).
  219 */
  220axiom(holds_at(sleep1(Sleep1_Ret), Time2),
  221   
  222    [ not(holds_at(sleep2(Sleep1_Ret), Time2)),
  223      not(holds_at(sleep3(Sleep1_Ret), Time2)),
  224      not(holds_at(sleep4(Sleep1_Ret), Time2)),
  225      not(holds_at(sleep5(Sleep1_Ret), Time2)),
  226      not(holds_at(sleep6(Sleep1_Ret), Time2)),
  227      holds_at(awake(Sleep1_Ret), Time2)
  228    ]).
  229
  230 /*  holds_at(sleep2(Sleep2_Ret), Time4) :-
  231       ( not(holds_at(sleep3(Sleep2_Ret), Time4)),
  232         not(holds_at(sleep4(Sleep2_Ret), Time4)),
  233         not(holds_at(sleep5(Sleep2_Ret), Time4)),
  234         not(holds_at(sleep6(Sleep2_Ret), Time4))
  235       ),
  236       not(holds_at(sleep1(Sleep2_Ret), Time4)),
  237       holds_at(awake(Sleep2_Ret), Time4).
  238 */
  239axiom(holds_at(sleep2(Sleep2_Ret), Time4),
  240   
  241    [ not(holds_at(sleep3(Sleep2_Ret), Time4)),
  242      not(holds_at(sleep4(Sleep2_Ret), Time4)),
  243      not(holds_at(sleep5(Sleep2_Ret), Time4)),
  244      not(holds_at(sleep6(Sleep2_Ret), Time4)),
  245      not(holds_at(sleep1(Sleep2_Ret), Time4)),
  246      holds_at(awake(Sleep2_Ret), Time4)
  247    ]).
  248
  249 /*  holds_at(sleep3(Sleep3_Ret), Time6) :-
  250       ( not(holds_at(sleep4(Sleep3_Ret), Time6)),
  251         not(holds_at(sleep5(Sleep3_Ret), Time6)),
  252         not(holds_at(sleep6(Sleep3_Ret), Time6))
  253       ),
  254       not(holds_at(sleep2(Sleep3_Ret), Time6)),
  255       not(holds_at(sleep1(Sleep3_Ret), Time6)),
  256       holds_at(awake(Sleep3_Ret), Time6).
  257 */
  258axiom(holds_at(sleep3(Sleep3_Ret), Time6),
  259   
  260    [ not(holds_at(sleep4(Sleep3_Ret), Time6)),
  261      not(holds_at(sleep5(Sleep3_Ret), Time6)),
  262      not(holds_at(sleep6(Sleep3_Ret), Time6)),
  263      not(holds_at(sleep2(Sleep3_Ret), Time6)),
  264      not(holds_at(sleep1(Sleep3_Ret), Time6)),
  265      holds_at(awake(Sleep3_Ret), Time6)
  266    ]).
  267
  268 /*  holds_at(sleep4(Sleep4_Ret), Time8) :-
  269       ( not(holds_at(sleep5(Sleep4_Ret), Time8)),
  270         not(holds_at(sleep6(Sleep4_Ret), Time8))
  271       ),
  272       not(holds_at(sleep3(Sleep4_Ret), Time8)),
  273       not(holds_at(sleep2(Sleep4_Ret), Time8)),
  274       not(holds_at(sleep1(Sleep4_Ret), Time8)),
  275       holds_at(awake(Sleep4_Ret), Time8).
  276 */
  277axiom(holds_at(sleep4(Sleep4_Ret), Time8),
  278   
  279    [ not(holds_at(sleep5(Sleep4_Ret), Time8)),
  280      not(holds_at(sleep6(Sleep4_Ret), Time8)),
  281      not(holds_at(sleep3(Sleep4_Ret), Time8)),
  282      not(holds_at(sleep2(Sleep4_Ret), Time8)),
  283      not(holds_at(sleep1(Sleep4_Ret), Time8)),
  284      holds_at(awake(Sleep4_Ret), Time8)
  285    ]).
  286
  287 /*  holds_at(sleep5(Sleep5_Ret), Time10) :-
  288       not(holds_at(sleep6(Sleep5_Ret), Time10)),
  289       not(holds_at(sleep4(Sleep5_Ret), Time10)),
  290       not(holds_at(sleep3(Sleep5_Ret), Time10)),
  291       not(holds_at(sleep2(Sleep5_Ret), Time10)),
  292       not(holds_at(sleep1(Sleep5_Ret), Time10)),
  293       holds_at(awake(Sleep5_Ret), Time10).
  294 */
  295axiom(holds_at(sleep5(Sleep5_Ret), Time10),
  296   
  297    [ not(holds_at(sleep6(Sleep5_Ret), Time10)),
  298      not(holds_at(sleep4(Sleep5_Ret), Time10)),
  299      not(holds_at(sleep3(Sleep5_Ret), Time10)),
  300      not(holds_at(sleep2(Sleep5_Ret), Time10)),
  301      not(holds_at(sleep1(Sleep5_Ret), Time10)),
  302      holds_at(awake(Sleep5_Ret), Time10)
  303    ]).
  304
  305 /*  holds_at(sleep6(Sleep6_Ret), Time12) :-
  306       not(holds_at(sleep5(Sleep6_Ret), Time12)),
  307       not(holds_at(sleep4(Sleep6_Ret), Time12)),
  308       not(holds_at(sleep3(Sleep6_Ret), Time12)),
  309       not(holds_at(sleep2(Sleep6_Ret), Time12)),
  310       not(holds_at(sleep1(Sleep6_Ret), Time12)),
  311       holds_at(awake(Sleep6_Ret), Time12).
  312 */
  313axiom(holds_at(sleep6(Sleep6_Ret), Time12),
  314   
  315    [ not(holds_at(sleep5(Sleep6_Ret), Time12)),
  316      not(holds_at(sleep4(Sleep6_Ret), Time12)),
  317      not(holds_at(sleep3(Sleep6_Ret), Time12)),
  318      not(holds_at(sleep2(Sleep6_Ret), Time12)),
  319      not(holds_at(sleep1(Sleep6_Ret), Time12)),
  320      holds_at(awake(Sleep6_Ret), Time12)
  321    ]).
  322
  323 /*  not(holds_at(awake(Awake_Ret), Time14)) :-
  324       not(holds_at(sleep1(Awake_Ret), Time14)),
  325       not(holds_at(sleep2(Awake_Ret), Time14)),
  326       not(holds_at(sleep3(Awake_Ret), Time14)),
  327       not(holds_at(sleep4(Awake_Ret), Time14)),
  328       not(holds_at(sleep5(Awake_Ret), Time14)),
  329       not(holds_at(sleep6(Awake_Ret), Time14)).
  330 */
  331axiom(not(holds_at(awake(Awake_Ret), Time14)),
  332   
  333    [ not(holds_at(sleep1(Awake_Ret), Time14)),
  334      not(holds_at(sleep2(Awake_Ret), Time14)),
  335      not(holds_at(sleep3(Awake_Ret), Time14)),
  336      not(holds_at(sleep4(Awake_Ret), Time14)),
  337      not(holds_at(sleep5(Awake_Ret), Time14)),
  338      not(holds_at(sleep6(Awake_Ret), Time14))
  339    ]).
  340
  341
  342% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:75
  343%; A number of axioms are used to specify the transitions of
  344%; a finite automaton.
  345%;--
  346%; Waking up causes a transition from Sleep0
  347%; to Sleep1:
  348% [agent,time]
  349 
  350% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:81
  351% Terminates(WakeUp(agent),Sleep0(agent),time).
  352axiom(terminates(wakeUp(Agent), sleep0(Agent), Time),
  353    []).
  354
  355
  356% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:83
  357% [agent,time]
  358 % Initiates(WakeUp(agent),Sleep1(agent),time).
  359axiom(initiates(wakeUp(Agent), sleep1(Agent), Time),
  360    []).
  361
  362
  363% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:85
  364% [agent,time]
  365 % Happens(WakeUp(agent),time) -> HoldsAt(Sleep0(agent),time).
  366axiom(requires(wakeUp(Agent), Time),
  367    [holds_at(sleep0(Agent), Time)]).
  368
  369
  370% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:87
  371%;--
  372%; Getting out of bed causes a transition from Sleep1
  373%; to Sleep2:
  374% [agent,bed,time]
  375 
  376% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:91
  377% Terminates(RiseFrom(agent,bed),Sleep1(agent),time).
  378axiom(terminates(riseFrom(Agent, Bed), sleep1(Agent), Time),
  379    []).
  380
  381
  382% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:93
  383% [agent,bed,time]
  384 % Initiates(RiseFrom(agent,bed),Sleep2(agent),time).
  385axiom(initiates(riseFrom(Agent, Bed), sleep2(Agent), Time),
  386    []).
  387
  388
  389% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:95
  390% [agent,bed,time]
  391% Happens(RiseFrom(agent,bed),time) -> HoldsAt(Sleep1(agent),time).
  392% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:96
  393axiom(requires(riseFrom(Agent, Bed), Time),
  394    [holds_at(sleep1(Agent), Time)]).
  395
  396
  397% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:98
  398%;--
  399%; Getting dressed causes a transition from Sleep2
  400%; to Sleep3, the normal state of awakeness:
  401% [agent,time]
  402 
  403% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:102
  404% Terminates(GetDressed(agent),Sleep2(agent),time).
  405axiom(terminates(getDressed(Agent), sleep2(Agent), Time),
  406    []).
  407
  408
  409% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:104
  410% [agent,time]
  411 % Initiates(GetDressed(agent),Sleep3(agent),time).
  412axiom(initiates(getDressed(Agent), sleep3(Agent), Time),
  413    []).
  414
  415
  416% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:106
  417% [agent,time]
  418 % Happens(GetDressed(agent),time) -> HoldsAt(Sleep2(agent),time).
  419axiom(requires(getDressed(Agent), Time),
  420    [holds_at(sleep2(Agent), Time)]).
  421
  422
  423% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:108
  424%;--
  425%; Getting tired causes a transition from Sleep3
  426%; to Sleep4:
  427% [agent,time]
  428 
  429% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:112
  430% Terminates(GetTired(agent),Sleep3(agent),time).
  431axiom(terminates(getTired(Agent), sleep3(Agent), Time),
  432    []).
  433
  434
  435% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:114
  436% [agent,time]
  437 % Initiates(GetTired(agent),Sleep4(agent),time).
  438axiom(initiates(getTired(Agent), sleep4(Agent), Time),
  439    []).
  440
  441
  442% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:116
  443% [agent,time]
  444 % Happens(GetTired(agent),time) -> HoldsAt(Sleep3(agent),time).
  445axiom(requires(getTired(Agent), Time),
  446    [holds_at(sleep3(Agent), Time)]).
  447
  448
  449% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:118
  450%;--
  451%; Getting undressed causes a transition from Sleep4
  452%; to Sleep5:
  453% [agent,time]
  454 
  455% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:122
  456% Terminates(GetUndressed(agent),Sleep4(agent),time).
  457axiom(terminates(getUndressed(Agent), sleep4(Agent), Time),
  458    []).
  459
  460
  461% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:124
  462% [agent,time]
  463 % Initiates(GetUndressed(agent),Sleep5(agent),time).
  464axiom(initiates(getUndressed(Agent), sleep5(Agent), Time),
  465    []).
  466
  467
  468% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:126
  469% [agent,time]
  470 % Happens(GetUndressed(agent),time) -> HoldsAt(Sleep4(agent),time).
  471axiom(requires(getUndressed(Agent), Time),
  472    [holds_at(sleep4(Agent), Time)]).
  473
  474
  475% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:128
  476%;--
  477%; Lying on a bed causes a transition from Sleep5
  478%; to Sleep6:
  479% [agent,bed,time]
  480 
  481% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:132
  482% Terminates(LieOn(agent,bed),Sleep5(agent),time).
  483axiom(terminates(lieOn(Agent, Bed), sleep5(Agent), Time),
  484    []).
  485
  486
  487% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:134
  488% [agent,bed,time]
  489 % Initiates(LieOn(agent,bed),Sleep6(agent),time).
  490axiom(initiates(lieOn(Agent, Bed), sleep6(Agent), Time),
  491    []).
  492
  493
  494% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:136
  495% [agent,bed,time]
  496 % Happens(LieOn(agent,bed),time) -> HoldsAt(Sleep5(agent),time).
  497axiom(requires(lieOn(Agent, Bed), Time),
  498    [holds_at(sleep5(Agent), Time)]).
  499
  500
  501% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:138
  502%;--
  503%; Falling asleep causes a transition from Sleep6
  504%; to Sleep0:
  505% [agent,time]
  506 
  507% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:142
  508% Terminates(FallAsleep(agent),Sleep6(agent),time).
  509axiom(terminates(fallAsleep(Agent), sleep6(Agent), Time),
  510    []).
  511
  512
  513% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:144
  514% [agent,time]
  515 % Initiates(FallAsleep(agent),Sleep0(agent),time).
  516axiom(initiates(fallAsleep(Agent), sleep0(Agent), Time),
  517    []).
  518
  519
  520% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:146
  521% [agent,time]
  522 % Happens(FallAsleep(agent),time) -> HoldsAt(Sleep6(agent),time).
  523axiom(requires(fallAsleep(Agent), Time),
  524    [holds_at(sleep6(Agent), Time)]).
  525
  526
  527% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:148
  528%;--
  529%; agent acts on being in state Sleep5.
  530
  531% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:151
  532% fluent ActOnSleep5(agent)
  533 %  fluent(actOnSleep5(agent)).
  534% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:152
  535==> mpred_prop(actOnSleep5(agent),fluent).
  536==> meta_argtypes(actOnSleep5(agent)).
  537
  538% noninertial ActOnSleep5
  539% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:153
  540==> noninertial(actOnSleep5).
  541%; We reduce the number of models by asserting that
  542%; an agent only acts on being in state Sleep5 while in
  543%; that state:
  544% [agent,time]
  545% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:158
  546% !HoldsAt(Sleep5(agent),time) ->
  547% !HoldsAt(ActOnSleep5(agent),time).
  548% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:159
  549axiom(not(holds_at(actOnSleep5(Agent), Time)),
  550    [not(holds_at(sleep5(Agent), Time))]).
  551
  552
  553% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:161
  554%; Undressed is like IntentionToPlay
  555%; ActOnSleep5 is like ActOnIntentionToPlay
  556%; A trigger axiom states that if an agent is in state Sleep5,
  557%; the agent acts on this state, the agent is in a room, and
  558%; a bed is at the room, the agent lies on the bed:
  559% [agent,room,bed,time]
  560% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:168
  561% HoldsAt(Sleep5(agent),time) &
  562% HoldsAt(ActOnSleep5(agent),time) &
  563% HoldsAt(At(agent,room),time) &
  564% HoldsAt(At(bed,room),time) ->
  565% Happens(LieOn(agent,bed),time).
  566% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:172
  567axiom(happens(lieOn(Agent, Bed), Time),
  568   
  569    [ holds_at(sleep5(Agent), Time),
  570      holds_at(actOnSleep5(Agent), Time),
  571      holds_at(at(Agent, Room), Time),
  572      holds_at(at(Bed, Room), Time)
  573    ]).
  574
  575
  576% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:174
  577%; A precondition axiom states that for
  578%; an agent to lie on a bed,
  579%; the agent must be in state Sleep5,
  580%; the agent must act on this state, and
  581%; there must be a room such that
  582%; the agent is in the room and the bed is in the room:
  583% [agent,bed,time]
  584% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:181
  585% Happens(LieOn(agent,bed),time) ->
  586% HoldsAt(Sleep5(agent),time) &
  587% HoldsAt(ActOnSleep5(agent),time) &
  588% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:184
  589% {room}% 
  590%  HoldsAt(At(agent,room),time) &
  591%  HoldsAt(At(bed,room),time).
  592
  593 /*   exists([Room],
  594             if(happens(lieOn(Agent, Bed), Time),
  595                 (holds_at(sleep5(Agent), Time), holds_at(actOnSleep5(Agent), Time), holds_at(at(Agent, Room), Time), holds_at(at(Bed, Room), Time)))).
  596 */
  597
  598 /*  not(some(Location, '$kolem_Fn_186'(Fn_186_Param, At_Param, Maptime))) :-
  599       happens(lieOn(Fn_186_Param, At_Param), Maptime),
  600       (   not(holds_at(sleep5(Fn_186_Param), Maptime))
  601       ;   not(holds_at(actOnSleep5(Fn_186_Param), Maptime))
  602       ;   not(holds_at(at(Fn_186_Param, Location), Maptime))
  603       ;   not(holds_at(at(At_Param, Location), Maptime))
  604       ).
  605 */
  606% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:186
  607axiom(not(some(Location, '$kolem_Fn_186'(Fn_186_Param, At_Param, Maptime))),
  608   
  609    [ not(holds_at(sleep5(Fn_186_Param), Maptime)),
  610      happens(lieOn(Fn_186_Param, At_Param), Maptime)
  611    ]).
  612axiom(not(some(Location, '$kolem_Fn_186'(Fn_186_Param, At_Param, Maptime))),
  613   
  614    [ not(holds_at(actOnSleep5(Fn_186_Param), Maptime)),
  615      happens(lieOn(Fn_186_Param, At_Param), Maptime)
  616    ]).
  617axiom(not(some(Location, '$kolem_Fn_186'(Fn_186_Param, At_Param, Maptime))),
  618   
  619    [ not(holds_at(at(Fn_186_Param, Location), Maptime)),
  620      happens(lieOn(Fn_186_Param, At_Param), Maptime)
  621    ]).
  622axiom(not(some(Location, '$kolem_Fn_186'(Fn_186_Param, At_Param, Maptime))),
  623   
  624    [ not(holds_at(at(At_Param, Location), Maptime)),
  625      happens(lieOn(Fn_186_Param, At_Param), Maptime)
  626    ]).
  627
  628 /*  not(happens(lieOn(LieOn_Param, At_Param12), Maptime9)) :-
  629       (   not(holds_at(sleep5(LieOn_Param), Maptime9))
  630       ;   not(holds_at(actOnSleep5(LieOn_Param), Maptime9))
  631       ;   not(holds_at(at(LieOn_Param, Location10), Maptime9))
  632       ;   not(holds_at(at(At_Param12, Location10), Maptime9))
  633       ),
  634       some(Location10,
  635            '$kolem_Fn_186'(LieOn_Param, At_Param12, Maptime9)).
  636 */
  637axiom(not(happens(lieOn(LieOn_Param, At_Param12), Maptime9)),
  638   
  639    [ not(holds_at(sleep5(LieOn_Param), Maptime9)),
  640      some(Location10,
  641           '$kolem_Fn_186'(LieOn_Param, At_Param12, Maptime9))
  642    ]).
  643axiom(not(happens(lieOn(LieOn_Param, At_Param12), Maptime9)),
  644   
  645    [ not(holds_at(actOnSleep5(LieOn_Param), Maptime9)),
  646      some(Location10,
  647           '$kolem_Fn_186'(LieOn_Param, At_Param12, Maptime9))
  648    ]).
  649axiom(not(happens(lieOn(LieOn_Param, At_Param12), Maptime9)),
  650   
  651    [ not(holds_at(at(LieOn_Param, Location10), Maptime9)),
  652      some(Location10,
  653           '$kolem_Fn_186'(LieOn_Param, At_Param12, Maptime9))
  654    ]).
  655axiom(not(happens(lieOn(LieOn_Param, At_Param12), Maptime9)),
  656   
  657    [ not(holds_at(at(At_Param12, Location10), Maptime9)),
  658      some(Location10,
  659           '$kolem_Fn_186'(LieOn_Param, At_Param12, Maptime9))
  660    ]).
  661
  662 /*  holds_at(sleep5(LieOn_Param14), Time13) :-
  663       happens(lieOn(LieOn_Param14, LieOn_Ret), Time13),
  664       some(Some_Param,
  665            '$kolem_Fn_186'(LieOn_Param14, LieOn_Ret, Time13)).
  666 */
  667axiom(holds_at(sleep5(LieOn_Param14), Time13),
  668   
  669    [ happens(lieOn(LieOn_Param14, LieOn_Ret), Time13),
  670      some(Some_Param,
  671           '$kolem_Fn_186'(LieOn_Param14, LieOn_Ret, Time13))
  672    ]).
  673
  674 /*  holds_at(actOnSleep5(LieOn_Param18), Time17) :-
  675       happens(lieOn(LieOn_Param18, LieOn_Ret20), Time17),
  676       some(Some_Param19,
  677            '$kolem_Fn_186'(LieOn_Param18, LieOn_Ret20, Time17)).
  678 */
  679axiom(holds_at(actOnSleep5(LieOn_Param18), Time17),
  680   
  681    [ happens(lieOn(LieOn_Param18, LieOn_Ret20), Time17),
  682      some(Some_Param19,
  683           '$kolem_Fn_186'(LieOn_Param18, LieOn_Ret20, Time17))
  684    ]).
  685
  686 /*  holds_at(at(At_Param23, Location21), Time22) :-
  687       happens(lieOn(At_Param23, LieOn_Ret24), Time22),
  688       some(Location21,
  689            '$kolem_Fn_186'(At_Param23, LieOn_Ret24, Time22)).
  690 */
  691axiom(holds_at(at(At_Param23, Location21), Time22),
  692   
  693    [ happens(lieOn(At_Param23, LieOn_Ret24), Time22),
  694      some(Location21,
  695           '$kolem_Fn_186'(At_Param23, LieOn_Ret24, Time22))
  696    ]).
  697
  698 /*  holds_at(at(At_Param27, Location25), Time26) :-
  699       happens(lieOn(LieOn_Param28, At_Param27), Time26),
  700       some(Location25,
  701            '$kolem_Fn_186'(LieOn_Param28, At_Param27, Time26)).
  702 */
  703axiom(holds_at(at(At_Param27, Location25), Time26),
  704   
  705    [ happens(lieOn(LieOn_Param28, At_Param27), Time26),
  706      some(Location25,
  707           '$kolem_Fn_186'(LieOn_Param28, At_Param27, Time26))
  708    ]).
  709
  710
  711% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:188
  712%; (body) posture
  713%; agent lies on physobj.
  714
  715% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:191
  716% event LieOn(agent,physobj)
  717 %  event(lieOn(agent,physobj)).
  718% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:192
  719==> mpred_prop(lieOn(agent,physobj),event).
  720==> meta_argtypes(lieOn(agent,physobj)).
  721
  722
  723% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:193
  724%; agent sits on physobj.
  725
  726% event SitOn(agent,physobj)
  727 %  event(sitOn(agent,physobj)).
  728% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:195
  729==> mpred_prop(sitOn(agent,physobj),event).
  730==> meta_argtypes(sitOn(agent,physobj)).
  731
  732
  733% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:196
  734% [agent,physobj,time]
  735% Happens(SitOn(agent,physobj),time) ->
  736% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:198
  737% {location}% 
  738%  HoldsAt(At(agent,location),time) &
  739%  HoldsAt(At(physobj,location),time).
  740
  741 /*   exists([Location],
  742             if(happens(sitOn(Agent, Physobj), Time),
  743                 (holds_at(at(Agent, Location), Time), holds_at(at(Physobj, Location), Time)))).
  744 */
  745
  746 /*  not(some(Location6, '$kolem_Fn_187'(Fn_187_Param, At_Param, Maptime))) :-
  747       happens(sitOn(Fn_187_Param, At_Param), Maptime),
  748       (   not(holds_at(at(Fn_187_Param, Location6), Maptime))
  749       ;   not(holds_at(at(At_Param, Location6), Maptime))
  750       ).
  751 */
  752% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:200
  753axiom(not(some(Location6, '$kolem_Fn_187'(Fn_187_Param, At_Param, Maptime))),
  754   
  755    [ not(holds_at(at(Fn_187_Param, Location6), Maptime)),
  756      happens(sitOn(Fn_187_Param, At_Param), Maptime)
  757    ]).
  758axiom(not(some(Location6, '$kolem_Fn_187'(Fn_187_Param, At_Param, Maptime))),
  759   
  760    [ not(holds_at(at(At_Param, Location6), Maptime)),
  761      happens(sitOn(Fn_187_Param, At_Param), Maptime)
  762    ]).
  763
  764 /*  not(happens(sitOn(SitOn_Param, At_Param12), Maptime9)) :-
  765       (   not(holds_at(at(SitOn_Param, Location10), Maptime9))
  766       ;   not(holds_at(at(At_Param12, Location10), Maptime9))
  767       ),
  768       some(Location10,
  769            '$kolem_Fn_187'(SitOn_Param, At_Param12, Maptime9)).
  770 */
  771axiom(not(happens(sitOn(SitOn_Param, At_Param12), Maptime9)),
  772   
  773    [ not(holds_at(at(SitOn_Param, Location10), Maptime9)),
  774      some(Location10,
  775           '$kolem_Fn_187'(SitOn_Param, At_Param12, Maptime9))
  776    ]).
  777axiom(not(happens(sitOn(SitOn_Param, At_Param12), Maptime9)),
  778   
  779    [ not(holds_at(at(At_Param12, Location10), Maptime9)),
  780      some(Location10,
  781           '$kolem_Fn_187'(SitOn_Param, At_Param12, Maptime9))
  782    ]).
  783
  784 /*  holds_at(at(At_Param15, Location13), Time14) :-
  785       happens(sitOn(At_Param15, SitOn_Ret), Time14),
  786       some(Location13,
  787            '$kolem_Fn_187'(At_Param15, SitOn_Ret, Time14)).
  788 */
  789axiom(holds_at(at(At_Param15, Location13), Time14),
  790   
  791    [ happens(sitOn(At_Param15, SitOn_Ret), Time14),
  792      some(Location13,
  793           '$kolem_Fn_187'(At_Param15, SitOn_Ret, Time14))
  794    ]).
  795
  796 /*  holds_at(at(At_Param19, Location17), Time18) :-
  797       happens(sitOn(SitOn_Param20, At_Param19), Time18),
  798       some(Location17,
  799            '$kolem_Fn_187'(SitOn_Param20, At_Param19, Time18)).
  800 */
  801axiom(holds_at(at(At_Param19, Location17), Time18),
  802   
  803    [ happens(sitOn(SitOn_Param20, At_Param19), Time18),
  804      some(Location17,
  805           '$kolem_Fn_187'(SitOn_Param20, At_Param19, Time18))
  806    ]).
  807
  808
  809% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:202
  810%; agent rises from physobj.
  811
  812% event RiseFrom(agent,physobj)
  813 %  event(riseFrom(agent,physobj)).
  814% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:204
  815==> mpred_prop(riseFrom(agent,physobj),event).
  816==> meta_argtypes(riseFrom(agent,physobj)).
  817
  818
  819% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:205
  820%; agent is lying on physobj.
  821
  822% fluent LyingOn(agent,physobj)
  823 %  fluent(lyingOn(agent,physobj)).
  824% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:207
  825==> mpred_prop(lyingOn(agent,physobj),fluent).
  826==> meta_argtypes(lyingOn(agent,physobj)).
  827
  828
  829% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:207
  830%; agent is sitting on physobj.
  831
  832% fluent SittingOn(agent,physobj)
  833 %  fluent(sittingOn(agent,physobj)).
  834% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:209
  835==> mpred_prop(sittingOn(agent,physobj),fluent).
  836==> meta_argtypes(sittingOn(agent,physobj)).
  837
  838
  839% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:209
  840%; agent is standing.
  841
  842% fluent Standing(agent)
  843 %  fluent(standing(agent)).
  844% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:211
  845==> mpred_prop(standing(agent),fluent).
  846==> meta_argtypes(standing(agent)).
  847
  848
  849% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:212
  850%; agent is lying down.
  851
  852% fluent Lying(agent)
  853 %  fluent(lying(agent)).
  854% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:214
  855==> mpred_prop(lying(agent),fluent).
  856==> meta_argtypes(lying(agent)).
  857
  858
  859% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:214
  860%; agent is sitting.
  861
  862% fluent Sitting(agent)
  863 %  fluent(sitting(agent)).
  864% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:216
  865==> mpred_prop(sitting(agent),fluent).
  866==> meta_argtypes(sitting(agent)).
  867
  868% noninertial Lying
  869% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:217
  870==> noninertial(lying).
  871
  872% noninertial Sitting
  873% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:218
  874==> noninertial(sitting).
  875%; At any time, an agent is either lying, sitting, or standing:
  876
  877% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:220
  878% xor Lying, Sitting, Standing
  879% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:221
  880xor([lying,sitting,standing]).
  881
  882
  883% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:222
  884% [agent,physobj,time]
  885% HoldsAt(LyingOn(agent,physobj),time) ->
  886% HoldsAt(Lying(agent),time).
  887% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:224
  888axiom(holds_at(lying(Agent), Time),
  889    [holds_at(lyingOn(Agent, Physobj), Time)]).
  890
  891
  892% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:226
  893% [agent,physobj,time]
  894% HoldsAt(SittingOn(agent,physobj),time) ->
  895% HoldsAt(Sitting(agent),time).
  896% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:228
  897axiom(holds_at(sitting(Agent), Time),
  898    [holds_at(sittingOn(Agent, Physobj), Time)]).
  899
  900
  901% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:230
  902%; State constraints represent that an agent can lie or sit
  903%; on at most one object at a time:
  904% [agent,physobj1,physobj2,time]
  905% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:233
  906% HoldsAt(LyingOn(agent,physobj1),time) &
  907% HoldsAt(LyingOn(agent,physobj2),time) ->
  908% physobj1=physobj2.
  909% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:235
  910axiom(Physobj1=Physobj2,
  911   
  912    [ holds_at(lyingOn(Agent, Physobj1), Time),
  913      holds_at(lyingOn(Agent, Physobj2), Time)
  914    ]).
  915
  916
  917% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:237
  918% [agent,physobj1,physobj2,time]
  919% HoldsAt(SittingOn(agent,physobj1),time) &
  920% HoldsAt(SittingOn(agent,physobj2),time) ->
  921% physobj1=physobj2.
  922% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:240
  923axiom(Physobj1=Physobj2,
  924   
  925    [ holds_at(sittingOn(Agent, Physobj1), Time),
  926      holds_at(sittingOn(Agent, Physobj2), Time)
  927    ]).
  928
  929
  930% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:242
  931%; An effect axiom states that if an agent is standing and
  932%; lies on a physical object, the agent will be lying on
  933%; the physical object:
  934% [agent,physobj,time]
  935% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:246
  936% HoldsAt(Standing(agent),time) ->
  937% Initiates(LieOn(agent,physobj),
  938%           LyingOn(agent,physobj),
  939%           time).
  940% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:249
  941axiom(initiates(lieOn(Agent, Physobj), lyingOn(Agent, Physobj), Time),
  942    [holds_at(standing(Agent), Time)]).
  943
  944
  945% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:251
  946%; An effect axiom states that if an agent
  947%; lies on a physical object, the agent will no longer
  948%; be standing:
  949% [agent,physobj,time]
  950% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:255
  951% Terminates(LieOn(agent,physobj),
  952%            Standing(agent),
  953%            time).
  954% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:257
  955axiom(terminates(lieOn(Agent, Physobj), standing(Agent), Time),
  956    []).
  957
  958
  959% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:259
  960%; An effect axiom states that if an agent is standing and
  961%; sits on a physical object, the agent will be sitting on
  962%; the physical object:
  963% [agent,physobj,time]
  964% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:263
  965% HoldsAt(Standing(agent),time) ->
  966% Initiates(SitOn(agent,physobj),
  967%           SittingOn(agent,physobj),
  968%           time).
  969% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:266
  970axiom(initiates(sitOn(Agent, Physobj), sittingOn(Agent, Physobj), Time),
  971    [holds_at(standing(Agent), Time)]).
  972
  973
  974% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:268
  975%; An effect axiom states that if an agent
  976%; sits on a physical object, the agent will no longer
  977%; be standing:
  978% [agent,physobj,time]
  979% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:272
  980% Terminates(SitOn(agent,physobj),
  981%            Standing(agent),
  982%            time).
  983% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:274
  984axiom(terminates(sitOn(Agent, Physobj), standing(Agent), Time),
  985    []).
  986
  987
  988% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:276
  989%; An effect axiom states that if an agent
  990%; is sitting or lying on a physical object and
  991%; the agent rises from the physical object,
  992%; the agent will be standing:
  993% [agent,physobj,time]
  994% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:281
  995% (HoldsAt(SittingOn(agent,physobj),time) |
  996%  HoldsAt(LyingOn(agent,physobj),time)) ->
  997% Initiates(RiseFrom(agent,physobj),
  998%           Standing(agent),
  999%           time).
 1000% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:285
 1001axiom(initiates(riseFrom(Agent, Physobj), standing(Agent), Time),
 1002    [holds_at(sittingOn(Agent, Physobj), Time)]).
 1003axiom(initiates(riseFrom(Agent, Physobj), standing(Agent), Time),
 1004    [holds_at(lyingOn(Agent, Physobj), Time)]).
 1005
 1006
 1007% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:287
 1008%; An effect axiom states that if an agent is sitting on
 1009%; a physical object and the agent rises from the physical
 1010%; object, the agent will no longer be sitting on the
 1011%; physical object:
 1012% [agent,physobj,time]
 1013% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:292
 1014% HoldsAt(SittingOn(agent,physobj),time) ->
 1015% Terminates(RiseFrom(agent,physobj),
 1016%            SittingOn(agent,physobj),
 1017%            time).
 1018% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:295
 1019axiom(terminates(riseFrom(Agent, Physobj), sittingOn(Agent, Physobj), Time),
 1020    [holds_at(sittingOn(Agent, Physobj), Time)]).
 1021
 1022
 1023% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:297
 1024%; An effect axiom states that if an agent is lying on
 1025%; a physical object and the agent rises from the physical
 1026%; object, the agent will no longer be lying on the
 1027%; physical object:
 1028% [agent,physobj,time]
 1029% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:302
 1030% HoldsAt(LyingOn(agent,physobj),time) ->
 1031% Terminates(RiseFrom(agent,physobj),
 1032%            LyingOn(agent,physobj),
 1033%            time).
 1034% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:305
 1035axiom(terminates(riseFrom(Agent, Physobj), lyingOn(Agent, Physobj), Time),
 1036    [holds_at(lyingOn(Agent, Physobj), Time)]).
 1037
 1038
 1039% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:307
 1040%; dressing
 1041%; agent gets undressed.
 1042
 1043% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:310
 1044% event GetDressed(agent)
 1045 %  event(getDressed(agent)).
 1046% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:311
 1047==> mpred_prop(getDressed(agent),event).
 1048==> meta_argtypes(getDressed(agent)).
 1049
 1050
 1051% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:311
 1052%; agent gets dressed.
 1053
 1054% event GetUndressed(agent)
 1055 %  event(getUndressed(agent)).
 1056% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:313
 1057==> mpred_prop(getUndressed(agent),event).
 1058==> meta_argtypes(getUndressed(agent)).
 1059
 1060
 1061% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:313
 1062%; agent is dressed.
 1063
 1064% fluent Dressed(agent)
 1065 %  fluent(dressed(agent)).
 1066% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:315
 1067==> mpred_prop(dressed(agent),fluent).
 1068==> meta_argtypes(dressed(agent)).
 1069
 1070
 1071% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:316
 1072%; Effect axioms deal with getting dressed and undressed:
 1073% [agent,time]
 1074 % Initiates(GetDressed(agent),Dressed(agent),time).
 1075% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:317
 1076axiom(initiates(getDressed(Agent), dressed(Agent), Time),
 1077    []).
 1078
 1079
 1080% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:318
 1081% [agent,time]
 1082 % Terminates(GetUndressed(agent),Dressed(agent),time).
 1083axiom(terminates(getUndressed(Agent), dressed(Agent), Time),
 1084    []).
 1085
 1086
 1087% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ecnet/Sleep.e:320
 1088%; End of file.