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