1:-include(library('ec_planner/ec_test_incl')). 2:-expects_dialect(pfc). 3 % loading(always,'examples/Cassimatis2002/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
23% load foundations/Root.e
24
25% load foundations/EC.e
26
27% load examples/Cassimatis2002/PolySpace.e
28 % loading(changed,'examples/Cassimatis2002/PolySpace.e').
29%;
30%; Copyright (c) 2005 IBM Corporation and others.
31%; All rights reserved. This program and the accompanying materials
32%; are made available under the terms of the Common Public License v1.0
33%; which accompanies this distribution, and is available at
34%; http://www.eclipse.org/legal/cpl-v10.html
35%;
36%; Contributors:
37%; IBM - Initial implementation
38%;
39%; @phdthesis{Cassimatis:2002,
40%; author = "Nicholas L. Cassimatis",
41%; year = "2002",
42%; title = "Polyscheme: A Cognitive Architecture for Integrating Multiple Representation and Inference Schemes",
43%; address = "Cambridge, MA",
44%; school = "Program in Media Arts and Sciences, School of Architecture and Planning, Massachusetts Institute of Technology",
45%; }
46%;
47%; sorts
48
49% sort object
50==> sort(object).
51
52% sort xcoord: integer
53==> subsort(xcoord,integer).
54
55% sort ycoord: integer
56==> subsort(ycoord,integer).
57
58% sort grid
59==> sort(grid).
60
61% sort shape
62==> sort(shape).
63
64% sort color
65==> sort(color).
66%; constants
67
68% shape Round,Square
69==> t(shape,round).
70==> t(shape,square).
71
72% color Red,Green
73==> t(color,red).
74==> t(color,green).
75%; predicates, fluents, and events
76
77% predicate Equal(object,object)
78 % predicate(equal(object,object)).
79==> mpred_prop(equal(object,object),predicate).
80==> meta_argtypes(equal(object,object)).
81
82% predicate Shape(object,shape)
83 % predicate(shape(object,shape)).
84==> mpred_prop(shape(object,shape),predicate).
85==> meta_argtypes(shape(object,shape)).
86
87% predicate Color(object,color)
88 % predicate(color(object,color)).
89==> mpred_prop(color(object,color),predicate).
90==> meta_argtypes(color(object,color)).
91
92% fluent Location(grid,object,xcoord,ycoord)
93 % fluent(location(grid,object,xcoord,ycoord)).
94==> mpred_prop(location(grid,object,xcoord,ycoord),fluent).
95==> meta_argtypes(location(grid,object,xcoord,ycoord)).
96
97% event Move(grid,object,xcoord,ycoord,xcoord,ycoord)
98 % event(move(grid,object,xcoord,ycoord,xcoord,ycoord)).
99==> mpred_prop(move(grid,object,xcoord,ycoord,xcoord,ycoord),event).
100==> meta_argtypes(move(grid,object,xcoord,ycoord,xcoord,ycoord)).
101
102
106 108axiom(equal(Object2, Object1),
109 [equal(Object1, Object2)]).
110
111
118axiom(Shape1=Shape2,
119 [shape(Object, Shape1), shape(Object, Shape2)]).
120
121
128axiom(Color1=Color2,
129 [color(Object, Color1), color(Object, Color2)]).
130
131
137
138 142
143 149axiom(not(equal(Equal_Param, Shape_Param)),
150 [not(shape(Equal_Param, Shape_Ret))]).
151axiom(not(equal(Equal_Param, Shape_Param)),
152 [not(shape(Shape_Param, Shape_Ret))]).
153
154 157axiom(shape(Shape_Param6, Shape_Ret7),
158 [equal(Shape_Param6, Equal_Ret)]).
159
160 163axiom(shape(Shape_Param9, Shape_Ret11),
164 [equal(Equal_Param10, Shape_Param9)]).
165
166
172
173 177
178 184axiom(not(equal(Equal_Param, Color_Param)),
185 [not(color(Equal_Param, Color_Ret))]).
186axiom(not(equal(Equal_Param, Color_Param)),
187 [not(color(Color_Param, Color_Ret))]).
188
189 192axiom(color(Color_Param6, Color_Ret7),
193 [equal(Color_Param6, Equal_Ret)]).
194
195 198axiom(color(Color_Param9, Color_Ret11),
199 [equal(Equal_Param10, Color_Param9)]).
200
201
209
210 214
215 232axiom(not(equal(Equal_Param, Equal_Ret)),
233
234 [ not(equals(Equals_Param, Equals_Ret)),
235 holds_at(location(Location_Param,
236 Equal_Param,
237 Equals_Param,
238 Equals_Param12),
239 Time8),
240 holds_at(location(Location_Param,
241 Equal_Ret,
242 Equals_Ret,
243 Location_Ret),
244 Time8)
245 ]).
246axiom(not(equal(Equal_Param, Equal_Ret)),
247
248 [ not(equals(Equals_Param12, Location_Ret)),
249 holds_at(location(Location_Param,
250 Equal_Param,
251 Equals_Param,
252 Equals_Param12),
253 Time8),
254 holds_at(location(Location_Param,
255 Equal_Ret,
256 Equals_Ret,
257 Location_Ret),
258 Time8)
259 ]).
260
261 272axiom(not(holds_at(location(Location_Param17, Equal_Param20, Equals_Param18, Equals_Param19), Time16)),
273
274 [ not(equals(Equals_Param18, Equals_Ret22)),
275 holds_at(location(Location_Param17,
276 Equal_Ret23,
277 Equals_Ret22,
278 Location_Ret21),
279 Time16),
280 equal(Equal_Param20, Equal_Ret23)
281 ]).
282axiom(not(holds_at(location(Location_Param17, Equal_Param20, Equals_Param18, Equals_Param19), Time16)),
283
284 [ not(equals(Equals_Param19, Location_Ret21)),
285 holds_at(location(Location_Param17,
286 Equal_Ret23,
287 Equals_Ret22,
288 Location_Ret21),
289 Time16),
290 equal(Equal_Param20, Equal_Ret23)
291 ]).
292
293 304axiom(not(holds_at(location(Location_Param25, Equal_Ret31, Equals_Ret30, Location_Ret29), Time24)),
305
306 [ not(equals(Equals_Param26, Equals_Ret30)),
307 holds_at(location(Location_Param25,
308 Equal_Param28,
309 Equals_Param26,
310 Equals_Param27),
311 Time24),
312 equal(Equal_Param28, Equal_Ret31)
313 ]).
314axiom(not(holds_at(location(Location_Param25, Equal_Ret31, Equals_Ret30, Location_Ret29), Time24)),
315
316 [ not(equals(Equals_Param27, Location_Ret29)),
317 holds_at(location(Location_Param25,
318 Equal_Param28,
319 Equals_Param26,
320 Equals_Param27),
321 Time24),
322 equal(Equal_Param28, Equal_Ret31)
323 ]).
324
325 339axiom(equals(Equals_Param33, Equals_Ret36),
340
341 [ holds_at(location(Location_Param34,
342 Equal_Param35,
343 Equals_Param33,
344 Location_Ret37),
345 Time32),
346 holds_at(location(Location_Param34,
347 Equal_Ret39,
348 Equals_Ret36,
349 Location_Ret38),
350 Time32),
351 equal(Equal_Param35, Equal_Ret39)
352 ]).
353
354 368axiom(equals(Equals_Param41, Equals_Ret44),
369
370 [ holds_at(location(Location_Param42,
371 Equal_Param43,
372 _,
373 Equals_Param41),
374 Time40),
375 holds_at(location(Location_Param42,
376 Equal_Ret45,
377 _,
378 Equals_Ret44),
379 Time40),
380 equal(Equal_Param43, Equal_Ret45)
381 ]).
382
383
390
391 394
395 406axiom(not(holds_at(location(Location_Param, A, Equals_Param, Equals_Param10), Time7)),
407
408 [ not(equals(Equals_Param, Equals_Ret)),
409 holds_at(location(Location_Param,
410 A,
411 Equals_Ret,
412 Location_Ret),
413 Time7)
414 ]).
415axiom(not(holds_at(location(Location_Param, A, Equals_Param, Equals_Param10), Time7)),
416
417 [ not(equals(Equals_Param10, Location_Ret)),
418 holds_at(location(Location_Param,
419 A,
420 Equals_Ret,
421 Location_Ret),
422 Time7)
423 ]).
424
425 435axiom(not(holds_at(location(Location_Param14, A, Equals_Ret18, Location_Ret17), Time13)),
436
437 [ not(equals(Equals_Param15, Equals_Ret18)),
438 holds_at(location(Location_Param14,
439 A,
440 Equals_Param15,
441 Equals_Param16),
442 Time13)
443 ]).
444axiom(not(holds_at(location(Location_Param14, A, Equals_Ret18, Location_Ret17), Time13)),
445
446 [ not(equals(Equals_Param16, Location_Ret17)),
447 holds_at(location(Location_Param14,
448 A,
449 Equals_Param15,
450 Equals_Param16),
451 Time13)
452 ]).
453
454 466axiom(equals(Equals_Param20, Equals_Ret22),
467
468 [ holds_at(location(Location_Param21,
469 A,
470 Equals_Param20,
471 Location_Ret23),
472 Time19),
473 holds_at(location(Location_Param21,
474 A,
475 Equals_Ret22,
476 Location_Ret24),
477 Time19)
478 ]).
479
480 492axiom(equals(Equals_Param26, Equals_Ret28),
493
494 [ holds_at(location(Location_Param27,
495 A,
496 _,
497 Equals_Param26),
498 Time25),
499 holds_at(location(Location_Param27,
500 A,
501 _,
502 Equals_Ret28),
503 Time25)
504 ]).
505
506
513
514 521axiom(holds_at(location(Location_Param, _, _, Location_Ret), Time5),
522 []).
523
524
532axiom(equal(Object1, Object2),
533
534 [ holds_at(location(Grid, Object1, Xcoord1, Ycoord1),
535 Time),
536 holds_at(location(Grid, Object2, Xcoord1, Ycoord1),
537 Time)
538 ]).
539
540
548axiom(initiates(move(Grid, Object, Xcoord1, Ycoord1, Xcoord2, Ycoord2), location(Grid, Object, Xcoord2, Ycoord2), Time),
549 []).
550
551
561axiom(terminates(move(Grid, Object, Xcoord1, Ycoord1, Xcoord2, Ycoord2), location(Grid, Object, Xcoord1, Ycoord1), Time),
562 []).
563
564
584axiom(requires(move(Grid, Object, Xcoord1, Ycoord1, Xcoord2, Ycoord2), Time),
585
586 [ equals(Ycoord1, Ycoord2+1),
587 equals(Xcoord1, Xcoord2),
588 holds_at(location(Grid, Object, Xcoord1, Ycoord1),
589 Time)
590 ]).
591axiom(requires(move(Grid, Object, Xcoord1, Ycoord1, Xcoord2, Ycoord2), Time),
592
593 [ equals(Ycoord1, Ycoord2-1),
594 equals(Xcoord1, Xcoord2),
595 holds_at(location(Grid, Object, Xcoord1, Ycoord1),
596 Time)
597 ]).
598axiom(requires(move(Grid, Object, Xcoord1, Ycoord1, Xcoord2, Ycoord2), Time),
599
600 [ equals(Xcoord1, Xcoord2+1),
601 equals(Ycoord1, Ycoord2),
602 holds_at(location(Grid, Object, Xcoord1, Ycoord1),
603 Time)
604 ]).
605axiom(requires(move(Grid, Object, Xcoord1, Ycoord1, Xcoord2, Ycoord2), Time),
606
607 [ equals(Xcoord1, Xcoord2-1),
608 equals(Ycoord1, Ycoord2),
609 holds_at(location(Grid, Object, Xcoord1, Ycoord1),
610 Time)
611 ]).
612
613
614% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Cassimatis2002/PolySpace.e:116
615%; End of file.
616
617% grid G1
618==> t(grid,g1).
619
620% object X,Y,Screen
621==> t(object,x).
622==> t(object,y).
623==> t(object,screen).
625
626
629shape(x,round).
630
631
634color(x,red).
635
636
639shape(y,round).
640
641
644color(y,red).
645
646
649shape(screen,square).
650
651
654color(screen,green).
655
656
659 660holds_at(location(g1,screen,2,0),Time).
661
662
665axiom(initially(location(g1, x, 1, 1)),
666 []).
667
668
671holds_at(location(g1,y,3,1),2).
672
673
679
680 683
684 697axiom(not({dif(X, 2)}),
698
699 [ not(equals(X, 3)),
700 not(equals(X, 1)),
701 holds_at(location(g1, x, X, Equals_Param), Time4)
702 ]).
703axiom(not({dif(X, 2)}),
704
705 [ not(equals(Equals_Param, 1)),
706 not(equals(X, 1)),
707 holds_at(location(g1, x, X, Equals_Param), Time4)
708 ]).
709axiom(not({dif(X, 2)}),
710
711 [ not(equals(Time4, 2)),
712 not(equals(X, 1)),
713 holds_at(location(g1, x, X, Equals_Param), Time4)
714 ]).
715axiom(not({dif(X, 2)}),
716
717 [ not(equal(x, y)),
718 not(equals(X, 1)),
719 holds_at(location(g1, x, X, Equals_Param), Time4)
720 ]).
721axiom(not({dif(X, 2)}),
722
723 [ not(equals(X, 3)),
724 not(equals(Equals_Param, 1)),
725 holds_at(location(g1, x, X, Equals_Param), Time4)
726 ]).
727axiom(not({dif(X, 2)}),
728
729 [ not(equals(Equals_Param, 1)),
730 not(equals(Equals_Param, 1)),
731 holds_at(location(g1, x, X, Equals_Param), Time4)
732 ]).
733axiom(not({dif(X, 2)}),
734
735 [ not(equals(Time4, 2)),
736 not(equals(Equals_Param, 1)),
737 holds_at(location(g1, x, X, Equals_Param), Time4)
738 ]).
739axiom(not({dif(X, 2)}),
740
741 [ not(equal(x, y)),
742 not(equals(Equals_Param, 1)),
743 holds_at(location(g1, x, X, Equals_Param), Time4)
744 ]).
745axiom(not({dif(X, 2)}),
746
747 [ not(equals(X, 3)),
748 not(equals(Time4, 0)),
749 holds_at(location(g1, x, X, Equals_Param), Time4)
750 ]).
751axiom(not({dif(X, 2)}),
752
753 [ not(equals(Equals_Param, 1)),
754 not(equals(Time4, 0)),
755 holds_at(location(g1, x, X, Equals_Param), Time4)
756 ]).
757axiom(not({dif(X, 2)}),
758
759 [ not(equals(Time4, 2)),
760 not(equals(Time4, 0)),
761 holds_at(location(g1, x, X, Equals_Param), Time4)
762 ]).
763axiom(not({dif(X, 2)}),
764
765 [ not(equal(x, y)),
766 not(equals(Time4, 0)),
767 holds_at(location(g1, x, X, Equals_Param), Time4)
768 ]).
769
770 780axiom(equals(X6, 1),
781
782 [ not(equals(X6, 3)),
783 dif(X6, 2),
784 holds_at(location(g1, x, X6, Equals_Param8), Time7)
785 ]).
786axiom(equals(X6, 1),
787
788 [ not(equals(Equals_Param8, 1)),
789 dif(X6, 2),
790 holds_at(location(g1, x, X6, Equals_Param8), Time7)
791 ]).
792axiom(equals(X6, 1),
793
794 [ not(equals(Time7, 2)),
795 dif(X6, 2),
796 holds_at(location(g1, x, X6, Equals_Param8), Time7)
797 ]).
798axiom(equals(X6, 1),
799
800 [ not(equal(x, y)),
801 dif(X6, 2),
802 holds_at(location(g1, x, X6, Equals_Param8), Time7)
803 ]).
804
805 815axiom(equals(Equals_Param11, 1),
816
817 [ not(equals(X9, 3)),
818 dif(X9, 2),
819 holds_at(location(g1, x, X9, Equals_Param11), Time10)
820 ]).
821axiom(equals(Equals_Param11, 1),
822
823 [ not(equals(Equals_Param11, 1)),
824 dif(X9, 2),
825 holds_at(location(g1, x, X9, Equals_Param11), Time10)
826 ]).
827axiom(equals(Equals_Param11, 1),
828
829 [ not(equals(Time10, 2)),
830 dif(X9, 2),
831 holds_at(location(g1, x, X9, Equals_Param11), Time10)
832 ]).
833axiom(equals(Equals_Param11, 1),
834
835 [ not(equal(x, y)),
836 dif(X9, 2),
837 holds_at(location(g1, x, X9, Equals_Param11), Time10)
838 ]).
839
840 850axiom(equals(Time13, 0),
851
852 [ not(equals(X12, 3)),
853 dif(X12, 2),
854 holds_at(location(g1, x, X12, Equals_Param14), Time13)
855 ]).
856axiom(equals(Time13, 0),
857
858 [ not(equals(Equals_Param14, 1)),
859 dif(X12, 2),
860 holds_at(location(g1, x, X12, Equals_Param14), Time13)
861 ]).
862axiom(equals(Time13, 0),
863
864 [ not(equals(Time13, 2)),
865 dif(X12, 2),
866 holds_at(location(g1, x, X12, Equals_Param14), Time13)
867 ]).
868axiom(equals(Time13, 0),
869
870 [ not(equal(x, y)),
871 dif(X12, 2),
872 holds_at(location(g1, x, X12, Equals_Param14), Time13)
873 ]).
874
875 888axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
889 [not(equals(X15, 1)), not(equals(X15, 3)), dif(X15, 2)]).
890axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
891
892 [ not(equals(Equals_Param17, 1)),
893 not(equals(X15, 3)),
894 dif(X15, 2)
895 ]).
896axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
897 [not(equals(Time16, 0)), not(equals(X15, 3)), dif(X15, 2)]).
898axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
899
900 [ not(equals(X15, 1)),
901 not(equals(Equals_Param17, 1)),
902 dif(X15, 2)
903 ]).
904axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
905
906 [ not(equals(Equals_Param17, 1)),
907 not(equals(Equals_Param17, 1)),
908 dif(X15, 2)
909 ]).
910axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
911
912 [ not(equals(Time16, 0)),
913 not(equals(Equals_Param17, 1)),
914 dif(X15, 2)
915 ]).
916axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
917 [not(equals(X15, 1)), not(equals(Time16, 2)), dif(X15, 2)]).
918axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
919
920 [ not(equals(Equals_Param17, 1)),
921 not(equals(Time16, 2)),
922 dif(X15, 2)
923 ]).
924axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
925 [not(equals(Time16, 0)), not(equals(Time16, 2)), dif(X15, 2)]).
926axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
927 [not(equals(X15, 1)), not(equal(x, y)), dif(X15, 2)]).
928axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
929 [not(equals(Equals_Param17, 1)), not(equal(x, y)), dif(X15, 2)]).
930axiom(not(holds_at(location(g1, x, X15, Equals_Param17), Time16)),
931 [not(equals(Time16, 0)), not(equal(x, y)), dif(X15, 2)]).
932
933 942axiom(equals(X18, 3),
943
944 [ not(equals(X18, 1)),
945 holds_at(location(g1, x, X18, Equals_Param20), Time19),
946 dif(X18, 2)
947 ]).
948axiom(equals(X18, 3),
949
950 [ not(equals(Equals_Param20, 1)),
951 holds_at(location(g1, x, X18, Equals_Param20), Time19),
952 dif(X18, 2)
953 ]).
954axiom(equals(X18, 3),
955
956 [ not(equals(Time19, 0)),
957 holds_at(location(g1, x, X18, Equals_Param20), Time19),
958 dif(X18, 2)
959 ]).
960
961 970axiom(equals(Equals_Param23, 1),
971
972 [ not(equals(X21, 1)),
973 holds_at(location(g1, x, X21, Equals_Param23), Time22),
974 dif(X21, 2)
975 ]).
976axiom(equals(Equals_Param23, 1),
977
978 [ not(equals(Equals_Param23, 1)),
979 holds_at(location(g1, x, X21, Equals_Param23), Time22),
980 dif(X21, 2)
981 ]).
982axiom(equals(Equals_Param23, 1),
983
984 [ not(equals(Time22, 0)),
985 holds_at(location(g1, x, X21, Equals_Param23), Time22),
986 dif(X21, 2)
987 ]).
988
989 998axiom(equals(Time25, 2),
999
1000 [ not(equals(X24, 1)),
1001 holds_at(location(g1, x, X24, Equals_Param26), Time25),
1002 dif(X24, 2)
1003 ]).
1004axiom(equals(Time25, 2),
1005
1006 [ not(equals(Equals_Param26, 1)),
1007 holds_at(location(g1, x, X24, Equals_Param26), Time25),
1008 dif(X24, 2)
1009 ]).
1010axiom(equals(Time25, 2),
1011
1012 [ not(equals(Time25, 0)),
1013 holds_at(location(g1, x, X24, Equals_Param26), Time25),
1014 dif(X24, 2)
1015 ]).
1016
1017 1026axiom(equal(x, y),
1027
1028 [ not(equals(X27, 1)),
1029 holds_at(location(g1, x, X27, Equals_Param29), Time28),
1030 dif(X27, 2)
1031 ]).
1032axiom(equal(x, y),
1033
1034 [ not(equals(Equals_Param29, 1)),
1035 holds_at(location(g1, x, X27, Equals_Param29), Time28),
1036 dif(X27, 2)
1037 ]).
1038axiom(equal(x, y),
1039
1040 [ not(equals(Time28, 0)),
1041 holds_at(location(g1, x, X27, Equals_Param29), Time28),
1042 dif(X27, 2)
1043 ]).
1044
1045
1051
1052 1055
1056 1069axiom(not({dif(Y, 2)}),
1070
1071 [ not(equals(Y, 1)),
1072 not(equals(Y, 3)),
1073 holds_at(location(g1, y, Y, Equals_Param), Time4)
1074 ]).
1075axiom(not({dif(Y, 2)}),
1076
1077 [ not(equals(Equals_Param, 1)),
1078 not(equals(Y, 3)),
1079 holds_at(location(g1, y, Y, Equals_Param), Time4)
1080 ]).
1081axiom(not({dif(Y, 2)}),
1082
1083 [ not(equals(Time4, 0)),
1084 not(equals(Y, 3)),
1085 holds_at(location(g1, y, Y, Equals_Param), Time4)
1086 ]).
1087axiom(not({dif(Y, 2)}),
1088
1089 [ not(equal(x, y)),
1090 not(equals(Y, 3)),
1091 holds_at(location(g1, y, Y, Equals_Param), Time4)
1092 ]).
1093axiom(not({dif(Y, 2)}),
1094
1095 [ not(equals(Y, 1)),
1096 not(equals(Equals_Param, 1)),
1097 holds_at(location(g1, y, Y, Equals_Param), Time4)
1098 ]).
1099axiom(not({dif(Y, 2)}),
1100
1101 [ not(equals(Equals_Param, 1)),
1102 not(equals(Equals_Param, 1)),
1103 holds_at(location(g1, y, Y, Equals_Param), Time4)
1104 ]).
1105axiom(not({dif(Y, 2)}),
1106
1107 [ not(equals(Time4, 0)),
1108 not(equals(Equals_Param, 1)),
1109 holds_at(location(g1, y, Y, Equals_Param), Time4)
1110 ]).
1111axiom(not({dif(Y, 2)}),
1112
1113 [ not(equal(x, y)),
1114 not(equals(Equals_Param, 1)),
1115 holds_at(location(g1, y, Y, Equals_Param), Time4)
1116 ]).
1117axiom(not({dif(Y, 2)}),
1118
1119 [ not(equals(Y, 1)),
1120 not(equals(Time4, 2)),
1121 holds_at(location(g1, y, Y, Equals_Param), Time4)
1122 ]).
1123axiom(not({dif(Y, 2)}),
1124
1125 [ not(equals(Equals_Param, 1)),
1126 not(equals(Time4, 2)),
1127 holds_at(location(g1, y, Y, Equals_Param), Time4)
1128 ]).
1129axiom(not({dif(Y, 2)}),
1130
1131 [ not(equals(Time4, 0)),
1132 not(equals(Time4, 2)),
1133 holds_at(location(g1, y, Y, Equals_Param), Time4)
1134 ]).
1135axiom(not({dif(Y, 2)}),
1136
1137 [ not(equal(x, y)),
1138 not(equals(Time4, 2)),
1139 holds_at(location(g1, y, Y, Equals_Param), Time4)
1140 ]).
1141
1142 1152axiom(equals(Y6, 3),
1153
1154 [ not(equals(Y6, 1)),
1155 dif(Y6, 2),
1156 holds_at(location(g1, y, Y6, Equals_Param8), Time7)
1157 ]).
1158axiom(equals(Y6, 3),
1159
1160 [ not(equals(Equals_Param8, 1)),
1161 dif(Y6, 2),
1162 holds_at(location(g1, y, Y6, Equals_Param8), Time7)
1163 ]).
1164axiom(equals(Y6, 3),
1165
1166 [ not(equals(Time7, 0)),
1167 dif(Y6, 2),
1168 holds_at(location(g1, y, Y6, Equals_Param8), Time7)
1169 ]).
1170axiom(equals(Y6, 3),
1171
1172 [ not(equal(x, y)),
1173 dif(Y6, 2),
1174 holds_at(location(g1, y, Y6, Equals_Param8), Time7)
1175 ]).
1176
1177 1187axiom(equals(Equals_Param11, 1),
1188
1189 [ not(equals(Y9, 1)),
1190 dif(Y9, 2),
1191 holds_at(location(g1, y, Y9, Equals_Param11), Time10)
1192 ]).
1193axiom(equals(Equals_Param11, 1),
1194
1195 [ not(equals(Equals_Param11, 1)),
1196 dif(Y9, 2),
1197 holds_at(location(g1, y, Y9, Equals_Param11), Time10)
1198 ]).
1199axiom(equals(Equals_Param11, 1),
1200
1201 [ not(equals(Time10, 0)),
1202 dif(Y9, 2),
1203 holds_at(location(g1, y, Y9, Equals_Param11), Time10)
1204 ]).
1205axiom(equals(Equals_Param11, 1),
1206
1207 [ not(equal(x, y)),
1208 dif(Y9, 2),
1209 holds_at(location(g1, y, Y9, Equals_Param11), Time10)
1210 ]).
1211
1212 1222axiom(equals(Time13, 2),
1223
1224 [ not(equals(Y12, 1)),
1225 dif(Y12, 2),
1226 holds_at(location(g1, y, Y12, Equals_Param14), Time13)
1227 ]).
1228axiom(equals(Time13, 2),
1229
1230 [ not(equals(Equals_Param14, 1)),
1231 dif(Y12, 2),
1232 holds_at(location(g1, y, Y12, Equals_Param14), Time13)
1233 ]).
1234axiom(equals(Time13, 2),
1235
1236 [ not(equals(Time13, 0)),
1237 dif(Y12, 2),
1238 holds_at(location(g1, y, Y12, Equals_Param14), Time13)
1239 ]).
1240axiom(equals(Time13, 2),
1241
1242 [ not(equal(x, y)),
1243 dif(Y12, 2),
1244 holds_at(location(g1, y, Y12, Equals_Param14), Time13)
1245 ]).
1246
1247 1260axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1261 [not(equals(Y15, 3)), not(equals(Y15, 1)), dif(Y15, 2)]).
1262axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1263
1264 [ not(equals(Equals_Param17, 1)),
1265 not(equals(Y15, 1)),
1266 dif(Y15, 2)
1267 ]).
1268axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1269 [not(equals(Time16, 2)), not(equals(Y15, 1)), dif(Y15, 2)]).
1270axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1271
1272 [ not(equals(Y15, 3)),
1273 not(equals(Equals_Param17, 1)),
1274 dif(Y15, 2)
1275 ]).
1276axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1277
1278 [ not(equals(Equals_Param17, 1)),
1279 not(equals(Equals_Param17, 1)),
1280 dif(Y15, 2)
1281 ]).
1282axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1283
1284 [ not(equals(Time16, 2)),
1285 not(equals(Equals_Param17, 1)),
1286 dif(Y15, 2)
1287 ]).
1288axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1289 [not(equals(Y15, 3)), not(equals(Time16, 0)), dif(Y15, 2)]).
1290axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1291
1292 [ not(equals(Equals_Param17, 1)),
1293 not(equals(Time16, 0)),
1294 dif(Y15, 2)
1295 ]).
1296axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1297 [not(equals(Time16, 2)), not(equals(Time16, 0)), dif(Y15, 2)]).
1298axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1299 [not(equals(Y15, 3)), not(equal(x, y)), dif(Y15, 2)]).
1300axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1301 [not(equals(Equals_Param17, 1)), not(equal(x, y)), dif(Y15, 2)]).
1302axiom(not(holds_at(location(g1, y, Y15, Equals_Param17), Time16)),
1303 [not(equals(Time16, 2)), not(equal(x, y)), dif(Y15, 2)]).
1304
1305 1314axiom(equals(Y18, 1),
1315
1316 [ not(equals(Y18, 3)),
1317 holds_at(location(g1, y, Y18, Equals_Param20), Time19),
1318 dif(Y18, 2)
1319 ]).
1320axiom(equals(Y18, 1),
1321
1322 [ not(equals(Equals_Param20, 1)),
1323 holds_at(location(g1, y, Y18, Equals_Param20), Time19),
1324 dif(Y18, 2)
1325 ]).
1326axiom(equals(Y18, 1),
1327
1328 [ not(equals(Time19, 2)),
1329 holds_at(location(g1, y, Y18, Equals_Param20), Time19),
1330 dif(Y18, 2)
1331 ]).
1332
1333 1342axiom(equals(Equals_Param23, 1),
1343
1344 [ not(equals(Y21, 3)),
1345 holds_at(location(g1, y, Y21, Equals_Param23), Time22),
1346 dif(Y21, 2)
1347 ]).
1348axiom(equals(Equals_Param23, 1),
1349
1350 [ not(equals(Equals_Param23, 1)),
1351 holds_at(location(g1, y, Y21, Equals_Param23), Time22),
1352 dif(Y21, 2)
1353 ]).
1354axiom(equals(Equals_Param23, 1),
1355
1356 [ not(equals(Time22, 2)),
1357 holds_at(location(g1, y, Y21, Equals_Param23), Time22),
1358 dif(Y21, 2)
1359 ]).
1360
1361 1370axiom(equals(Time25, 0),
1371
1372 [ not(equals(Y24, 3)),
1373 holds_at(location(g1, y, Y24, Equals_Param26), Time25),
1374 dif(Y24, 2)
1375 ]).
1376axiom(equals(Time25, 0),
1377
1378 [ not(equals(Equals_Param26, 1)),
1379 holds_at(location(g1, y, Y24, Equals_Param26), Time25),
1380 dif(Y24, 2)
1381 ]).
1382axiom(equals(Time25, 0),
1383
1384 [ not(equals(Time25, 2)),
1385 holds_at(location(g1, y, Y24, Equals_Param26), Time25),
1386 dif(Y24, 2)
1387 ]).
1388
1389 1398axiom(equal(x, y),
1399
1400 [ not(equals(Y27, 3)),
1401 holds_at(location(g1, y, Y27, Equals_Param29), Time28),
1402 dif(Y27, 2)
1403 ]).
1404axiom(equal(x, y),
1405
1406 [ not(equals(Equals_Param29, 1)),
1407 holds_at(location(g1, y, Y27, Equals_Param29), Time28),
1408 dif(Y27, 2)
1409 ]).
1410axiom(equal(x, y),
1411
1412 [ not(equals(Time28, 2)),
1413 holds_at(location(g1, y, Y27, Equals_Param29), Time28),
1414 dif(Y27, 2)
1415 ]).
1416
1417% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Cassimatis2002/OneScreen.e:47
1418% range time 0 2
1419% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Cassimatis2002/OneScreen.e:48
1420==> range(time,0,2).
1421
1422% range xcoord 0 4
1423% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Cassimatis2002/OneScreen.e:49
1424==> range(xcoord,0,4).
1425
1426% range ycoord 0 2
1427% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Cassimatis2002/OneScreen.e:50
1428==> range(ycoord,0,2).
1429
1430% range offset 0 0
1431% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/examples/Cassimatis2002/OneScreen.e:51
1432==> range(offset,0,0).