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 3380.212 msec.}
{preprocessed for plai in 0.0 msec.}
{analyzed by plai using det with local-control off in 8.001 msec.}
{written file /tmp/tmpgMfLNe/even2_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=f(e,f(o,Y)),
!,
c(Y,X).
e(X) :-
e(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(f(e,_1),0).
c(f(_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(f(e,f(o,A))) :-
term(A).
:- regtype rt1/1.
rt1(f(o,A)) :-
term(A).
:- regtype rt3/1.
rt3(f(e,A)) :-
rt1(A).
:- regtype rt5/1.
rt5(f(o,A)) :-
term(A).
:- regtype rt6/1.
rt6(o).
:- regtype rt18/1.
rt18(f(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(f(A,B)) :-
term(A),
rt15(B).
:- regtype rt14/1.
rt14(f(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).