1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'examples/Mueller2006/Chapter10/OneScreen.e').
4%;
5%; Copyright (c) 2005 IBM Corporation and others.
6%; All rights reserved. This program and the accompanying materials
7%; are made available under the terms of the Common Public License v1.0
8%; which accompanies this distribution, and is available at
9%; http://www.eclipse.org/legal/cpl-v10.html
10%;
11%; Contributors:
12%; IBM - Initial implementation
13%;
14%; @phdthesis{Cassimatis:2002,
15%; author = "Nicholas L. Cassimatis",
16%; year = "2002",
17%; title = "Polyscheme: A Cognitive Architecture for Integrating Multiple Representation and Inference Schemes",
18%; address = "Cambridge, MA",
19%; school = "Program in Media Arts and Sciences, School of Architecture and Planning, Massachusetts Institute of Technology",
20%; }
21%;
22%; @book{Mueller:2006,
23%; author = "Erik T. Mueller",
24%; year = "2006",
25%; title = "Commonsense Reasoning",
26%; address = "San Francisco",
27%; publisher = "Morgan Kaufmann/Elsevier",
28%; }
29%;
30
31% load foundations/Root.e
32
33% load foundations/EC.e
34
35% sort object
36==> sort(object).
37
38% sort location
39==> sort(location).
40
41% object O1, O2
42==> t(object,o1).
43==> t(object,o2).
44
45% location L1, L2, L3
46==> t(location,l1).
47==> t(location,l2).
48==> t(location,l3).
49
50% predicate Adjacent(location,location)
51 % predicate(adjacent(location,location)).
52==> mpred_prop(adjacent(location,location),predicate).
53==> meta_argtypes(adjacent(location,location)).
54
55% predicate Equal(object,object)
56 % predicate(equal(object,object)).
57==> mpred_prop(equal(object,object),predicate).
58==> meta_argtypes(equal(object,object)).
59
60% fluent At(object,location)
61 % fluent(at(object,location)).
62==> mpred_prop(at(object,location),fluent).
63==> meta_argtypes(at(object,location)).
64
65% event Move(object,location,location)
66 % event(move(object,location,location)).
67==> mpred_prop(move(object,location,location),event).
68==> meta_argtypes(move(object,location,location)).
69
70
79axiom(initiates(move(Object, Location1, Location2), at(Object, Location2), Time),
80
81 [ holds_at(at(Object, Location1), Time),
82 adjacent(Location1, Location2)
83 ]).
84
85
92axiom(terminates(move(Object, Location1, Location2), at(Object, Location1), Time),
93
94 [ holds_at(at(Object, Location1), Time),
95 adjacent(Location1, Location2)
96 ]).
97
98
107axiom(Location1=Location2,
108
109 [ holds_at(at(Object, Location1), Time),
110 holds_at(at(Object, Location2), Time)
111 ]).
112
113
118
119 122
123 126axiom(holds_at(at(At_Param, Location4), Time5),
127 [some(Location4, '$kolem_Fn_1'(At_Param, Time5))]).
128
129 132axiom(not(some(Location7, '$kolem_Fn_1'(Fn_1_Param, Time8))),
133 [not(holds_at(at(Fn_1_Param, Location7), Time8))]).
134
135
142axiom(equal(Object1, Object2),
143
144 [ holds_at(at(Object1, Location), Time),
145 holds_at(at(Object2, Location), Time)
146 ]).
147
148
153
154 158axiom(adjacent(Location1, Location2),
159 [adjacent(Location2, Location1)]).
160axiom(adjacent(Location2, Location1),
161 [adjacent(Location1, Location2)]).
162
163
168
169 173axiom(equal(Object1, Object2),
174 [equal(Object2, Object1)]).
175axiom(equal(Object2, Object1),
176 [equal(Object1, Object2)]).
177
178
188
189 201axiom(adjacent(Location1, Location2),
202 [equals(Location1, l1), equals(Location2, l2)]).
203axiom(adjacent(Location1, Location2),
204 [equals(Location1, l2), equals(Location2, l1)]).
205axiom(adjacent(Location1, Location2),
206 [equals(Location1, l2), equals(Location2, l3)]).
207axiom(adjacent(Location1, Location2),
208 [equals(Location1, l3), equals(Location2, l2)]).
209
210 213
214 228axiom(not(adjacent(Adjacent_Param, Equals_Param)),
229
230 [ not(equals(Adjacent_Param, l3)),
231 not(equals(Adjacent_Param, l2)),
232 not(equals(Adjacent_Param, l2)),
233 not(equals(Adjacent_Param, l1))
234 ]).
235axiom(not(adjacent(Adjacent_Param, Equals_Param)),
236
237 [ not(equals(Equals_Param, l2)),
238 not(equals(Adjacent_Param, l2)),
239 not(equals(Adjacent_Param, l2)),
240 not(equals(Adjacent_Param, l1))
241 ]).
242axiom(not(adjacent(Adjacent_Param, Equals_Param)),
243
244 [ not(equals(Adjacent_Param, l3)),
245 not(equals(Equals_Param, l3)),
246 not(equals(Adjacent_Param, l2)),
247 not(equals(Adjacent_Param, l1))
248 ]).
249axiom(not(adjacent(Adjacent_Param, Equals_Param)),
250
251 [ not(equals(Equals_Param, l2)),
252 not(equals(Equals_Param, l3)),
253 not(equals(Adjacent_Param, l2)),
254 not(equals(Adjacent_Param, l1))
255 ]).
256axiom(not(adjacent(Adjacent_Param, Equals_Param)),
257
258 [ not(equals(Adjacent_Param, l3)),
259 not(equals(Adjacent_Param, l2)),
260 not(equals(Equals_Param, l1)),
261 not(equals(Adjacent_Param, l1))
262 ]).
263axiom(not(adjacent(Adjacent_Param, Equals_Param)),
264
265 [ not(equals(Equals_Param, l2)),
266 not(equals(Adjacent_Param, l2)),
267 not(equals(Equals_Param, l1)),
268 not(equals(Adjacent_Param, l1))
269 ]).
270axiom(not(adjacent(Adjacent_Param, Equals_Param)),
271
272 [ not(equals(Adjacent_Param, l3)),
273 not(equals(Equals_Param, l3)),
274 not(equals(Equals_Param, l1)),
275 not(equals(Adjacent_Param, l1))
276 ]).
277axiom(not(adjacent(Adjacent_Param, Equals_Param)),
278
279 [ not(equals(Equals_Param, l2)),
280 not(equals(Equals_Param, l3)),
281 not(equals(Equals_Param, l1)),
282 not(equals(Adjacent_Param, l1))
283 ]).
284axiom(not(adjacent(Adjacent_Param, Equals_Param)),
285
286 [ not(equals(Adjacent_Param, l3)),
287 not(equals(Adjacent_Param, l2)),
288 not(equals(Adjacent_Param, l2)),
289 not(equals(Equals_Param, l2))
290 ]).
291axiom(not(adjacent(Adjacent_Param, Equals_Param)),
292
293 [ not(equals(Equals_Param, l2)),
294 not(equals(Adjacent_Param, l2)),
295 not(equals(Adjacent_Param, l2)),
296 not(equals(Equals_Param, l2))
297 ]).
298axiom(not(adjacent(Adjacent_Param, Equals_Param)),
299
300 [ not(equals(Adjacent_Param, l3)),
301 not(equals(Equals_Param, l3)),
302 not(equals(Adjacent_Param, l2)),
303 not(equals(Equals_Param, l2))
304 ]).
305axiom(not(adjacent(Adjacent_Param, Equals_Param)),
306
307 [ not(equals(Equals_Param, l2)),
308 not(equals(Equals_Param, l3)),
309 not(equals(Adjacent_Param, l2)),
310 not(equals(Equals_Param, l2))
311 ]).
312axiom(not(adjacent(Adjacent_Param, Equals_Param)),
313
314 [ not(equals(Adjacent_Param, l3)),
315 not(equals(Adjacent_Param, l2)),
316 not(equals(Equals_Param, l1)),
317 not(equals(Equals_Param, l2))
318 ]).
319axiom(not(adjacent(Adjacent_Param, Equals_Param)),
320
321 [ not(equals(Equals_Param, l2)),
322 not(equals(Adjacent_Param, l2)),
323 not(equals(Equals_Param, l1)),
324 not(equals(Equals_Param, l2))
325 ]).
326axiom(not(adjacent(Adjacent_Param, Equals_Param)),
327
328 [ not(equals(Adjacent_Param, l3)),
329 not(equals(Equals_Param, l3)),
330 not(equals(Equals_Param, l1)),
331 not(equals(Equals_Param, l2))
332 ]).
333axiom(not(adjacent(Adjacent_Param, Equals_Param)),
334
335 [ not(equals(Equals_Param, l2)),
336 not(equals(Equals_Param, l3)),
337 not(equals(Equals_Param, l1)),
338 not(equals(Equals_Param, l2))
339 ]).
340
341 354axiom(equals(Equals_Param4, l1),
355
356 [ not(equals(Equals_Param4, l3)),
357 not(equals(Equals_Param4, l2)),
358 not(equals(Equals_Param4, l2)),
359 adjacent(Equals_Param4, Equals_Param5)
360 ]).
361axiom(equals(Equals_Param4, l1),
362
363 [ not(equals(Equals_Param5, l2)),
364 not(equals(Equals_Param4, l2)),
365 not(equals(Equals_Param4, l2)),
366 adjacent(Equals_Param4, Equals_Param5)
367 ]).
368axiom(equals(Equals_Param4, l1),
369
370 [ not(equals(Equals_Param4, l3)),
371 not(equals(Equals_Param5, l3)),
372 not(equals(Equals_Param4, l2)),
373 adjacent(Equals_Param4, Equals_Param5)
374 ]).
375axiom(equals(Equals_Param4, l1),
376
377 [ not(equals(Equals_Param5, l2)),
378 not(equals(Equals_Param5, l3)),
379 not(equals(Equals_Param4, l2)),
380 adjacent(Equals_Param4, Equals_Param5)
381 ]).
382axiom(equals(Equals_Param4, l1),
383
384 [ not(equals(Equals_Param4, l3)),
385 not(equals(Equals_Param4, l2)),
386 not(equals(Equals_Param5, l1)),
387 adjacent(Equals_Param4, Equals_Param5)
388 ]).
389axiom(equals(Equals_Param4, l1),
390
391 [ not(equals(Equals_Param5, l2)),
392 not(equals(Equals_Param4, l2)),
393 not(equals(Equals_Param5, l1)),
394 adjacent(Equals_Param4, Equals_Param5)
395 ]).
396axiom(equals(Equals_Param4, l1),
397
398 [ not(equals(Equals_Param4, l3)),
399 not(equals(Equals_Param5, l3)),
400 not(equals(Equals_Param5, l1)),
401 adjacent(Equals_Param4, Equals_Param5)
402 ]).
403axiom(equals(Equals_Param4, l1),
404
405 [ not(equals(Equals_Param5, l2)),
406 not(equals(Equals_Param5, l3)),
407 not(equals(Equals_Param5, l1)),
408 adjacent(Equals_Param4, Equals_Param5)
409 ]).
410
411 424axiom(equals(Equals_Param6, l2),
425
426 [ not(equals(Equals_Param7, l3)),
427 not(equals(Equals_Param7, l2)),
428 not(equals(Equals_Param7, l2)),
429 adjacent(Equals_Param7, Equals_Param6)
430 ]).
431axiom(equals(Equals_Param6, l2),
432
433 [ not(equals(Equals_Param6, l2)),
434 not(equals(Equals_Param7, l2)),
435 not(equals(Equals_Param7, l2)),
436 adjacent(Equals_Param7, Equals_Param6)
437 ]).
438axiom(equals(Equals_Param6, l2),
439
440 [ not(equals(Equals_Param7, l3)),
441 not(equals(Equals_Param6, l3)),
442 not(equals(Equals_Param7, l2)),
443 adjacent(Equals_Param7, Equals_Param6)
444 ]).
445axiom(equals(Equals_Param6, l2),
446
447 [ not(equals(Equals_Param6, l2)),
448 not(equals(Equals_Param6, l3)),
449 not(equals(Equals_Param7, l2)),
450 adjacent(Equals_Param7, Equals_Param6)
451 ]).
452axiom(equals(Equals_Param6, l2),
453
454 [ not(equals(Equals_Param7, l3)),
455 not(equals(Equals_Param7, l2)),
456 not(equals(Equals_Param6, l1)),
457 adjacent(Equals_Param7, Equals_Param6)
458 ]).
459axiom(equals(Equals_Param6, l2),
460
461 [ not(equals(Equals_Param6, l2)),
462 not(equals(Equals_Param7, l2)),
463 not(equals(Equals_Param6, l1)),
464 adjacent(Equals_Param7, Equals_Param6)
465 ]).
466axiom(equals(Equals_Param6, l2),
467
468 [ not(equals(Equals_Param7, l3)),
469 not(equals(Equals_Param6, l3)),
470 not(equals(Equals_Param6, l1)),
471 adjacent(Equals_Param7, Equals_Param6)
472 ]).
473axiom(equals(Equals_Param6, l2),
474
475 [ not(equals(Equals_Param6, l2)),
476 not(equals(Equals_Param6, l3)),
477 not(equals(Equals_Param6, l1)),
478 adjacent(Equals_Param7, Equals_Param6)
479 ]).
480
481 494axiom(equals(Equals_Param8, l2),
495
496 [ not(equals(Equals_Param8, l1)),
497 not(equals(Equals_Param8, l3)),
498 not(equals(Equals_Param8, l2)),
499 adjacent(Equals_Param8, Equals_Param9)
500 ]).
501axiom(equals(Equals_Param8, l2),
502
503 [ not(equals(Equals_Param9, l2)),
504 not(equals(Equals_Param8, l3)),
505 not(equals(Equals_Param8, l2)),
506 adjacent(Equals_Param8, Equals_Param9)
507 ]).
508axiom(equals(Equals_Param8, l2),
509
510 [ not(equals(Equals_Param8, l1)),
511 not(equals(Equals_Param9, l2)),
512 not(equals(Equals_Param8, l2)),
513 adjacent(Equals_Param8, Equals_Param9)
514 ]).
515axiom(equals(Equals_Param8, l2),
516
517 [ not(equals(Equals_Param9, l2)),
518 not(equals(Equals_Param9, l2)),
519 not(equals(Equals_Param8, l2)),
520 adjacent(Equals_Param8, Equals_Param9)
521 ]).
522axiom(equals(Equals_Param8, l2),
523
524 [ not(equals(Equals_Param8, l1)),
525 not(equals(Equals_Param8, l3)),
526 not(equals(Equals_Param9, l3)),
527 adjacent(Equals_Param8, Equals_Param9)
528 ]).
529axiom(equals(Equals_Param8, l2),
530
531 [ not(equals(Equals_Param9, l2)),
532 not(equals(Equals_Param8, l3)),
533 not(equals(Equals_Param9, l3)),
534 adjacent(Equals_Param8, Equals_Param9)
535 ]).
536axiom(equals(Equals_Param8, l2),
537
538 [ not(equals(Equals_Param8, l1)),
539 not(equals(Equals_Param9, l2)),
540 not(equals(Equals_Param9, l3)),
541 adjacent(Equals_Param8, Equals_Param9)
542 ]).
543axiom(equals(Equals_Param8, l2),
544
545 [ not(equals(Equals_Param9, l2)),
546 not(equals(Equals_Param9, l2)),
547 not(equals(Equals_Param9, l3)),
548 adjacent(Equals_Param8, Equals_Param9)
549 ]).
550
551 564axiom(equals(Equals_Param10, l1),
565
566 [ not(equals(Equals_Param11, l1)),
567 not(equals(Equals_Param11, l3)),
568 not(equals(Equals_Param11, l2)),
569 adjacent(Equals_Param11, Equals_Param10)
570 ]).
571axiom(equals(Equals_Param10, l1),
572
573 [ not(equals(Equals_Param10, l2)),
574 not(equals(Equals_Param11, l3)),
575 not(equals(Equals_Param11, l2)),
576 adjacent(Equals_Param11, Equals_Param10)
577 ]).
578axiom(equals(Equals_Param10, l1),
579
580 [ not(equals(Equals_Param11, l1)),
581 not(equals(Equals_Param10, l2)),
582 not(equals(Equals_Param11, l2)),
583 adjacent(Equals_Param11, Equals_Param10)
584 ]).
585axiom(equals(Equals_Param10, l1),
586
587 [ not(equals(Equals_Param10, l2)),
588 not(equals(Equals_Param10, l2)),
589 not(equals(Equals_Param11, l2)),
590 adjacent(Equals_Param11, Equals_Param10)
591 ]).
592axiom(equals(Equals_Param10, l1),
593
594 [ not(equals(Equals_Param11, l1)),
595 not(equals(Equals_Param11, l3)),
596 not(equals(Equals_Param10, l3)),
597 adjacent(Equals_Param11, Equals_Param10)
598 ]).
599axiom(equals(Equals_Param10, l1),
600
601 [ not(equals(Equals_Param10, l2)),
602 not(equals(Equals_Param11, l3)),
603 not(equals(Equals_Param10, l3)),
604 adjacent(Equals_Param11, Equals_Param10)
605 ]).
606axiom(equals(Equals_Param10, l1),
607
608 [ not(equals(Equals_Param11, l1)),
609 not(equals(Equals_Param10, l2)),
610 not(equals(Equals_Param10, l3)),
611 adjacent(Equals_Param11, Equals_Param10)
612 ]).
613axiom(equals(Equals_Param10, l1),
614
615 [ not(equals(Equals_Param10, l2)),
616 not(equals(Equals_Param10, l2)),
617 not(equals(Equals_Param10, l3)),
618 adjacent(Equals_Param11, Equals_Param10)
619 ]).
620
621 633axiom(equals(Equals_Param12, l2),
634
635 [ not(equals(Equals_Param12, l1)),
636 not(equals(Equals_Param12, l2)),
637 not(equals(Equals_Param12, l3)),
638 adjacent(Equals_Param12, Equals_Param13)
639 ]).
640axiom(equals(Equals_Param12, l2),
641
642 [ not(equals(Equals_Param13, l2)),
643 not(equals(Equals_Param12, l2)),
644 not(equals(Equals_Param12, l3)),
645 adjacent(Equals_Param12, Equals_Param13)
646 ]).
647axiom(equals(Equals_Param12, l2),
648
649 [ not(equals(Equals_Param12, l1)),
650 not(equals(Equals_Param13, l1)),
651 not(equals(Equals_Param12, l3)),
652 adjacent(Equals_Param12, Equals_Param13)
653 ]).
654axiom(equals(Equals_Param12, l2),
655
656 [ not(equals(Equals_Param13, l2)),
657 not(equals(Equals_Param13, l1)),
658 not(equals(Equals_Param12, l3)),
659 adjacent(Equals_Param12, Equals_Param13)
660 ]).
661axiom(equals(Equals_Param12, l2),
662
663 [ not(equals(Equals_Param12, l1)),
664 not(equals(Equals_Param12, l2)),
665 not(equals(Equals_Param13, l2)),
666 adjacent(Equals_Param12, Equals_Param13)
667 ]).
668axiom(equals(Equals_Param12, l2),
669
670 [ not(equals(Equals_Param13, l2)),
671 not(equals(Equals_Param12, l2)),
672 not(equals(Equals_Param13, l2)),
673 adjacent(Equals_Param12, Equals_Param13)
674 ]).
675axiom(equals(Equals_Param12, l2),
676
677 [ not(equals(Equals_Param12, l1)),
678 not(equals(Equals_Param13, l1)),
679 not(equals(Equals_Param13, l2)),
680 adjacent(Equals_Param12, Equals_Param13)
681 ]).
682axiom(equals(Equals_Param12, l2),
683
684 [ not(equals(Equals_Param13, l2)),
685 not(equals(Equals_Param13, l1)),
686 not(equals(Equals_Param13, l2)),
687 adjacent(Equals_Param12, Equals_Param13)
688 ]).
689
690 702axiom(equals(Equals_Param14, l3),
703
704 [ not(equals(Equals_Param15, l1)),
705 not(equals(Equals_Param15, l2)),
706 not(equals(Equals_Param15, l3)),
707 adjacent(Equals_Param15, Equals_Param14)
708 ]).
709axiom(equals(Equals_Param14, l3),
710
711 [ not(equals(Equals_Param14, l2)),
712 not(equals(Equals_Param15, l2)),
713 not(equals(Equals_Param15, l3)),
714 adjacent(Equals_Param15, Equals_Param14)
715 ]).
716axiom(equals(Equals_Param14, l3),
717
718 [ not(equals(Equals_Param15, l1)),
719 not(equals(Equals_Param14, l1)),
720 not(equals(Equals_Param15, l3)),
721 adjacent(Equals_Param15, Equals_Param14)
722 ]).
723axiom(equals(Equals_Param14, l3),
724
725 [ not(equals(Equals_Param14, l2)),
726 not(equals(Equals_Param14, l1)),
727 not(equals(Equals_Param15, l3)),
728 adjacent(Equals_Param15, Equals_Param14)
729 ]).
730axiom(equals(Equals_Param14, l3),
731
732 [ not(equals(Equals_Param15, l1)),
733 not(equals(Equals_Param15, l2)),
734 not(equals(Equals_Param14, l2)),
735 adjacent(Equals_Param15, Equals_Param14)
736 ]).
737axiom(equals(Equals_Param14, l3),
738
739 [ not(equals(Equals_Param14, l2)),
740 not(equals(Equals_Param15, l2)),
741 not(equals(Equals_Param14, l2)),
742 adjacent(Equals_Param15, Equals_Param14)
743 ]).
744axiom(equals(Equals_Param14, l3),
745
746 [ not(equals(Equals_Param15, l1)),
747 not(equals(Equals_Param14, l1)),
748 not(equals(Equals_Param14, l2)),
749 adjacent(Equals_Param15, Equals_Param14)
750 ]).
751axiom(equals(Equals_Param14, l3),
752
753 [ not(equals(Equals_Param14, l2)),
754 not(equals(Equals_Param14, l1)),
755 not(equals(Equals_Param14, l2)),
756 adjacent(Equals_Param15, Equals_Param14)
757 ]).
758
759 771axiom(equals(Equals_Param16, l3),
772
773 [ not(equals(Equals_Param16, l1)),
774 not(equals(Equals_Param16, l2)),
775 not(equals(Equals_Param16, l2)),
776 adjacent(Equals_Param16, Equals_Param17)
777 ]).
778axiom(equals(Equals_Param16, l3),
779
780 [ not(equals(Equals_Param17, l2)),
781 not(equals(Equals_Param16, l2)),
782 not(equals(Equals_Param16, l2)),
783 adjacent(Equals_Param16, Equals_Param17)
784 ]).
785axiom(equals(Equals_Param16, l3),
786
787 [ not(equals(Equals_Param16, l1)),
788 not(equals(Equals_Param17, l1)),
789 not(equals(Equals_Param16, l2)),
790 adjacent(Equals_Param16, Equals_Param17)
791 ]).
792axiom(equals(Equals_Param16, l3),
793
794 [ not(equals(Equals_Param17, l2)),
795 not(equals(Equals_Param17, l1)),
796 not(equals(Equals_Param16, l2)),
797 adjacent(Equals_Param16, Equals_Param17)
798 ]).
799axiom(equals(Equals_Param16, l3),
800
801 [ not(equals(Equals_Param16, l1)),
802 not(equals(Equals_Param16, l2)),
803 not(equals(Equals_Param17, l3)),
804 adjacent(Equals_Param16, Equals_Param17)
805 ]).
806axiom(equals(Equals_Param16, l3),
807
808 [ not(equals(Equals_Param17, l2)),
809 not(equals(Equals_Param16, l2)),
810 not(equals(Equals_Param17, l3)),
811 adjacent(Equals_Param16, Equals_Param17)
812 ]).
813axiom(equals(Equals_Param16, l3),
814
815 [ not(equals(Equals_Param16, l1)),
816 not(equals(Equals_Param17, l1)),
817 not(equals(Equals_Param17, l3)),
818 adjacent(Equals_Param16, Equals_Param17)
819 ]).
820axiom(equals(Equals_Param16, l3),
821
822 [ not(equals(Equals_Param17, l2)),
823 not(equals(Equals_Param17, l1)),
824 not(equals(Equals_Param17, l3)),
825 adjacent(Equals_Param16, Equals_Param17)
826 ]).
827
828 840axiom(equals(Equals_Param18, l2),
841
842 [ not(equals(Equals_Param19, l1)),
843 not(equals(Equals_Param19, l2)),
844 not(equals(Equals_Param19, l2)),
845 adjacent(Equals_Param19, Equals_Param18)
846 ]).
847axiom(equals(Equals_Param18, l2),
848
849 [ not(equals(Equals_Param18, l2)),
850 not(equals(Equals_Param19, l2)),
851 not(equals(Equals_Param19, l2)),
852 adjacent(Equals_Param19, Equals_Param18)
853 ]).
854axiom(equals(Equals_Param18, l2),
855
856 [ not(equals(Equals_Param19, l1)),
857 not(equals(Equals_Param18, l1)),
858 not(equals(Equals_Param19, l2)),
859 adjacent(Equals_Param19, Equals_Param18)
860 ]).
861axiom(equals(Equals_Param18, l2),
862
863 [ not(equals(Equals_Param18, l2)),
864 not(equals(Equals_Param18, l1)),
865 not(equals(Equals_Param19, l2)),
866 adjacent(Equals_Param19, Equals_Param18)
867 ]).
868axiom(equals(Equals_Param18, l2),
869
870 [ not(equals(Equals_Param19, l1)),
871 not(equals(Equals_Param19, l2)),
872 not(equals(Equals_Param18, l3)),
873 adjacent(Equals_Param19, Equals_Param18)
874 ]).
875axiom(equals(Equals_Param18, l2),
876
877 [ not(equals(Equals_Param18, l2)),
878 not(equals(Equals_Param19, l2)),
879 not(equals(Equals_Param18, l3)),
880 adjacent(Equals_Param19, Equals_Param18)
881 ]).
882axiom(equals(Equals_Param18, l2),
883
884 [ not(equals(Equals_Param19, l1)),
885 not(equals(Equals_Param18, l1)),
886 not(equals(Equals_Param18, l3)),
887 adjacent(Equals_Param19, Equals_Param18)
888 ]).
889axiom(equals(Equals_Param18, l2),
890
891 [ not(equals(Equals_Param18, l2)),
892 not(equals(Equals_Param18, l1)),
893 not(equals(Equals_Param18, l3)),
894 adjacent(Equals_Param19, Equals_Param18)
895 ]).
896
897
900axiom(initially(at(o1, l1)),
901 []).
902
903
906 907 908axiom(not(initially(at(At_Param, l3))),
909 []).
910
911
914 915 916axiom(not(holds_at(at(At_Param, l1), start)),
917 [b(t, start), ignore(t+1=start)]).
918
919
922 923 924axiom(not(holds_at(at(At_Param, l3), start)),
925 [b(t, start), ignore(t+1=start)]).
926
927
930holds_at(at(o2,l3),2).
931
932
935 936 937axiom(not(holds_at(at(At_Param, l1), t2)),
938 [b(t, t2), ignore(t+2=t2)]).
939
940
948axiom(requires(move(Object, Location1, Location2), Time),
949
950 [ holds_at(at(Object, Location1), Time),
951 adjacent(Location1, Location2)
952 ]).
953
954
961axiom(happens(move(Object2, Location1, Location2), Time),
962
963 [ equal(Object1, Object2),
964 happens(move(Object1, Location1, Location2), Time)
965 ]).
966
967% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/OneScreen.e:106
968% range time 0 2
969% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/OneScreen.e:107
970==> range(time,0,2).
971
972% range offset 1 1
973% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Mueller2006/Chapter10/OneScreen.e:108
974==> range(offset,1,1).