:- include('../ec_test_incl'). :- module(ec). do_test_cakes(N) :- abdemo_special(loops,[holds_at(num_cakes(N),t)],R). %do_test(1) :- do_test_cakes(1). %do_test(0) :- do_test_cakes(0). %do_test(4) :- do_test_cakes(4). %do_test(5) :- do_test_cakes(5). %do_test(6) :- \+ do_test_cakes(6). do_test(3) :- do_test_cakes(3). fluent(num_cakes(_)). executable(eat_cakes(1)). initially(num_cakes(5)). axiom(initiates(eat_cakes(Eat),num_cakes(Remaining),T), [ holds_at(num_cakes(Start), T), call(( plus(Remaining, Eat, Start), Start>=0,Remaining>=0,Eat>=0)), holds_at(num_cakes(Start), T)]). axiom(terminates(eat_cakes(Eat),num_cakes(N),T), [call((number(E),Eat>0)),holds_at(num_cakes(N),T)]). /* Abduction policy */ abducible(dummy). :- listing(ec_current_domain_db). :- run_tests.