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

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

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

e(X) :-
        Y=[e,o|Y],
        c(Y,X).

:- true pred c(_1,_2)
         : ( ground([_1,_2]), rt0(_1), gnd(_2) )
        => ( ground([_1,_2]), rt3(_1), rt23(_2) )
         + ( is_det, mut_exclusive ).

:- true pred c(_1,_2)
         : ( ground([_1,_2]), rt5(_1), gnd(_2) )
        => ( ground([_1,_2]), rt18(_1), rt19(_2) )
         + ( is_det, mut_exclusive ).

:- true pred c(_1,_2)
         : ( ground([_1,_2]), term(_1), rt7(_2) )
        => ( ground([_1,_2]), rt14(_1), rt16(_2) )
         + ( is_det, mut_exclusive ).

c([e|_1],0).
c([_1|X],s(Y)) :-
        c(X,Y).


:- regtype rt25/1.

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


:- regtype rt24/1.

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


:- regtype rt23/1.

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


:- regtype rt0/1.

rt0([e,o|A]) :-
        term(A).


:- regtype rt1/1.

rt1([o|A]) :-
        term(A).


:- regtype rt3/1.

rt3([e|A]) :-
        rt1(A).


:- regtype rt5/1.

rt5([o|A]) :-
        term(A).


:- regtype rt6/1.

rt6(o).


:- regtype rt18/1.

rt18([A|B]) :-
        rt6(A),
        rt14(B).


:- regtype rt19/1.

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


:- regtype rt7/1.

rt7(A) :-
        gnd(A).


:- regtype rt15/1.

rt15(A) :-
        term(A).
rt15([A|B]) :-
        term(A),
        rt15(B).


:- regtype rt14/1.

rt14([A|B]) :-
        term(A),
        rt15(B).


:- regtype rt17/1.

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


:- regtype rt16/1.

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