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 3352.208 msec.}
{preprocessed for plai in 4.0 msec.}
{analyzed by plai using det with local-control off in 8.001 msec.}
{written file /tmp/tmpD8FKTl/dependency_det_co.pl}
:- module(_1,[h/1],[assertions]).
:- entry h(A)
: ground(A).
:- true pred h(A)
: ( ground([A]), gnd(A) )
=> ( ground([A]), rt29(A) )
+ ( is_det, mut_exclusive ).
h(X) :-
f(X),
g(X).
:- true pred f(_1)
: ( ground([_1]), gnd(_1) )
=> ( ground([_1]), rt14(_1) )
+ ( is_det, mut_exclusive ).
:- true pred f(c(_1,s(_2)))
: ( ground([_1,_2]), gnd(_1), gnd(_2) )
=> ( ground([_1,_2]), rt11(_1), rt10(_2) )
+ ( is_det, mut_exclusive ).
f(c(0,_1)) :- !.
f(c(X,Y)) :-
p(X,P),
f(c(P,s(Y))).
:- true pred g(_1)
: ( ground([_1]), rt14(_1) )
=> ( ground([_1]), rt29(_1) )
+ ( is_det, mut_exclusive ).
:- true pred g(c(s(_2),_1))
: ( ground([_1,_2]), gnd(_1), rt16(_2) )
=> ( ground([_1,_2]), rt26(_1), rt25(_2) )
+ ( is_det, mut_exclusive ).
g(c(_1,0)) :- !.
g(c(X,Y)) :-
p(Y,P),
g(c(s(X),P)).
:- true pred p(_1,X)
: ( native_props:mshare([[X]]), var(X), ground([_1]), gnd(_1), term(X) )
=> ( ground([_1,X]), rt4(_1), gnd(X) )
+ ( is_det, mut_exclusive ).
p(0,0).
p(s(X),X).
:- regtype rt32/1.
rt32(0).
rt32(A) :-
gnd(A).
rt32(s(A)) :-
rt32(A).
:- regtype rt31/1.
rt31(0).
rt31(A) :-
gnd(A).
rt31(s(A)) :-
rt31(A).
:- regtype rt30/1.
rt30(0).
rt30(s(A)) :-
rt31(A).
:- regtype rt29/1.
rt29(c(A,B)) :-
rt32(A),
rt30(B).
:- regtype rt15/1.
rt15(A) :-
gnd(A).
:- regtype rt14/1.
rt14(c(A,B)) :-
rt16(A),
rt15(B).
:- regtype rt17/1.
rt17(0).
rt17(A) :-
gnd(A).
rt17(s(A)) :-
rt17(A).
:- regtype rt16/1.
rt16(0).
rt16(s(A)) :-
rt17(A).
:- regtype rt27/1.
rt27(0).
rt27(A) :-
gnd(A).
rt27(s(A)) :-
rt27(A).
:- regtype rt26/1.
rt26(0).
rt26(s(A)) :-
rt27(A).
:- regtype rt25/1.
rt25(0).
rt25(A) :-
gnd(A).
rt25(s(A)) :-
rt25(A).
:- regtype rt4/1.
rt4(0).
rt4(s(A)) :-
gnd(A).
:- regtype rt12/1.
rt12(0).
rt12(A) :-
gnd(A).
rt12(s(A)) :-
rt12(A).
:- regtype rt11/1.
rt11(0).
rt11(s(A)) :-
rt12(A).
:- regtype rt10/1.
rt10(A) :-
gnd(A).