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
   35
   36
   37do_test(stdtest+8) :-
   38     testing_msg('Test 8 - 111 sicstus'),
   39     abdemo_special(easy,[holds_at(have(o1),t), holds_at(have(o2),t),
   40          holds_at(have(o3),t), holds_at(have(o4),t),
   41          holds_at(have(o5),t), holds_at(have(o6),t),
   42          holds_at(have(o7),t), holds_at(have(o8),t)], R).
   43
   44do_test(benchtest+9) :-
   45     abdemo_special(long,[holds_at(have(o1),t), holds_at(have(o2),t),
   46          holds_at(have(o3),t), holds_at(have(o4),t),
   47          holds_at(have(o5),t), holds_at(have(o6),t),
   48          holds_at(have(o7),t), holds_at(have(o8),t),
   49          holds_at(have(o9),t)], R).
   50
   51do_test(benchtest+10+long) :-
   52     testing_msg('Test 10'),
   53     abdemo_special(long,[holds_at(have(o1),t), holds_at(have(o2),t),
   54          holds_at(have(o3),t), holds_at(have(o4),t),
   55          holds_at(have(o5),t), holds_at(have(o6),t),
   56          holds_at(have(o7),t), holds_at(have(o8),t),
   57          holds_at(have(o9),t), holds_at(have(o10),t)], R).
   58
   59do_test(benchtest+12+long) :-
   60     testing_msg('Test 12'),
   61     abdemo_special(long,[holds_at(have(o1),t), holds_at(have(o2),t),
   62          holds_at(have(o3),t), holds_at(have(o4),t),
   63          holds_at(have(o5),t), holds_at(have(o6),t),
   64          holds_at(have(o7),t), holds_at(have(o8),t),
   65          holds_at(have(o9),t), holds_at(have(o10),t),
   66          holds_at(have(o11),t), holds_at(have(o12),t)], R).
   67
   68do_test(benchtest+14+long) :-
   69     testing_msg('Test 14'),
   70     abdemo_special(long,[holds_at(have(o1),t), holds_at(have(o2),t),
   71          holds_at(have(o3),t), holds_at(have(o4),t),
   72          holds_at(have(o5),t), holds_at(have(o6),t),
   73          holds_at(have(o7),t), holds_at(have(o8),t),
   74          holds_at(have(o9),t), holds_at(have(o10),t),
   75          holds_at(have(o11),t), holds_at(have(o12),t),
   76          holds_at(have(o13),t), holds_at(have(o14),t)], R).
   77
   78do_test(benchtest+16+long) :-
   79     testing_msg('Test 16'),
   80     abdemo_special(long,[
   81          holds_at(have(o1),t), 
   82          holds_at(have(o2),t),
   83          holds_at(have(o3),t), holds_at(have(o4),t),
   84          holds_at(have(o5),t), holds_at(have(o6),t),
   85          holds_at(have(o7),t), holds_at(have(o8),t),
   86          holds_at(have(o9),t), holds_at(have(o10),t),
   87          holds_at(have(o11),t), holds_at(have(o12),t),
   88          holds_at(have(o13),t), holds_at(have(o14),t),
   89          holds_at(have(o15),t), holds_at(have(o16),t)], R).
   90
   91
   92make_test_n(Max,Haves):-
   93  findall(holds_at(have(O),t),
   94    (between(1,Max,N),atom_concat(o,N,O)),Haves).
   95   
   96do_test(benchtest+19+long) :-
   97     testing_msg('Test 19'),
   98     make_test_n(19, Haves),
   99     dbginfo(haves=Haves),!,
  100     abdemo_special(long, Haves, R).
  101
  102do_test(benchtest+20+long) :-
  103     testing_msg('Test 20'),
  104     make_test_n(20, Haves),
  105     dbginfo(haves=Haves),!,
  106     abdemo_special(long, Haves, R).
  107
  108
  109
  110:- use_module(library(ec_planner/ec_loader)).  111
  112% axiom(initiates(go(X),at(X),T),[]).
  113% axiom(terminates(go(X),at(Y),T),[diff(X,Y)]).
  114event(go(store)).
  115fluent(at(store)).
  116%:- rtrace.
  117initiates(go(X),at(X)).
  118%:- break.
  119terminates(go(X), at(Y)) <- X \= Y.
  120
  121% axiom(initiates(buy(X),have(X),T),[sells(Y,X), holds_at(at(Y),T)]).
  122event(buy(object)).
  123fluent(at(store)).
  124predicate(sells(store,object)).
  125fluent(have(object)).
  126initiates(buy(X), have(X)) <- sells(Y, X), at(Y).
  127
  128
  129:- 
  130  forall((between(1, 64, N), 
  131        atom_concat(s,N,S),atom_concat(o,N,O)),
  132    process_ec(sells(S,O))).  133
  134/*
  135axiom(sells(s1,o1),[]).
  136axiom(sells(s2,o2),[]).
  137axiom(sells(s3,o3),[]).
  138axiom(sells(s4,o4),[]).
  139axiom(sells(s5,o5),[]).
  140axiom(sells(s6,o6),[]).
  141axiom(sells(s7,o7),[]).
  142axiom(sells(s8,o8),[]).
  143axiom(sells(s9,o9),[]).
  144axiom(sells(s10,o10),[]).
  145axiom(sells(s11,o11),[]).
  146axiom(sells(s12,o12),[]).
  147axiom(sells(s13,o13),[]).
  148axiom(sells(s14,o14),[]).
  149axiom(sells(s15,o15),[]).
  150axiom(sells(s16,o16),[]).
  151*/
  152
  153
  154
  155
  156
  157/* Abduction policy */
  158
  159%abducible(dummy).
  160%executable(go(X)).
  161%executable(buy(X)).
  162
  163
  164:- listing([ec_current_domain_db, axiom]).