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 3448.215 msec.}
{preprocessed for plai in 0.0 msec.}
{analyzed by plai using det with local-control off in 8.001 msec.}
{written file /tmp/tmpQBYzod/latesplit_det_co.pl}
:- module(_1,[q/1],[assertions]).

:- entry q(A).

:- true pred q(A)
         : ( native_props:mshare([[A]]), term(A) )
        => ( ground([A]), rt18(A) )
         + ( is_det, mut_exclusive ).

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

:- true pred p(s(s(0)),_1)
         : ( native_props:mshare([[_1]]), term(_1) )
        => ( ground([_1]), rt17(_1) )
         + ( is_det, mut_exclusive ).

:- true pred p(_1,_2)
         : ( native_props:mshare([[_2]]), ground([_1]), rt0(_1), term(_2) )
        => ( ground([_1,_2]), rt15(_1), rt16(_2) )
         + ( is_det, mut_exclusive ).

:- true pred p(_1,_2)
         : ( native_props:mshare([[_2]]), ground([_1]), rt3(_1), term(_2) )
        => ( ground([_1,_2]), rt11(_1), rt13(_2) )
         + ( is_det, mut_exclusive ).

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

:- true pred r(X)
         : ( ground([X]), rt17(X) )
        => ( ground([X]), rt18(X) )
         + ( is_det, mut_exclusive ).

r(s(s(0))) :- !.
r(X) :-
        r(X).


:- regtype rt18/1.

rt18(s(s(0))).


:- regtype rt17/1.

rt17(s(A)) :-
        rt16(A).


:- regtype rt0/1.

rt0(s(0)).


:- regtype rt15/1.

rt15(s(A)) :-
        rt11(A).


:- regtype rt16/1.

rt16(s(A)) :-
        rt13(A).


:- regtype rt4/1.

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


:- regtype rt3/1.

rt3(0).
rt3(s(A)) :-
        rt4(A).


:- regtype rt12/1.

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


:- regtype rt11/1.

rt11(0).
rt11(s(A)) :-
        rt12(A).


:- regtype rt14/1.

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


:- regtype rt13/1.

rt13(0).
rt13(s(A)) :-
        rt14(A).