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.
{Reading /tmp/tmpi6LVP_/quot.pl
}
{loaded in 3360.21 msec.}
{preprocessed for plai in 0.0 msec.}
{analyzed by plai using det with local-control off in 36.002 msec.}
{written file /tmp/tmpi6LVP_/quot_det_co.pl}
:- module(_1,[div/3],[assertions]).
:- entry div(A,B,C)
: ( ground(A), ground(B) ).
:- true pred div(A,B,C)
: ( native_props:mshare([[C]]), ground([A,B]), gnd(A), gnd(B), term(C) )
=> ( ground([A,B,C]), rt42(A), rt45(B), rt47(C) )
+ ( is_det, mut_exclusive ).
div(X,Y,Z) :-
quot(X,Y,Y,Z).
:- true pred quot(X,s(_1),s(_1),U)
: ( native_props:mshare([[U]]), ground([X,_1]), gnd(X), term(U), gnd(_1) )
=> ( ground([X,U,_1]), rt21(X), rt23(U), gnd(_1) )
+ ( is_det, mut_exclusive ).
:- true pred quot(X,Z,Z,U)
: ( native_props:mshare([[U]]), ground([X,Z]), gnd(X), gnd(Z), term(U) )
=> ( ground([X,Z,U]), rt42(X), rt45(Z), rt47(U) )
+ ( is_det, mut_exclusive ).
:- true pred quot(X,Z,_1,U)
: ( native_props:mshare([[U]]), ground([X,Z,_1]), gnd(X), gnd(Z), gnd(_1), term(U) )
=> ( ground([X,Z,_1,U]), rt33(X), rt35(Z), rt29(_1), rt31(U) )
+ ( is_det, mut_exclusive ).
quot(0,s(Y),s(Z),0).
quot(s(X),s(Y),Z,U) :-
quot(X,Y,Z,U).
quot(X,0,s(Z),s(U)) :-
quot(X,s(Z),s(Z),U).
:- regtype rt22/1.
rt22(0).
rt22(s(A)) :-
rt22(A).
:- regtype rt21/1.
rt21(0).
rt21(s(A)) :-
rt22(A).
:- regtype rt23/1.
rt23(0).
:- regtype rt44/1.
rt44(0).
rt44(s(A)) :-
rt44(A).
:- regtype rt43/1.
rt43(0).
rt43(s(A)) :-
rt44(A).
:- regtype rt42/1.
rt42(0).
rt42(s(A)) :-
rt43(A).
:- regtype rt46/1.
rt46(A) :-
gnd(A).
:- regtype rt45/1.
rt45(s(A)) :-
rt46(A).
:- regtype rt48/1.
rt48(0).
rt48(s(A)) :-
rt48(A).
:- regtype rt47/1.
rt47(0).
rt47(s(A)) :-
rt48(A).
:- regtype rt34/1.
rt34(0).
rt34(s(A)) :-
rt34(A).
:- regtype rt33/1.
rt33(0).
rt33(s(A)) :-
rt34(A).
:- regtype rt36/1.
rt36(0).
rt36(A) :-
gnd(A).
rt36(s(A)) :-
rt36(A).
:- regtype rt35/1.
rt35(0).
rt35(s(A)) :-
rt36(A).
:- regtype rt30/1.
rt30(A) :-
gnd(A).
:- regtype rt29/1.
rt29(s(A)) :-
rt30(A).
:- regtype rt32/1.
rt32(0).
rt32(s(A)) :-
rt32(A).
:- regtype rt31/1.
rt31(0).
rt31(s(A)) :-
rt32(A).