Ciao Preprocessor (integrated Alpha version)
 | This is an alpha distribution, meant only for testing. Please do let us 
 | know at ciaopp-bugclip.dia.fi.upm.es any problems you may have.

{loaded in 3372.211 msec.}
{preprocessed for plai in 4.0 msec.}
{analyzed by plai using det with local-control off in 8.001 msec.}
{written file /tmp/tmpq34flx/ts08_det_co.pl}
:- module(_1,[q/1],[assertions]).

:- entry q(A)
         : ground(A).

:- true pred q(A)
         : ( ground([A]), gnd(A) )
        => ( ground([A]), rt28(A) )
         + ( is_det, mut_exclusive ).

q(X) :-
        p(X,0).

:- true pred p(_1,0)
         : ( ground([_1]), gnd(_1) )
        => ( ground([_1]), rt28(_1) )
         + ( is_det, mut_exclusive ).

:- true pred p(_1,s(_2))
         : ( ground([_1,_2]), gnd(_1), rt2(_2) )
        => ( ground([_1,_2]), rt24(_1), rt23(_2) )
         + ( is_det, mut_exclusive ).

:- true pred p(_1,s(_2))
         : ( ground([_1,_2]), rt9(_1), rt7(_2) )
        => ( ground([_1,_2]), rt19(_1), rt18(_2) )
         + ( is_det, mut_exclusive ).

p(0,_1).
p(s(X),Y) :-
        p(X,s(Y)).


:- regtype rt30/1.

rt30(0).
rt30(s(A)) :-
        rt30(A).


:- regtype rt29/1.

rt29(0).
rt29(s(A)) :-
        rt30(A).


:- regtype rt28/1.

rt28(0).
rt28(s(A)) :-
        rt29(A).


:- regtype rt2/1.

rt2(0).


:- regtype rt25/1.

rt25(0).
rt25(s(A)) :-
        rt25(A).


:- regtype rt24/1.

rt24(0).
rt24(s(A)) :-
        rt25(A).


:- regtype rt23/1.

rt23(0).
rt23(s(A)) :-
        rt23(A).


:- regtype rt9/1.

rt9(A) :-
        gnd(A).


:- regtype rt8/1.

rt8(0).
rt8(s(A)) :-
        rt8(A).


:- regtype rt7/1.

rt7(0).
rt7(s(A)) :-
        rt8(A).


:- regtype rt20/1.

rt20(0).
rt20(s(A)) :-
        rt20(A).


:- regtype rt19/1.

rt19(0).
rt19(s(A)) :-
        rt20(A).


:- regtype rt18/1.

rt18(0).
rt18(s(A)) :-
        rt18(A).