1:- include('../ec_test_incl').    2/*
    3
    4   Test A
    5
    6*/
    7
    8do_test(stdtest+3) :-
    9     testing_msg('Test 3'),
   10     abdemo_special(easy,[holds_at(have(o1),t), holds_at(have(o2),t),
   11          holds_at(have(o3),t)], R).
   12
   13do_test(stdtest+4) :-
   14     testing_msg('Test 4'),
   15     abdemo_special(easy,[holds_at(have(o1),t), holds_at(have(o2),t),
   16          holds_at(have(o3),t), holds_at(have(o4),t)], R).
   17
   18do_test(stdtest+5) :-
   19     abdemo_special(easy,[holds_at(have(o1),t), holds_at(have(o2),t),
   20          holds_at(have(o3),t), holds_at(have(o4),t),
   21          holds_at(have(o5),t)], R).
   22
   23do_test(stdtest+6) :-
   24     testing_msg('Test 6'),
   25     abdemo_special(easy,[holds_at(have(o1),t), holds_at(have(o2),t),
   26          holds_at(have(o3),t), holds_at(have(o4),t),
   27          holds_at(have(o5),t), holds_at(have(o6),t)], R).
   28
   29do_test(stdtest+7) :-
   30     abdemo_special(easy,[holds_at(have(o1),t), holds_at(have(o2),t),
   31          holds_at(have(o3),t), holds_at(have(o4),t),
   32          holds_at(have(o5),t), holds_at(have(o6),t),
   33          holds_at(have(o7),t)], R).
   34
   35do_test(stdtest+8) :-
   36     testing_msg('Test 8 - 111 sicstus'),
   37     abdemo_special(easy,[holds_at(have(o1),t), holds_at(have(o2),t),
   38          holds_at(have(o3),t), holds_at(have(o4),t),
   39          holds_at(have(o5),t), holds_at(have(o6),t),
   40          holds_at(have(o7),t), holds_at(have(o8),t)], R).
   41
   42do_test(benchtest+9) :-
   43     abdemo_special(long,[holds_at(have(o1),t), holds_at(have(o2),t),
   44          holds_at(have(o3),t), holds_at(have(o4),t),
   45          holds_at(have(o5),t), holds_at(have(o6),t),
   46          holds_at(have(o7),t), holds_at(have(o8),t),
   47          holds_at(have(o9),t)], R).
   48
   49do_test(benchtest+10+long) :-
   50     testing_msg('Test 10'),
   51     abdemo_special(long,[holds_at(have(o1),t), holds_at(have(o2),t),
   52          holds_at(have(o3),t), holds_at(have(o4),t),
   53          holds_at(have(o5),t), holds_at(have(o6),t),
   54          holds_at(have(o7),t), holds_at(have(o8),t),
   55          holds_at(have(o9),t), holds_at(have(o10),t)], R).
   56
   57do_test(benchtest+12+long) :-
   58     testing_msg('Test 12'),
   59     abdemo_special(long,[holds_at(have(o1),t), holds_at(have(o2),t),
   60          holds_at(have(o3),t), holds_at(have(o4),t),
   61          holds_at(have(o5),t), holds_at(have(o6),t),
   62          holds_at(have(o7),t), holds_at(have(o8),t),
   63          holds_at(have(o9),t), holds_at(have(o10),t),
   64          holds_at(have(o11),t), holds_at(have(o12),t)], R).
   65
   66do_test(benchtest+14+long) :-
   67     testing_msg('Test 14'),
   68     abdemo_special(long,[holds_at(have(o1),t), holds_at(have(o2),t),
   69          holds_at(have(o3),t), holds_at(have(o4),t),
   70          holds_at(have(o5),t), holds_at(have(o6),t),
   71          holds_at(have(o7),t), holds_at(have(o8),t),
   72          holds_at(have(o9),t), holds_at(have(o10),t),
   73          holds_at(have(o11),t), holds_at(have(o12),t),
   74          holds_at(have(o13),t), holds_at(have(o14),t)], R).
   75
   76do_test(benchtest+16+long) :-
   77     testing_msg('Test 16'),
   78     abdemo_special(long,[holds_at(have(o1),t), holds_at(have(o2),t),
   79          holds_at(have(o3),t), holds_at(have(o4),t),
   80          holds_at(have(o5),t), holds_at(have(o6),t),
   81          holds_at(have(o7),t), holds_at(have(o8),t),
   82          holds_at(have(o9),t), holds_at(have(o10),t),
   83          holds_at(have(o11),t), holds_at(have(o12),t),
   84          holds_at(have(o13),t), holds_at(have(o14),t),
   85          holds_at(have(o15),t), holds_at(have(o16),t)], R).
   86
   87
   88
   89
   90
   91
   92
   93
   94axiom(initiates(go(X),at(X),T),[]).
   95
   96axiom(terminates(go(X),at(Y),T),[diff(X,Y)]).
   97
   98axiom(initiates(buy(X),have(X),T),[sells(Y,X), holds_at(at(Y),T)]).
   99
  100axiom(sells(s1,o1),[]).
  101
  102axiom(sells(s2,o2),[]).
  103
  104axiom(sells(s3,o3),[]).
  105
  106axiom(sells(s4,o4),[]).
  107
  108axiom(sells(s5,o5),[]).
  109
  110axiom(sells(s6,o6),[]).
  111
  112axiom(sells(s7,o7),[]).
  113
  114axiom(sells(s8,o8),[]).
  115
  116axiom(sells(s9,o9),[]).
  117
  118axiom(sells(s10,o10),[]).
  119
  120axiom(sells(s11,o11),[]).
  121
  122axiom(sells(s12,o12),[]).
  123
  124axiom(sells(s13,o13),[]).
  125
  126axiom(sells(s14,o14),[]).
  127
  128axiom(sells(s15,o15),[]).
  129
  130axiom(sells(s16,o16),[]).
  131
  132
  133
  134
  135
  136
  137/* Abduction policy */
  138
  139abducible(dummy).
  140
  141executable(go(X)).
  142
  143executable(buy(X))