2:-include(library('ec_planner/ec_test_incl')).    3% 
    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%; DEV-MUC3-0008
   15%; Kidnapping
   16%;
   17%; @article{Mueller:2004c,
   18%;   author = "Erik T. Mueller",
   19%;   year = "2004",
   20%;   title = "Understanding script-based stories using commonsense reasoning",
   21%;   journal = "Cognitive Systems Research",
   22%;   volume = "5",
   23%;   number = "4",
   24%;   pages = "307--340",
   25%; }
   26%;
   27% ecnet/Kidnapping.e:24
   28% 
   29% ignore SkyOf, GroundOf, Near, WalkFromTo, RunFromTo
   30 /*
   31.
   32*/
   33.
   34
   35 /*
   36.
   37*/
   38.
   39
   40 /*
   41.
   42*/
   43.
   44
   45 /*
   46.
   47*/
   48.
   49
   50 /*
   51.
   52*/
   53.
   54
   55% ignore RollAlong, Diameter, Move, HoldSome
   56 /*
   57.
   58*/
   59.
   60
   61 /*
   62.
   63*/
   64.
   65
   66 /*
   67.
   68*/
   69.
   70
   71 /*
   72.
   73*/
   74.
   75
   76% ignore On, DoorUnlock, DoorLock
   77 /*
   78.
   79*/
   80.
   81
   82 /*
   83.
   84*/
   85.
   86
   87 /*
   88.
   89*/
   90.
   91
   92% ignore WalkDownStaircase, WalkUpStaircase
   93 /*
   94.
   95*/
   96.
   97
   98 /*
   99.
  100*/
  101.
  102
  103% 
  104% ecnet/Kidnapping.e:30
  105% ignore Request, KnowRequest, Order, KnowOrder, SayGoodbye
  106 /*
  107.
  108*/
  109.
  110
  111 /*
  112.
  113*/
  114.
  115
  116 /*
  117.
  118*/
  119.
  120
  121 /*
  122.
  123*/
  124.
  125
  126 /*
  127.
  128*/
  129.
  130
  131% ignore IntentionToWalkIn, InvitedIn
  132 /*
  133.
  134*/
  135.
  136
  137 /*
  138.
  139*/
  140.
  141
  142% ignore Snowing
  143 /*
  144.
  145*/
  146.
  147
  148% ignore Like, Dislike, LikeSnow
  149 /*
  150.
  151*/
  152.
  153
  154 /*
  155.
  156*/
  157.
  158
  159 /*
  160.
  161*/
  162.
  163
  164% 
  165% load foundations/Root.e
  166% ecnet/Kidnapping.e:36
  167% load foundations/EC.e
  168% load answers/Mueller2003/Ontology.e
  169% 
  170%;
  171%; Copyright (c) 2005 IBM Corporation and others.
  172%; All rights reserved. This program and the accompanying materials
  173%; are made available under the terms of the Common Public License v1.0
  174%; which accompanies this distribution, and is available at
  175%; http://www.eclipse.org/legal/cpl-v10.html
  176%;
  177%; Contributors:
  178%; IBM - Initial implementation
  179%;
  180%; integer
  181%;
  182% 
  183% sort diameter: integer
  184 /*
  185.
  186*/
  187.
  188.
  189.
  190
  191% 
  192%; object
  193% 
  194% sort object
  195 /*
  196.
  197*/
  198.
  199
  200% 
  201% sort agent: object
  202 /*
  203.
  204*/
  205.
  206.
  207.
  208
  209% 
  210% sort physobj: object
  211 /*
  212.
  213*/
  214.
  215.
  216.
  217
  218% sort bed: physobj
  219 /*
  220.
  221*/
  222.
  223.
  224.
  225
  226% sort snowflake: physobj
  227 /*
  228.
  229*/
  230.
  231.
  232.
  233
  234% sort sky: physobj
  235 /*
  236.
  237*/
  238.
  239.
  240.
  241
  242% 
  243% sort stuff: physobj
  244 /*
  245.
  246*/
  247.
  248.
  249.
  250
  251% 
  252% sort surface: physobj
  253 /*
  254.
  255*/
  256.
  257.
  258.
  259
  260% sort ground: surface
  261 /*
  262.
  263*/
  264.
  265.
  266.
  267
  268% 
  269% sort snow: stuff
  270 /*
  271.
  272*/
  273.
  274.
  275.
  276
  277% sort ball
  278 /*
  279.
  280*/
  281.
  282
  283% 
  284% sort food: physobj
  285 /*
  286.
  287*/
  288.
  289.
  290.
  291
  292% sort fruit: food
  293 /*
  294.
  295*/
  296.
  297.
  298.
  299
  300% sort orange: fruit
  301 /*
  302.
  303*/
  304.
  305.
  306.
  307
  308% sort salad: food
  309 /*
  310.
  311*/
  312.
  313.
  314.
  315
  316% 
  317% sort clothing: physobj
  318 /*
  319.
  320*/
  321.
  322.
  323.
  324
  325% sort scarf: clothing
  326 /*
  327.
  328*/
  329.
  330.
  331.
  332
  333% sort hat: clothing
  334 /*
  335.
  336*/
  337.
  338.
  339.
  340
  341% 
  342% sort vegetablematter: physobj
  343 /*
  344.
  345*/
  346.
  347.
  348.
  349
  350% sort coal: vegetablematter
  351 /*
  352.
  353*/
  354.
  355.
  356.
  357
  358% 
  359% sort bodypart: physobj
  360 /*
  361.
  362*/
  363.
  364.
  365.
  366
  367% sort hand: bodypart
  368 /*
  369.
  370*/
  371.
  372.
  373.
  374
  375% 
  376% sort papertowels: physobj
  377 /*
  378.
  379*/
  380.
  381.
  382.
  383
  384% sort device: physobj
  385 /*
  386.
  387*/
  388.
  389.
  390.
  391
  392% sort electronicdevice: device
  393 /*
  394.
  395*/
  396.
  397.
  398.
  399
  400% sort lamp: electronicdevice
  401 /*
  402.
  403*/
  404.
  405.
  406.
  407
  408% 
  409% sort cat: physobj
  410 /*
  411.
  412*/
  413.
  414.
  415.
  416
  417% sort horse: physobj
  418 /*
  419.
  420*/
  421.
  422.
  423.
  424
  425% 
  426% sort weapon: physobj
  427 /*
  428.
  429*/
  430.
  431.
  432.
  433
  434% sort gun: weapon
  435 /*
  436.
  437*/
  438.
  439.
  440.
  441
  442% sort bomb: weapon
  443 /*
  444.
  445*/
  446.
  447.
  448.
  449
  450% sort bullet: weapon
  451 /*
  452.
  453*/
  454.
  455.
  456.
  457
  458% 
  459%; location
  460% 
  461% sort location
  462 /*
  463.
  464*/
  465.
  466
  467% sort room: location, outside: location
  468 /*
  469.
  470*/
  471.
  472.
  473.
  474
  475 /*
  476.
  477*/
  478.
  479.
  480.
  481
  482% 
  483%; portal
  484% 
  485% sort portal
  486 /*
  487.
  488*/
  489.
  490
  491% sort door: portal, staircase: portal
  492 /*
  493.
  494*/
  495.
  496.
  497.
  498
  499 /*
  500.
  501*/
  502.
  503.
  504.
  505
  506% sort street: portal
  507 /*
  508.
  509*/
  510.
  511.
  512.
  513
  514% sort track: portal
  515 /*
  516.
  517*/
  518.
  519.
  520.
  521
  522% 
  523% sort building
  524 /*
  525.
  526*/
  527.
  528
  529% 
  530% sort fire: object
  531 /*
  532.
  533*/
  534.
  535.
  536.
  537
  538% sort smoke: physobj
  539 /*
  540.
  541*/
  542.
  543.
  544.
  545
  546% 
  547% sort furniture: physobj
  548 /*
  549.
  550*/
  551.
  552.
  553.
  554
  555% sort chair: furniture
  556 /*
  557.
  558*/
  559.
  560.
  561.
  562
  563% sort table: furniture
  564 /*
  565.
  566*/
  567.
  568.
  569.
  570
  571% 
  572% sort bill: physobj
  573 /*
  574.
  575*/
  576.
  577.
  578.
  579
  580% sort ticket: physobj
  581 /*
  582.
  583*/
  584.
  585.
  586.
  587
  588% sort envelope: physobj
  589 /*
  590.
  591*/
  592.
  593.
  594.
  595
  596% 
  597% sort text: physobj
  598 /*
  599.
  600*/
  601.
  602.
  603.
  604
  605% sort book: text
  606 /*
  607.
  608*/
  609.
  610.
  611.
  612
  613% sort letter: text
  614 /*
  615.
  616*/
  617.
  618.
  619.
  620
  621% sort menu: text
  622 /*
  623.
  624*/
  625.
  626.
  627.
  628
  629% 
  630% sort paper: physobj
  631 /*
  632.
  633*/
  634.
  635.
  636.
  637
  638% 
  639% sort content
  640 /*
  641.
  642*/
  643.
  644
  645% sort script
  646 /*
  647.
  648*/
  649.
  650
  651% 
  652% sort container: physobj
  653 /*
  654.
  655*/
  656.
  657.
  658.
  659
  660% sort cigarette: physobj
  661 /*
  662.
  663*/
  664.
  665.
  666.
  667
  668% sort ashtray: physobj
  669 /*
  670.
  671*/
  672.
  673.
  674.
  675
  676% sort umbrella: physobj
  677 /*
  678.
  679*/
  680.
  681.
  682.
  683
  684% 
  685% sort pen: physobj
  686 /*
  687.
  688*/
  689.
  690.
  691.
  692
  693% 
  694%; End of file.
  695% load answers/Mueller2004c/OTSpaceM.e
  696 /*
  697.
  698*/
  699.
  700
  701% load answers/Mueller2004c/RTSpaceM.e
  702 /*
  703.
  704*/
  705.
  706
  707% load answers/Mueller2003/Feeling.e
  708% 
  709%;
  710%; Copyright (c) 2005 IBM Corporation and others.
  711%; All rights reserved. This program and the accompanying materials
  712%; are made available under the terms of the Common Public License v1.0
  713%; which accompanies this distribution, and is available at
  714%; http://www.eclipse.org/legal/cpl-v10.html
  715%;
  716%; Contributors:
  717%; IBM - Initial implementation
  718%;
  719%; feeling = emotion, attitude, ...
  720%;
  721%; The Feeling representation includes simple positive, neutral, and
  722%; negative emotions, and positive, neutral, and negative attitudes
  723%; toward objects.
  724%;
  725% 
  726%; emotions
  727% 
  728%; agent is happy.
  729% fluent Happy(agent)
  730 /*
  731.
  732*/
  733.
  734
  735% 
  736%; agent is emotionally neutral or calm.
  737% fluent Calm(agent)
  738 /*
  739.
  740*/
  741.
  742
  743% 
  744%; agent is unhappy.
  745% fluent Unhappy(agent)
  746 /*
  747.
  748*/
  749.
  750
  751% 
  752%; At any moment, an agent is in one of three emotional states:
  753% xor Happy, Calm, Unhappy
  754 /*
  755.
  756*/
  757.
  758
  759% 
  760%; agent becomes happy.
  761% event BecomeHappy(agent)
  762 /*
  763.
  764*/
  765.
  766
  767% 
  768%; agent becomes calm.
  769% event BecomeCalm(agent)
  770 /*
  771.
  772*/
  773.
  774
  775% 
  776%; agent becomes unhappy.
  777% event BecomeUnhappy(agent)
  778 /*
  779.
  780*/
  781.
  782
  783% 
  784%; A number of effect and precondition axioms deal with the transitions
  785%; from one emotional state to another:
  786% ecnet/Kidnapping.e:41
  787% [agent,time]% 
  788% Initiates(BecomeHappy(agent),Happy(agent),time).
  789 /*
  790.
  791*/
  792.
  793
  794% 
  795% 
  796% ecnet/Kidnapping.e:41
  797% [agent,time]% 
  798% HoldsAt(Calm(agent),time) ->
  799% Terminates(BecomeHappy(agent),Calm(agent),time).
  800 /*
  801holds_at(calm(Agent), Time) ->
  802    terminates(becomeHappy(Agent), calm(Agent), Time).
  803*/
  804.
  805
  806% 
  807% 
  808% ecnet/Kidnapping.e:41
  809% [agent,time]% 
  810% HoldsAt(Unhappy(agent),time) ->
  811% Terminates(BecomeHappy(agent),Unhappy(agent),time).
  812 /*
  813holds_at(unhappy(Agent), Time) ->
  814    terminates(becomeHappy(Agent), unhappy(Agent), Time).
  815*/
  816.
  817
  818% 
  819% 
  820% ecnet/Kidnapping.e:41
  821% [agent,time]% 
  822% Happens(BecomeHappy(agent),time) ->
  823% !HoldsAt(Happy(agent),time).
  824 /*
  825happens(becomeHappy(Agent), Time) ->
  826    not(holds_at(happy(Agent), Time)).
  827*/
  828.
  829
  830% 
  831% 
  832% ecnet/Kidnapping.e:41
  833% [agent,time]% 
  834% Initiates(BecomeCalm(agent),Calm(agent),time).
  835 /*
  836.
  837*/
  838.
  839
  840% 
  841% 
  842% ecnet/Kidnapping.e:41
  843% [agent,time]% 
  844% HoldsAt(Happy(agent),time) ->
  845% Terminates(BecomeCalm(agent),Happy(agent),time).
  846 /*
  847holds_at(happy(Agent), Time) ->
  848    terminates(becomeCalm(Agent), happy(Agent), Time).
  849*/
  850.
  851
  852% 
  853% 
  854% ecnet/Kidnapping.e:41
  855% [agent,time]% 
  856% HoldsAt(Unhappy(agent),time) ->
  857% Terminates(BecomeCalm(agent),Unhappy(agent),time).
  858 /*
  859holds_at(unhappy(Agent), Time) ->
  860    terminates(becomeCalm(Agent), unhappy(Agent), Time).
  861*/
  862.
  863
  864% 
  865% 
  866% ecnet/Kidnapping.e:41
  867% [agent,time]% 
  868% Happens(BecomeCalm(agent),time) -> !HoldsAt(Calm(agent),time).
  869 /*
  870happens(becomeCalm(Agent), Time) ->
  871    not(holds_at(calm(Agent), Time)).
  872*/
  873.
  874
  875% 
  876% 
  877% ecnet/Kidnapping.e:41
  878% [agent,time]% 
  879% Initiates(BecomeUnhappy(agent),Unhappy(agent),time).
  880 /*
  881.
  882*/
  883.
  884
  885% 
  886% 
  887% ecnet/Kidnapping.e:41
  888% [agent,time]% 
  889% HoldsAt(Happy(agent),time) ->
  890% Terminates(BecomeUnhappy(agent),Happy(agent),time).
  891 /*
  892holds_at(happy(Agent), Time) ->
  893    terminates(becomeUnhappy(Agent), happy(Agent), Time).
  894*/
  895.
  896
  897% 
  898% 
  899% ecnet/Kidnapping.e:41
  900% [agent,time]% 
  901% HoldsAt(Calm(agent),time) ->
  902% Terminates(BecomeUnhappy(agent),Calm(agent),time).
  903 /*
  904holds_at(calm(Agent), Time) ->
  905    terminates(becomeUnhappy(Agent), calm(Agent), Time).
  906*/
  907.
  908
  909% 
  910% 
  911% ecnet/Kidnapping.e:41
  912% [agent,time]% 
  913% Happens(BecomeUnhappy(agent),time) -> !HoldsAt(Unhappy(agent),time).
  914 /*
  915happens(becomeUnhappy(Agent), Time) ->
  916    not(holds_at(unhappy(Agent), Time)).
  917*/
  918.
  919
  920% 
  921% 
  922%; anger
  923% 
  924% fluent AngryAt(agent,agent)
  925 /*
  926.
  927*/
  928.
  929
  930% 
  931% event BecomeAngryAt(agent,agent)
  932 /*
  933.
  934*/
  935.
  936
  937% 
  938% ecnet/Kidnapping.e:41
  939% [agent1,agent2,time]% 
  940% Initiates(BecomeAngryAt(agent1,agent2),AngryAt(agent1,agent2),time).
  941 /*
  942.
  943*/
  944.
  945
  946% 
  947% 
  948% ecnet/Kidnapping.e:41
  949% [agent1,agent2,time]% 
  950% Terminates(BecomeHappy(agent1),AngryAt(agent1,agent2),time).
  951 /*
  952.
  953*/
  954.
  955
  956% 
  957% 
  958% ecnet/Kidnapping.e:41
  959% [agent1,agent2,time]% 
  960% Happens(BecomeAngryAt(agent1,agent2),time) ->
  961% Happens(BecomeUnhappy(agent1),time).
  962 /*
  963happens(becomeAngryAt(Agent1, Agent2), Time) ->
  964    happens(becomeUnhappy(Agent1), Time).
  965*/
  966.
  967
  968% 
  969% 
  970%; attitudes
  971% 
  972%; agent likes object.
  973% fluent Like(agent,object)
  974 /*
  975.
  976*/
  977.
  978
  979%; agent loves object.
  980% fluent Love(agent,object)
  981 /*
  982.
  983*/
  984.
  985
  986%; agent dislikes object.
  987% fluent Dislike(agent,object)
  988 /*
  989.
  990*/
  991.
  992
  993% 
  994%; agent likes snow.
  995% fluent LikeSnow(agent)
  996 /*
  997.
  998*/
  999.
 1000
 1001% 
 1002%; A trigger axiom states that
 1003%; if an agent is awake, likes snow, and is in a room that
 1004%; looks out onto a location where it is snowing, that agent
 1005%; becomes happy:
 1006% ecnet/Kidnapping.e:41
 1007% [agent,room,outside,time]% 
 1008% !HoldsAt(Happy(agent),time) &
 1009% HoldsAt(Awake(agent),time) &
 1010% HoldsAt(LikeSnow(agent),time) &
 1011% HoldsAt(At(agent,room),time) &
 1012% LookOutOnto(room)=outside &
 1013% HoldsAt(Snowing(outside),time) ->
 1014% Happens(BecomeHappy(agent),time).
 1015 /*
 1016not(holds_at(happy(Agent), Time)), holds_at(awake(Agent), Time), holds_at(likeSnow(Agent), Time), holds_at(at(Agent, Room), Time), lookOutOnto(Room)=Outside, holds_at(snowing(Outside), Time) ->
 1017    happens(becomeHappy(Agent), Time).
 1018*/
 1019.
 1020
 1021% 
 1022% 
 1023%; We introduced LikeSnow above since Like
 1024%; can only be used to represent that an agent likes a
 1025%; particular object, not snow in general.
 1026% 
 1027% event Smile(agent)
 1028 /*
 1029.
 1030*/
 1031.
 1032
 1033% 
 1034%; End of file.
 1035% load answers/Mueller2004c/Condition.e
 1036% 
 1037%;
 1038%; Copyright (c) 2005 IBM Corporation and others.
 1039%; All rights reserved. This program and the accompanying materials
 1040%; are made available under the terms of the Common Public License v1.0
 1041%; which accompanies this distribution, and is available at
 1042%; http://www.eclipse.org/legal/cpl-v10.html
 1043%;
 1044%; Contributors:
 1045%; IBM - Initial implementation
 1046%;
 1047%; human health
 1048% 
 1049% fluent Alive(agent)
 1050 /*
 1051.
 1052*/
 1053.
 1054
 1055% 
 1056% fluent Dead(agent)
 1057 /*
 1058.
 1059*/
 1060.
 1061
 1062% noninertial Dead
 1063 /*
 1064.
 1065*/
 1066.
 1067
 1068% 
 1069% fluent Injured(agent)
 1070 /*
 1071.
 1072*/
 1073.
 1074
 1075% 
 1076% event Kill(object,agent)
 1077 /*
 1078.
 1079*/
 1080.
 1081
 1082% event Injure(object,agent)
 1083 /*
 1084.
 1085*/
 1086.
 1087
 1088% event HealInjured(agent)
 1089 /*
 1090.
 1091*/
 1092.
 1093
 1094% 
 1095% ecnet/Kidnapping.e:42
 1096% [agent,time] % HoldsAt(Alive(agent),time) <-> !HoldsAt(Dead(agent),time).
 1097 /*
 1098holds_at(alive(Agent), Time) <->
 1099    not(holds_at(dead(Agent), Time)).
 1100*/
 1101.
 1102.
 1103
 1104% 
 1105% ecnet/Kidnapping.e:42
 1106% [agent,time] % HoldsAt(Injured(agent),time) -> HoldsAt(Alive(agent),time).
 1107 /*
 1108holds_at(injured(Agent), Time) ->
 1109    holds_at(alive(Agent), Time).
 1110*/
 1111.
 1112
 1113% 
 1114% 
 1115% ecnet/Kidnapping.e:42
 1116% [object,agent,time]% 
 1117% Terminates(Kill(object,agent),Alive(agent),time).
 1118 /*
 1119.
 1120*/
 1121.
 1122
 1123% 
 1124% 
 1125% ecnet/Kidnapping.e:42
 1126% [object,agent,time]% 
 1127% Initiates(Injure(object,agent),Injured(agent),time).
 1128 /*
 1129.
 1130*/
 1131.
 1132
 1133% 
 1134% 
 1135% ecnet/Kidnapping.e:42
 1136% [agent,time]% 
 1137% Terminates(HealInjured(agent),Injured(agent),time).
 1138 /*
 1139.
 1140*/
 1141.
 1142
 1143% 
 1144% 
 1145% fluent Intact(physobj)
 1146 /*
 1147.
 1148*/
 1149.
 1150
 1151% 
 1152% fluent Damaged(physobj)
 1153 /*
 1154.
 1155*/
 1156.
 1157
 1158% 
 1159% fluent Destroyed(physobj)
 1160 /*
 1161.
 1162*/
 1163.
 1164
 1165% 
 1166%; At any time, a physical object is either intact, damaged, or destroyed:
 1167% xor Intact, Damaged, Destroyed
 1168 /*
 1169.
 1170*/
 1171.
 1172
 1173% 
 1174% event Damage(object,physobj)
 1175 /*
 1176.
 1177*/
 1178.
 1179
 1180% 
 1181% event Destroy(object,physobj)
 1182 /*
 1183.
 1184*/
 1185.
 1186
 1187% 
 1188% event Repair(object,physobj)
 1189 /*
 1190.
 1191*/
 1192.
 1193
 1194% 
 1195% ecnet/Kidnapping.e:42
 1196% [object,physobj,time]% 
 1197% Happens(Damage(object,physobj),time) ->
 1198% HoldsAt(Intact(physobj),time).
 1199 /*
 1200happens(damage(Object, Physobj), Time) ->
 1201    holds_at(intact(Physobj), Time).
 1202*/
 1203.
 1204
 1205% 
 1206% 
 1207% ecnet/Kidnapping.e:42
 1208% [object,physobj,time]% 
 1209% Initiates(Damage(object,physobj),Damaged(physobj),time).
 1210 /*
 1211.
 1212*/
 1213.
 1214
 1215% 
 1216% 
 1217% ecnet/Kidnapping.e:42
 1218% [object,physobj,time]% 
 1219% Terminates(Damage(object,physobj),Intact(physobj),time).
 1220 /*
 1221.
 1222*/
 1223.
 1224
 1225% 
 1226% 
 1227% ecnet/Kidnapping.e:42
 1228% [object,physobj,time]% 
 1229% Happens(Destroy(object,physobj),time) ->
 1230% (HoldsAt(Intact(physobj),time)|
 1231%  HoldsAt(Damaged(physobj),time)).
 1232 /*
 1233happens(destroy(Object, Physobj), Time) ->
 1234    (   holds_at(intact(Physobj), Time)
 1235    ;   holds_at(damaged(Physobj), Time)
 1236    ).
 1237*/
 1238.
 1239
 1240% 
 1241% 
 1242% ecnet/Kidnapping.e:42
 1243% [object,physobj,time]% 
 1244% Initiates(Destroy(object,physobj),Destroyed(physobj),time).
 1245 /*
 1246.
 1247*/
 1248.
 1249
 1250% 
 1251% 
 1252% ecnet/Kidnapping.e:42
 1253% [object,physobj,time]% 
 1254% Terminates(Destroy(object,physobj),Intact(physobj),time).
 1255 /*
 1256.
 1257*/
 1258.
 1259
 1260% 
 1261% 
 1262% ecnet/Kidnapping.e:42
 1263% [object,physobj,time]% 
 1264% Terminates(Destroy(object,physobj),Damaged(physobj),time).
 1265 /*
 1266.
 1267*/
 1268.
 1269
 1270% 
 1271% 
 1272% ecnet/Kidnapping.e:42
 1273% [object,physobj,time]% 
 1274% Initiates(Repair(object,physobj),Intact(physobj),time).
 1275 /*
 1276.
 1277*/
 1278.
 1279
 1280% 
 1281% 
 1282%; end of file.
 1283% load answers/Mueller2004c/Gun.e
 1284% 
 1285%;
 1286%; Copyright (c) 2005 IBM Corporation and others.
 1287%; All rights reserved. This program and the accompanying materials
 1288%; are made available under the terms of the Common Public License v1.0
 1289%; which accompanies this distribution, and is available at
 1290%; http://www.eclipse.org/legal/cpl-v10.html
 1291%;
 1292%; Contributors:
 1293%; IBM - Initial implementation
 1294%;
 1295% 
 1296% fluent Loaded(gun,bullet)
 1297 /*
 1298.
 1299*/
 1300.
 1301
 1302% noninertial Loaded
 1303 /*
 1304.
 1305*/
 1306.
 1307
 1308% 
 1309% ecnet/Kidnapping.e:43
 1310% [gun,bullet,time]% 
 1311% HoldsAt(Inside(bullet,gun),time) <->
 1312% HoldsAt(Loaded(gun,bullet),time).
 1313 /*
 1314holds_at(inside(Bullet, Gun), Time) <->
 1315    holds_at(loaded(Gun, Bullet), Time).
 1316*/
 1317.
 1318.
 1319
 1320% 
 1321% 
 1322% event Shoot(agent,gun,object)
 1323 /*
 1324.
 1325*/
 1326.
 1327
 1328% 
 1329% event ShootInjure(agent,gun,agent)
 1330 /*
 1331.
 1332*/
 1333.
 1334
 1335% 
 1336% event ShootKill(agent,gun,agent)
 1337 /*
 1338.
 1339*/
 1340.
 1341
 1342% 
 1343% event ShootDamage(agent,gun,physobj)
 1344 /*
 1345.
 1346*/
 1347.
 1348
 1349% 
 1350% event ShootDestroy(agent,gun,physobj)
 1351 /*
 1352.
 1353*/
 1354.
 1355
 1356% 
 1357% ecnet/Kidnapping.e:43
 1358% [agent,gun,bullet,object,time]% 
 1359% HoldsAt(Inside(bullet,gun),time) ->
 1360% Terminates(Shoot(agent,gun,object),
 1361%            Inside(bullet,gun),
 1362%            time).
 1363 /*
 1364holds_at(inside(Bullet, Gun), Time) ->
 1365    terminates(shoot(Agent, Gun, Object),
 1366               inside(Bullet, Gun),
 1367               Time).
 1368*/
 1369.
 1370
 1371% 
 1372% 
 1373% ecnet/Kidnapping.e:43
 1374% [agent,gun,bullet,object,location1,location2,time]% 
 1375% HoldsAt(Inside(bullet,gun),time) &
 1376% HoldsAt(At(gun,location1),time) &
 1377% location1 != location2 ->
 1378% Terminates(Shoot(agent,gun,object),At(bullet,location2),time).
 1379 /*
 1380holds_at(inside(Bullet, Gun), Time), holds_at(at(Gun, Location1), Time), Location1\=Location2 ->
 1381    terminates(shoot(Agent, Gun, Object),
 1382               at(Bullet, Location2),
 1383               Time).
 1384*/
 1385.
 1386
 1387% 
 1388% 
 1389% ecnet/Kidnapping.e:43
 1390% [agent,gun,bullet,object,location,time]% 
 1391% HoldsAt(At(object,location),time) &
 1392% HoldsAt(Inside(bullet,gun),time) ->
 1393% Initiates(Shoot(agent,gun,object),At(bullet,location),time).
 1394 /*
 1395holds_at(at(Object, Location), Time), holds_at(inside(Bullet, Gun), Time) ->
 1396    initiates(shoot(Agent, Gun, Object),
 1397              at(Bullet, Location),
 1398              Time).
 1399*/
 1400.
 1401
 1402% 
 1403% 
 1404% ecnet/Kidnapping.e:43
 1405% [agent,gun,object,time]% 
 1406% Happens(Shoot(agent,gun,object),time) ->
 1407% HoldsAt(Holding(agent,gun),time) &
 1408% ({bullet} HoldsAt(Loaded(gun,bullet),time)) &
 1409% ({location} HoldsAt(At(agent,location),time) &
 1410%             HoldsAt(At(object,location),time)).
 1411 /*
 1412happens(shoot(Agent, Gun, Object), Time) ->
 1413    holds_at(holding(Agent, Gun), Time),
 1414    exists([Bullet], holds_at(loaded(Gun, Bullet), Time)),
 1415    exists([Location],
 1416            (holds_at(at(Agent, Location), Time), holds_at(at(Object, Location), Time))).
 1417*/
 1418.
 1419
 1420% 
 1421% 
 1422% ecnet/Kidnapping.e:43
 1423% [agent1,gun,agent2,time]% 
 1424% Happens(Shoot(agent1,gun,agent2),time) ->
 1425% Happens(ShootInjure(agent1,gun,agent2),time) |
 1426% Happens(ShootKill(agent1,gun,agent2),time).
 1427 /*
 1428(   ( happens(shoot(Agent1, Gun, Agent2), Time)->happens(shootInjure(Agent1, Gun, Agent2), Time)
 1429    )
 1430;   happens(shootKill(Agent1, Gun, Agent2), Time)
 1431).
 1432*/
 1433.
 1434
 1435% 
 1436% 
 1437% ecnet/Kidnapping.e:43
 1438% [agent1,gun,bullet,agent2,time]% 
 1439% HoldsAt(Inside(bullet,gun),time) &
 1440% Happens(ShootKill(agent1,gun,agent2),time) ->
 1441% Happens(Kill(bullet,agent2),time).
 1442 /*
 1443holds_at(inside(Bullet, Gun), Time), happens(shootKill(Agent1, Gun, Agent2), Time) ->
 1444    happens(kill(Bullet, Agent2), Time).
 1445*/
 1446.
 1447
 1448% 
 1449% 
 1450% ecnet/Kidnapping.e:43
 1451% [agent1,gun,bullet,agent2,time]% 
 1452% HoldsAt(Inside(bullet,gun),time) &
 1453% Happens(ShootInjure(agent1,gun,agent2),time) ->
 1454% Happens(Injure(bullet,agent2),time).
 1455 /*
 1456holds_at(inside(Bullet, Gun), Time), happens(shootInjure(Agent1, Gun, Agent2), Time) ->
 1457    happens(injure(Bullet, Agent2), Time).
 1458*/
 1459.
 1460
 1461% 
 1462% 
 1463% ecnet/Kidnapping.e:43
 1464% [agent,gun,physobj,time]% 
 1465% Happens(Shoot(agent,gun,physobj),time) ->
 1466% Happens(ShootDamage(agent,gun,physobj),time) |
 1467% Happens(ShootDestroy(agent,gun,physobj),time).
 1468 /*
 1469(   ( happens(shoot(Agent, Gun, Physobj), Time)->happens(shootDamage(Agent, Gun, Physobj), Time)
 1470    )
 1471;   happens(shootDestroy(Agent, Gun, Physobj), Time)
 1472).
 1473*/
 1474.
 1475
 1476% 
 1477% 
 1478% ecnet/Kidnapping.e:43
 1479% [agent,gun,bullet,physobj,time]% 
 1480% HoldsAt(Inside(bullet,gun),time) &
 1481% Happens(ShootDamage(agent,gun,physobj),time) ->
 1482% Happens(Damage(bullet,physobj),time).
 1483 /*
 1484holds_at(inside(Bullet, Gun), Time), happens(shootDamage(Agent, Gun, Physobj), Time) ->
 1485    happens(damage(Bullet, Physobj), Time).
 1486*/
 1487.
 1488
 1489% 
 1490% 
 1491% ecnet/Kidnapping.e:43
 1492% [agent,gun,bullet,physobj,time]% 
 1493% HoldsAt(Inside(bullet,gun),time) &
 1494% Happens(ShootDestroy(agent,gun,physobj),time) ->
 1495% Happens(Destroy(bullet,physobj),time).
 1496 /*
 1497holds_at(inside(Bullet, Gun), Time), happens(shootDestroy(Agent, Gun, Physobj), Time) ->
 1498    happens(destroy(Bullet, Physobj), Time).
 1499*/
 1500.
 1501
 1502% 
 1503% 
 1504%; End of file.
 1505% load answers/Mueller2003/Sleep.e
 1506% 
 1507%;
 1508%; Copyright (c) 2005 IBM Corporation and others.
 1509%; All rights reserved. This program and the accompanying materials
 1510%; are made available under the terms of the Common Public License v1.0
 1511%; which accompanies this distribution, and is available at
 1512%; http://www.eclipse.org/legal/cpl-v10.html
 1513%;
 1514%; Contributors:
 1515%; IBM - Initial implementation
 1516%;
 1517%; The Sleep representation deals with the activity of sleeping and
 1518%; body posture.
 1519%; It is similar to the finite automaton representation of sleep
 1520%; used in ThoughtTreasure \fullcite[chap. 7]{Mueller:1998}.
 1521%;
 1522%; @book{Mueller:1998,
 1523%;   author = "Erik T. Mueller",
 1524%;   year = "1998",
 1525%;   title = "Natural Language Processing with \uppercase{T}hought\uppercase{T}reasure",
 1526%;   address = "New York",
 1527%;   publisher = "Signiform",
 1528%; }
 1529%;
 1530% 
 1531%; sleep
 1532% 
 1533%; agent wakes up.
 1534% event WakeUp(agent)
 1535 /*
 1536.
 1537*/
 1538.
 1539
 1540% 
 1541%; agent gets tired.
 1542% event GetTired(agent)
 1543 /*
 1544.
 1545*/
 1546.
 1547
 1548% 
 1549%; agent falls asleep.
 1550% event FallAsleep(agent)
 1551 /*
 1552.
 1553*/
 1554.
 1555
 1556% 
 1557%; agent is asleep.
 1558% fluent Sleep0(agent)
 1559 /*
 1560.
 1561*/
 1562.
 1563
 1564%; agent is awake and in bed.
 1565% fluent Sleep1(agent)
 1566 /*
 1567.
 1568*/
 1569.
 1570
 1571%; agent is awake, out of bed, and undressed.
 1572% fluent Sleep2(agent)
 1573 /*
 1574.
 1575*/
 1576.
 1577
 1578%; agent is awake and dressed.
 1579% fluent Sleep3(agent)
 1580 /*
 1581.
 1582*/
 1583.
 1584
 1585%; agent is tired and dressed.
 1586% fluent Sleep4(agent)
 1587 /*
 1588.
 1589*/
 1590.
 1591
 1592%; agent is tired and undressed.
 1593% fluent Sleep5(agent)
 1594 /*
 1595.
 1596*/
 1597.
 1598
 1599%; agent is in bed, waiting to fall asleep.
 1600% fluent Sleep6(agent)
 1601 /*
 1602.
 1603*/
 1604.
 1605
 1606% 
 1607%; At any time, an agent is in one of seven sleep states:
 1608% xor Sleep0, Sleep1, Sleep2, Sleep3, Sleep4, Sleep5, Sleep6
 1609 /*
 1610.
 1611*/
 1612.
 1613
 1614% 
 1615%; constraints
 1616% 
 1617%; agent is asleep.
 1618% fluent Asleep(agent)
 1619 /*
 1620.
 1621*/
 1622.
 1623
 1624%; agent is awake.
 1625% fluent Awake(agent)
 1626 /*
 1627.
 1628*/
 1629.
 1630
 1631% noninertial Asleep
 1632 /*
 1633.
 1634*/
 1635.
 1636
 1637% noninertial Awake
 1638 /*
 1639.
 1640*/
 1641.
 1642
 1643% 
 1644%; Sleep0 indicates that the agent is asleep:
 1645% ecnet/Kidnapping.e:44
 1646% [agent,time] % HoldsAt(Asleep(agent),time) <-> HoldsAt(Sleep0(agent),time).
 1647 /*
 1648holds_at(asleep(Agent), Time) <->
 1649    holds_at(sleep0(Agent), Time).
 1650*/
 1651.
 1652.
 1653
 1654% 
 1655% 
 1656%; In all other sleep states, the agent is awake:
 1657% ecnet/Kidnapping.e:44
 1658% [agent,time]% 
 1659% HoldsAt(Awake(agent),time) <->
 1660% HoldsAt(Sleep1(agent),time) |
 1661% HoldsAt(Sleep2(agent),time) |
 1662% HoldsAt(Sleep3(agent),time) |
 1663% HoldsAt(Sleep4(agent),time) |
 1664% HoldsAt(Sleep5(agent),time) |
 1665% HoldsAt(Sleep6(agent),time).
 1666 /*
 1667holds_at(awake(Agent), Time) <->
 1668    (   holds_at(sleep1(Agent), Time)
 1669    ;   holds_at(sleep2(Agent), Time)
 1670    ;   holds_at(sleep3(Agent), Time)
 1671    ;   holds_at(sleep4(Agent), Time)
 1672    ;   holds_at(sleep5(Agent), Time)
 1673    ;   holds_at(sleep6(Agent), Time)
 1674    ).
 1675*/
 1676.
 1677.
 1678
 1679% 
 1680% 
 1681%; A number of axioms are used to specify the transitions of
 1682%; a finite automaton.
 1683%;--
 1684% 
 1685%; Waking up causes a transition from Sleep0
 1686%; to Sleep1:
 1687% ecnet/Kidnapping.e:44
 1688% [agent,time] % Terminates(WakeUp(agent),Sleep0(agent),time).
 1689 /*
 1690.
 1691*/
 1692.
 1693
 1694% 
 1695% 
 1696% ecnet/Kidnapping.e:44
 1697% [agent,time] % Initiates(WakeUp(agent),Sleep1(agent),time).
 1698 /*
 1699.
 1700*/
 1701.
 1702
 1703% 
 1704% 
 1705% ecnet/Kidnapping.e:44
 1706% [agent,time] % Happens(WakeUp(agent),time) -> HoldsAt(Sleep0(agent),time).
 1707 /*
 1708happens(wakeUp(Agent), Time) ->
 1709    holds_at(sleep0(Agent), Time).
 1710*/
 1711.
 1712
 1713% 
 1714% 
 1715%;--
 1716% 
 1717%; Getting out of bed causes a transition from Sleep1
 1718%; to Sleep2:
 1719% ecnet/Kidnapping.e:44
 1720% [agent,bed,time] % Terminates(RiseFrom(agent,bed),Sleep1(agent),time).
 1721 /*
 1722.
 1723*/
 1724.
 1725
 1726% 
 1727% 
 1728% ecnet/Kidnapping.e:44
 1729% [agent,bed,time] % Initiates(RiseFrom(agent,bed),Sleep2(agent),time).
 1730 /*
 1731.
 1732*/
 1733.
 1734
 1735% 
 1736% 
 1737% ecnet/Kidnapping.e:44
 1738% [agent,bed,time]% 
 1739% Happens(RiseFrom(agent,bed),time) -> HoldsAt(Sleep1(agent),time).
 1740 /*
 1741happens(riseFrom(Agent, Bed), Time) ->
 1742    holds_at(sleep1(Agent), Time).
 1743*/
 1744.
 1745
 1746% 
 1747% 
 1748%;--
 1749% 
 1750%; Getting dressed causes a transition from Sleep2
 1751%; to Sleep3, the normal state of awakeness:
 1752% ecnet/Kidnapping.e:44
 1753% [agent,time] % Terminates(GetDressed(agent),Sleep2(agent),time).
 1754 /*
 1755.
 1756*/
 1757.
 1758
 1759% 
 1760% 
 1761% ecnet/Kidnapping.e:44
 1762% [agent,time] % Initiates(GetDressed(agent),Sleep3(agent),time).
 1763 /*
 1764.
 1765*/
 1766.
 1767
 1768% 
 1769% 
 1770% ecnet/Kidnapping.e:44
 1771% [agent,time] % Happens(GetDressed(agent),time) -> HoldsAt(Sleep2(agent),time).
 1772 /*
 1773happens(getDressed(Agent), Time) ->
 1774    holds_at(sleep2(Agent), Time).
 1775*/
 1776.
 1777
 1778% 
 1779% 
 1780%;--
 1781% 
 1782%; Getting tired causes a transition from Sleep3
 1783%; to Sleep4:
 1784% ecnet/Kidnapping.e:44
 1785% [agent,time] % Terminates(GetTired(agent),Sleep3(agent),time).
 1786 /*
 1787.
 1788*/
 1789.
 1790
 1791% 
 1792% 
 1793% ecnet/Kidnapping.e:44
 1794% [agent,time] % Initiates(GetTired(agent),Sleep4(agent),time).
 1795 /*
 1796.
 1797*/
 1798.
 1799
 1800% 
 1801% 
 1802% ecnet/Kidnapping.e:44
 1803% [agent,time] % Happens(GetTired(agent),time) -> HoldsAt(Sleep3(agent),time).
 1804 /*
 1805happens(getTired(Agent), Time) ->
 1806    holds_at(sleep3(Agent), Time).
 1807*/
 1808.
 1809
 1810% 
 1811% 
 1812%;--
 1813% 
 1814%; Getting undressed causes a transition from Sleep4
 1815%; to Sleep5:
 1816% ecnet/Kidnapping.e:44
 1817% [agent,time] % Terminates(GetUndressed(agent),Sleep4(agent),time).
 1818 /*
 1819.
 1820*/
 1821.
 1822
 1823% 
 1824% 
 1825% ecnet/Kidnapping.e:44
 1826% [agent,time] % Initiates(GetUndressed(agent),Sleep5(agent),time).
 1827 /*
 1828.
 1829*/
 1830.
 1831
 1832% 
 1833% 
 1834% ecnet/Kidnapping.e:44
 1835% [agent,time] % Happens(GetUndressed(agent),time) -> HoldsAt(Sleep4(agent),time).
 1836 /*
 1837happens(getUndressed(Agent), Time) ->
 1838    holds_at(sleep4(Agent), Time).
 1839*/
 1840.
 1841
 1842% 
 1843% 
 1844%;--
 1845% 
 1846%; Lying on a bed causes a transition from Sleep5
 1847%; to Sleep6:
 1848% ecnet/Kidnapping.e:44
 1849% [agent,bed,time] % Terminates(LieOn(agent,bed),Sleep5(agent),time).
 1850 /*
 1851.
 1852*/
 1853.
 1854
 1855% 
 1856% 
 1857% ecnet/Kidnapping.e:44
 1858% [agent,bed,time] % Initiates(LieOn(agent,bed),Sleep6(agent),time).
 1859 /*
 1860.
 1861*/
 1862.
 1863
 1864% 
 1865% 
 1866% ecnet/Kidnapping.e:44
 1867% [agent,bed,time] % Happens(LieOn(agent,bed),time) -> HoldsAt(Sleep5(agent),time).
 1868 /*
 1869happens(lieOn(Agent, Bed), Time) ->
 1870    holds_at(sleep5(Agent), Time).
 1871*/
 1872.
 1873
 1874% 
 1875% 
 1876%;--
 1877% 
 1878%; Falling asleep causes a transition from Sleep6
 1879%; to Sleep0:
 1880% ecnet/Kidnapping.e:44
 1881% [agent,time] % Terminates(FallAsleep(agent),Sleep6(agent),time).
 1882 /*
 1883.
 1884*/
 1885.
 1886
 1887% 
 1888% 
 1889% ecnet/Kidnapping.e:44
 1890% [agent,time] % Initiates(FallAsleep(agent),Sleep0(agent),time).
 1891 /*
 1892.
 1893*/
 1894.
 1895
 1896% 
 1897% 
 1898% ecnet/Kidnapping.e:44
 1899% [agent,time] % Happens(FallAsleep(agent),time) -> HoldsAt(Sleep6(agent),time).
 1900 /*
 1901happens(fallAsleep(Agent), Time) ->
 1902    holds_at(sleep6(Agent), Time).
 1903*/
 1904.
 1905
 1906% 
 1907% 
 1908%;--
 1909% 
 1910%; agent acts on being in state Sleep5.
 1911% fluent ActOnSleep5(agent)
 1912 /*
 1913.
 1914*/
 1915.
 1916
 1917% noninertial ActOnSleep5
 1918 /*
 1919.
 1920*/
 1921.
 1922
 1923% 
 1924%; We reduce the number of models by asserting that
 1925%; an agent only acts on being in state Sleep5 while in
 1926%; that state:
 1927% ecnet/Kidnapping.e:44
 1928% [agent,time]% 
 1929% !HoldsAt(Sleep5(agent),time) ->
 1930% !HoldsAt(ActOnSleep5(agent),time).
 1931 /*
 1932not(holds_at(sleep5(Agent), Time)) ->
 1933    not(holds_at(actOnSleep5(Agent), Time)).
 1934*/
 1935.
 1936
 1937% 
 1938% 
 1939%; Undressed is like IntentionToPlay
 1940%; ActOnSleep5 is like ActOnIntentionToPlay
 1941% 
 1942%; A trigger axiom states that if an agent is in state Sleep5,
 1943%; the agent acts on this state, the agent is in a room, and
 1944%; a bed is at the room, the agent lies on the bed:
 1945% ecnet/Kidnapping.e:44
 1946% [agent,room,bed,time]% 
 1947% HoldsAt(Sleep5(agent),time) &
 1948% HoldsAt(ActOnSleep5(agent),time) &
 1949% HoldsAt(At(agent,room),time) &
 1950% HoldsAt(At(bed,room),time) ->
 1951% Happens(LieOn(agent,bed),time).
 1952 /*
 1953holds_at(sleep5(Agent), Time), holds_at(actOnSleep5(Agent), Time), holds_at(at(Agent, Room), Time), holds_at(at(Bed, Room), Time) ->
 1954    happens(lieOn(Agent, Bed), Time).
 1955*/
 1956.
 1957
 1958% 
 1959% 
 1960%; A precondition axiom states that for
 1961%; an agent to lie on a bed,
 1962%; the agent must be in state Sleep5,
 1963%; the agent must act on this state, and
 1964%; there must be a room such that
 1965%; the agent is in the room and the bed is in the room:
 1966% ecnet/Kidnapping.e:44
 1967% [agent,bed,time]% 
 1968% Happens(LieOn(agent,bed),time) ->
 1969% HoldsAt(Sleep5(agent),time) &
 1970% HoldsAt(ActOnSleep5(agent),time) &
 1971% ecnet/Kidnapping.e:44
 1972% {room}% 
 1973%  HoldsAt(At(agent,room),time) &
 1974%  HoldsAt(At(bed,room),time).
 1975 /*
 1976exists([Room],  (happens(lieOn(Agent, Bed), Time)->holds_at(sleep5(Agent), Time), holds_at(actOnSleep5(Agent), Time), holds_at(at(Agent, Room), Time), holds_at(at(Bed, Room), Time))).
 1977*/
 1978.
 1979
 1980% 
 1981% 
 1982%; (body) posture
 1983% 
 1984%; agent lies on physobj.
 1985% event LieOn(agent,physobj)
 1986 /*
 1987.
 1988*/
 1989.
 1990
 1991% 
 1992%; agent sits on physobj.
 1993% event SitOn(agent,physobj)
 1994 /*
 1995.
 1996*/
 1997.
 1998
 1999% 
 2000% ecnet/Kidnapping.e:44
 2001% [agent,physobj,time]% 
 2002% Happens(SitOn(agent,physobj),time) ->
 2003% ecnet/Kidnapping.e:44
 2004% {location}% 
 2005%  HoldsAt(At(agent,location),time) &
 2006%  HoldsAt(At(physobj,location),time).
 2007 /*
 2008exists([Location],  (happens(sitOn(Agent, Physobj), Time)->holds_at(at(Agent, Location), Time), holds_at(at(Physobj, Location), Time))).
 2009*/
 2010.
 2011
 2012% 
 2013% 
 2014%; agent rises from physobj.
 2015% event RiseFrom(agent,physobj)
 2016 /*
 2017.
 2018*/
 2019.
 2020
 2021% 
 2022%; agent is lying on physobj.
 2023% fluent LyingOn(agent,physobj)
 2024 /*
 2025.
 2026*/
 2027.
 2028
 2029%; agent is sitting on physobj.
 2030% fluent SittingOn(agent,physobj)
 2031 /*
 2032.
 2033*/
 2034.
 2035
 2036%; agent is standing.
 2037% fluent Standing(agent)
 2038 /*
 2039.
 2040*/
 2041.
 2042
 2043% 
 2044%; agent is lying down.
 2045% fluent Lying(agent)
 2046 /*
 2047.
 2048*/
 2049.
 2050
 2051%; agent is sitting.
 2052% fluent Sitting(agent)
 2053 /*
 2054.
 2055*/
 2056.
 2057
 2058% noninertial Lying
 2059 /*
 2060.
 2061*/
 2062.
 2063
 2064% noninertial Sitting
 2065 /*
 2066.
 2067*/
 2068.
 2069
 2070% 
 2071%; At any time, an agent is either lying, sitting, or standing:
 2072% xor Lying, Sitting, Standing
 2073 /*
 2074.
 2075*/
 2076.
 2077
 2078% 
 2079% ecnet/Kidnapping.e:44
 2080% [agent,physobj,time]% 
 2081% HoldsAt(LyingOn(agent,physobj),time) ->
 2082% HoldsAt(Lying(agent),time).
 2083 /*
 2084holds_at(lyingOn(Agent, Physobj), Time) ->
 2085    holds_at(lying(Agent), Time).
 2086*/
 2087.
 2088
 2089% 
 2090% 
 2091% ecnet/Kidnapping.e:44
 2092% [agent,physobj,time]% 
 2093% HoldsAt(SittingOn(agent,physobj),time) ->
 2094% HoldsAt(Sitting(agent),time).
 2095 /*
 2096holds_at(sittingOn(Agent, Physobj), Time) ->
 2097    holds_at(sitting(Agent), Time).
 2098*/
 2099.
 2100
 2101% 
 2102% 
 2103%; State constraints represent that an agent can lie or sit
 2104%; on at most one object at a time:
 2105% ecnet/Kidnapping.e:44
 2106% [agent,physobj1,physobj2,time]% 
 2107% HoldsAt(LyingOn(agent,physobj1),time) &
 2108% HoldsAt(LyingOn(agent,physobj2),time) ->
 2109% physobj1=physobj2.
 2110 /*
 2111holds_at(lyingOn(Agent, Physobj1), Time), holds_at(lyingOn(Agent, Physobj2), Time) ->
 2112    Physobj1=Physobj2.
 2113*/
 2114.
 2115
 2116% 
 2117% 
 2118% ecnet/Kidnapping.e:44
 2119% [agent,physobj1,physobj2,time]% 
 2120% HoldsAt(SittingOn(agent,physobj1),time) &
 2121% HoldsAt(SittingOn(agent,physobj2),time) ->
 2122% physobj1=physobj2.
 2123 /*
 2124holds_at(sittingOn(Agent, Physobj1), Time), holds_at(sittingOn(Agent, Physobj2), Time) ->
 2125    Physobj1=Physobj2.
 2126*/
 2127.
 2128
 2129% 
 2130% 
 2131%; An effect axiom states that if an agent is standing and
 2132%; lies on a physical object, the agent will be lying on
 2133%; the physical object:
 2134% ecnet/Kidnapping.e:44
 2135% [agent,physobj,time]% 
 2136% HoldsAt(Standing(agent),time) ->
 2137% Initiates(LieOn(agent,physobj),
 2138%           LyingOn(agent,physobj),
 2139%           time).
 2140 /*
 2141holds_at(standing(Agent), Time) ->
 2142    initiates(lieOn(Agent, Physobj),
 2143              lyingOn(Agent, Physobj),
 2144              Time).
 2145*/
 2146.
 2147
 2148% 
 2149% 
 2150%; An effect axiom states that if an agent
 2151%; lies on a physical object, the agent will no longer
 2152%; be standing:
 2153% ecnet/Kidnapping.e:44
 2154% [agent,physobj,time]% 
 2155% Terminates(LieOn(agent,physobj),
 2156%            Standing(agent),
 2157%            time).
 2158 /*
 2159.
 2160*/
 2161.
 2162
 2163% 
 2164% 
 2165%; An effect axiom states that if an agent is standing and
 2166%; sits on a physical object, the agent will be sitting on
 2167%; the physical object:
 2168% ecnet/Kidnapping.e:44
 2169% [agent,physobj,time]% 
 2170% HoldsAt(Standing(agent),time) ->
 2171% Initiates(SitOn(agent,physobj),
 2172%           SittingOn(agent,physobj),
 2173%           time).
 2174 /*
 2175holds_at(standing(Agent), Time) ->
 2176    initiates(sitOn(Agent, Physobj),
 2177              sittingOn(Agent, Physobj),
 2178              Time).
 2179*/
 2180.
 2181
 2182% 
 2183% 
 2184%; An effect axiom states that if an agent
 2185%; sits on a physical object, the agent will no longer
 2186%; be standing:
 2187% ecnet/Kidnapping.e:44
 2188% [agent,physobj,time]% 
 2189% Terminates(SitOn(agent,physobj),
 2190%            Standing(agent),
 2191%            time).
 2192 /*
 2193.
 2194*/
 2195.
 2196
 2197% 
 2198% 
 2199%; An effect axiom states that if an agent
 2200%; is sitting or lying on a physical object and
 2201%; the agent rises from the physical object,
 2202%; the agent will be standing:
 2203% ecnet/Kidnapping.e:44
 2204% [agent,physobj,time]% 
 2205% (HoldsAt(SittingOn(agent,physobj),time) |
 2206%  HoldsAt(LyingOn(agent,physobj),time)) ->
 2207% Initiates(RiseFrom(agent,physobj),
 2208%           Standing(agent),
 2209%           time).
 2210 /*
 2211holds_at(sittingOn(Agent, Physobj), Time);holds_at(lyingOn(Agent, Physobj), Time) ->
 2212    initiates(riseFrom(Agent, Physobj),
 2213              standing(Agent),
 2214              Time).
 2215*/
 2216.
 2217
 2218% 
 2219% 
 2220%; An effect axiom states that if an agent is sitting on
 2221%; a physical object and the agent rises from the physical
 2222%; object, the agent will no longer be sitting on the
 2223%; physical object:
 2224% ecnet/Kidnapping.e:44
 2225% [agent,physobj,time]% 
 2226% HoldsAt(SittingOn(agent,physobj),time) ->
 2227% Terminates(RiseFrom(agent,physobj),
 2228%            SittingOn(agent,physobj),
 2229%            time).
 2230 /*
 2231holds_at(sittingOn(Agent, Physobj), Time) ->
 2232    terminates(riseFrom(Agent, Physobj),
 2233               sittingOn(Agent, Physobj),
 2234               Time).
 2235*/
 2236.
 2237
 2238% 
 2239% 
 2240%; An effect axiom states that if an agent is lying on
 2241%; a physical object and the agent rises from the physical
 2242%; object, the agent will no longer be lying on the
 2243%; physical object:
 2244% ecnet/Kidnapping.e:44
 2245% [agent,physobj,time]% 
 2246% HoldsAt(LyingOn(agent,physobj),time) ->
 2247% Terminates(RiseFrom(agent,physobj),
 2248%            LyingOn(agent,physobj),
 2249%            time).
 2250 /*
 2251holds_at(lyingOn(Agent, Physobj), Time) ->
 2252    terminates(riseFrom(Agent, Physobj),
 2253               lyingOn(Agent, Physobj),
 2254               Time).
 2255*/
 2256.
 2257
 2258% 
 2259% 
 2260%; dressing
 2261% 
 2262%; agent gets undressed.
 2263% event GetDressed(agent)
 2264 /*
 2265.
 2266*/
 2267.
 2268
 2269%; agent gets dressed.
 2270% event GetUndressed(agent)
 2271 /*
 2272.
 2273*/
 2274.
 2275
 2276%; agent is dressed.
 2277% fluent Dressed(agent)
 2278 /*
 2279.
 2280*/
 2281.
 2282
 2283% 
 2284%; Effect axioms deal with getting dressed and undressed:
 2285% ecnet/Kidnapping.e:44
 2286% [agent,time] % Initiates(GetDressed(agent),Dressed(agent),time).
 2287 /*
 2288.
 2289*/
 2290.
 2291
 2292% 
 2293% ecnet/Kidnapping.e:44
 2294% [agent,time] % Terminates(GetUndressed(agent),Dressed(agent),time).
 2295 /*
 2296.
 2297*/
 2298.
 2299
 2300% 
 2301% 
 2302%; End of file.
 2303% load answers/Mueller2003/SpeechAct.e
 2304% 
 2305% gun Gun1
 2306 /*
 2307.
 2308*/
 2309.
 2310.
 2311
 2312% bullet Bullet1
 2313 /*
 2314.
 2315*/
 2316.
 2317.
 2318
 2319% HoldsAt(Intact(Gun1),0).
 2320 /*
 2321.
 2322*/
 2323.
 2324
 2325% 
 2326% HoldsAt(Intact(Bullet1),0).
 2327 /*
 2328.
 2329*/
 2330.
 2331
 2332% 
 2333% ecnet/Kidnapping.e:50
 2334% 
 2335% agent Perp1
 2336 /*
 2337.
 2338*/
 2339.
 2340.
 2341
 2342% 
 2343% agent HumanTarget1
 2344 /*
 2345.
 2346*/
 2347.
 2348.
 2349
 2350% HoldsAt(Calm(HumanTarget1),0).
 2351 /*
 2352.
 2353*/
 2354.
 2355
 2356% 
 2357% HoldsAt(Alive(HumanTarget1),0).
 2358 /*
 2359.
 2360*/
 2361.
 2362
 2363% 
 2364% ecnet/Kidnapping.e:56
 2365% HoldsAt(Awake(HumanTarget1),0).
 2366 /*
 2367.
 2368*/
 2369.
 2370
 2371% 
 2372% HoldsAt(Standing(HumanTarget1),0).
 2373 /*
 2374.
 2375*/
 2376.
 2377
 2378% 
 2379% HoldsAt(Sleep2(HumanTarget1),0).
 2380 /*
 2381.
 2382*/
 2383.
 2384
 2385% 
 2386% !HoldsAt(Injured(HumanTarget1),0).
 2387 /*
 2388.
 2389*/
 2390.
 2391
 2392% 
 2393% ecnet/Kidnapping.e:60
 2394% [object] % !HoldsAt(Holding(HumanTarget1,object),0).
 2395 /*
 2396.
 2397*/
 2398.
 2399
 2400% 
 2401% HoldsAt(At(HumanTarget1,Outside1),0).
 2402 /*
 2403.
 2404*/
 2405.
 2406
 2407% 
 2408% ecnet/Kidnapping.e:62
 2409% [physobj1,physobj2] % !HoldsAt(Inside(physobj1,physobj2),0).
 2410 /*
 2411.
 2412*/
 2413.
 2414
 2415% 
 2416% 
 2417%; prune
 2418% sort shoota, shootb, shooto, shooth, shootp
 2419 /*
 2420.
 2421*/
 2422.
 2423
 2424 /*
 2425.
 2426*/
 2427.
 2428
 2429 /*
 2430.
 2431*/
 2432.
 2433
 2434 /*
 2435.
 2436*/
 2437.
 2438
 2439 /*
 2440.
 2441*/
 2442.
 2443
 2444% event! Shoot(shoota,shootb,shooto)
 2445 /*
 2446.
 2447*/
 2448.
 2449
 2450% event! ShootInjure(shoota,shootb,shooth)
 2451 /*
 2452.
 2453*/
 2454.
 2455
 2456% ecnet/Kidnapping.e:68
 2457% event! ShootKill(shoota,shootb,shooth)
 2458 /*
 2459.
 2460*/
 2461.
 2462
 2463% event! ShootDamage(shoota,shootb,shootp)
 2464 /*
 2465.
 2466*/
 2467.
 2468
 2469% event! ShootDestroy(shoota,shootb,shootp)
 2470 /*
 2471.
 2472*/
 2473.
 2474
 2475% shoota! Perp1
 2476 /*
 2477.
 2478*/
 2479.
 2480.
 2481
 2482% shootb! Gun1
 2483 /*
 2484.
 2485*/
 2486.
 2487.
 2488
 2489% shooto! HumanTarget1
 2490 /*
 2491.
 2492*/
 2493.
 2494.
 2495
 2496% ecnet/Kidnapping.e:74
 2497% shooth! HumanTarget1
 2498 /*
 2499.
 2500*/
 2501.
 2502.
 2503
 2504% 
 2505%; room-scale topological space
 2506% outside Outside1
 2507 /*
 2508.
 2509*/
 2510.
 2511.
 2512
 2513% outside Outside2
 2514 /*
 2515.
 2516*/
 2517.
 2518.
 2519
 2520% room Inside1
 2521 /*
 2522.
 2523*/
 2524.
 2525.
 2526
 2527% ecnet/Kidnapping.e:80
 2528% door Door1
 2529 /*
 2530.
 2531*/
 2532.
 2533.
 2534
 2535% building Building1
 2536 /*
 2537.
 2538*/
 2539.
 2540.
 2541
 2542% street Street1
 2543 /*
 2544.
 2545*/
 2546.
 2547.
 2548
 2549% Side1(Door1)=Outside2.
 2550 /*
 2551.
 2552*/
 2553.
 2554
 2555% 
 2556% Side2(Door1)=Inside1.
 2557 /*
 2558.
 2559*/
 2560.
 2561
 2562% 
 2563% LookOutOnto(Inside1)=Outside1.
 2564 /*
 2565.
 2566*/
 2567.
 2568
 2569% 
 2570% ecnet/Kidnapping.e:86
 2571% Floor(Inside1)=1.
 2572 /*
 2573.
 2574*/
 2575.
 2576
 2577% 
 2578% BuildingOf(Inside1)=Building1.
 2579 /*
 2580.
 2581*/
 2582.
 2583
 2584% 
 2585% Side1(Street1)=Outside1.
 2586 /*
 2587.
 2588*/
 2589.
 2590
 2591% 
 2592% Side2(Street1)=Outside2.
 2593 /*
 2594.
 2595*/
 2596.
 2597
 2598% 
 2599% 
 2600% HoldsAt(Calm(Perp1),0).
 2601 /*
 2602.
 2603*/
 2604.
 2605
 2606% 
 2607% ecnet/Kidnapping.e:92
 2608% HoldsAt(Alive(Perp1),0).
 2609 /*
 2610.
 2611*/
 2612.
 2613
 2614% 
 2615% HoldsAt(Awake(Perp1),0).
 2616 /*
 2617.
 2618*/
 2619.
 2620
 2621% 
 2622% HoldsAt(Standing(Perp1),0).
 2623 /*
 2624.
 2625*/
 2626.
 2627
 2628% 
 2629% HoldsAt(Sleep2(Perp1),0).
 2630 /*
 2631.
 2632*/
 2633.
 2634
 2635% 
 2636% !HoldsAt(Injured(Perp1),0).
 2637 /*
 2638.
 2639*/
 2640.
 2641
 2642% 
 2643% ecnet/Kidnapping.e:97
 2644% [object] % !HoldsAt(Holding(Perp1,object),0).
 2645 /*
 2646.
 2647*/
 2648.
 2649
 2650% 
 2651% HoldsAt(At(Gun1,Outside2),0).
 2652 /*
 2653.
 2654*/
 2655.
 2656
 2657% 
 2658% HoldsAt(At(Perp1,Outside2),0).
 2659 /*
 2660.
 2661*/
 2662.
 2663
 2664% 
 2665% HoldsAt(At(Bullet1,Outside2),0).
 2666 /*
 2667.
 2668*/
 2669.
 2670
 2671% 
 2672% HoldsAt(DoorIsOpen(Door1),0).
 2673 /*
 2674.
 2675*/
 2676.
 2677
 2678% 
 2679% HoldsAt(DoorUnlocked(Door1),0).
 2680 /*
 2681.
 2682*/
 2683.
 2684
 2685% 
 2686% ecnet/Kidnapping.e:103
 2687% [agent1,agent2] % !HoldsAt(ThreatenedBy(agent1,agent2),0).
 2688 /*
 2689.
 2690*/
 2691.
 2692
 2693% 
 2694% ecnet/Kidnapping.e:104
 2695% [agent1,agent2] % !HoldsAt(AngryAt(agent1,agent2),0).
 2696 /*
 2697.
 2698*/
 2699.
 2700
 2701% 
 2702% ecnet/Kidnapping.e:105
 2703% [physobj1,physobj2] % !HoldsAt(Inside(physobj1,physobj2),0).
 2704 /*
 2705.
 2706*/
 2707.
 2708
 2709% 
 2710% ecnet/Kidnapping.e:106
 2711% [agent,object] % !HoldsAt(Love(agent,object),0).
 2712 /*
 2713.
 2714*/
 2715.
 2716
 2717% 
 2718% 
 2719%; narrative
 2720% Happens(PickUp(Perp1,Gun1),0).
 2721 /*
 2722.
 2723*/
 2724.
 2725
 2726% 
 2727% Happens(PickUp(Perp1,Bullet1),1).
 2728 /*
 2729.
 2730*/
 2731.
 2732
 2733% 
 2734% Happens(PutInside(Perp1,Bullet1,Gun1),2).
 2735 /*
 2736.
 2737*/
 2738.
 2739
 2740% 
 2741% ecnet/Kidnapping.e:112
 2742% Happens(WalkStreet21(Perp1,Street1),3).
 2743 /*
 2744.
 2745*/
 2746.
 2747
 2748% 
 2749% Happens(Threaten(Perp1,HumanTarget1,Gun1),4).
 2750 /*
 2751.
 2752*/
 2753.
 2754
 2755% 
 2756% Happens(Grab(Perp1,HumanTarget1),5).
 2757 /*
 2758.
 2759*/
 2760.
 2761
 2762% 
 2763% Happens(WalkStreet12(Perp1,Street1),6).
 2764 /*
 2765.
 2766*/
 2767.
 2768
 2769% 
 2770% Happens(WalkThroughDoor12(Perp1,Door1),7).
 2771 /*
 2772.
 2773*/
 2774.
 2775
 2776% 
 2777% Happens(LetGoOf(Perp1,HumanTarget1),8).
 2778 /*
 2779.
 2780*/
 2781.
 2782
 2783% 
 2784% ecnet/Kidnapping.e:118
 2785% Happens(Shoot(Perp1,Gun1,HumanTarget1),9).
 2786 /*
 2787.
 2788*/
 2789.
 2790
 2791% 
 2792% Happens(ShootKill(Perp1,Gun1,HumanTarget1),9).
 2793 /*
 2794.
 2795*/
 2796.
 2797
 2798% 
 2799% 
 2800% range time 0 10
 2801 /*
 2802.
 2803*/
 2804.
 2805
 2806% range offset 0 3
 2807 /*
 2808.
 2809*/
 2810.
 2811
 2812% range diameter 0 0
 2813 /*
 2814.
 2815*/
 2816.
 2817
 2818% ecnet/Kidnapping.e:124
 2819% 
 2820% completion Happens
 2821 /*
 2822.
 2823*/
 2824.
 2825
 2826% 
 2827%; End of file.