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/tmpqK0CuW/divrempredef.pl
}
{loaded in 3428.214 msec.}
{preprocessed for plai in 0.0 msec.}
{analyzed by plai using det with local-control off in 12.0 msec.}
{written file /tmp/tmpqK0CuW/divrempredef_det_co.pl}
:- module(_1,[div/4],[assertions]).
:- entry div(A,B,C,D)
: ( ground(A), ground(B) ).
:- true pred div(A,B,C,D)
: ( native_props:mshare([[C],[C,D],[D]]), ground([A,B]), gnd(A), gnd(B), term(C), term(D) )
=> ( ground([A,B,C,D]), rt22(A), gnd(B), rt23(C), rt26(D) )
+ ( is_det, mut_exclusive ).
:- true pred div(A,B,C,D)
: ( native_props:mshare([[C],[C,D],[D]]), ground([A,B]), gnd(A), rt8(B), term(C), term(D) )
=> ( ground([A,B,C,D]), rt19(A), rt8(B), rt17(C), rt16(D) )
+ ( is_det, mut_exclusive ).
div(X,0,Z,R) :-
!,
fail.
div(0,Y,Z,R) :-
!,
Z=0,
R=0.
div(X,Y,s(Z),R) :-
minus(X,Y,U),
!,
div(U,Y,Z,R).
div(X,Y,0,X).
:- true pred minus(X,_1,Z)
: ( native_props:mshare([[Z]]), var(Z), ground([X,_1]), gnd(X), gnd(_1), term(Z) )
=> ( ground([X,_1,Z]), gnd(X), rt8(_1), gnd(Z) )
+ ( is_det, mut_exclusive ).
minus(X,0,X).
minus(s(X),s(Y),Z) :-
minus(X,Y,Z).
:- regtype rt22/1.
rt22(A) :-
gnd(A).
:- regtype rt25/1.
rt25(0).
rt25(s(A)) :-
rt25(A).
:- regtype rt24/1.
rt24(0).
rt24(s(A)) :-
rt25(A).
:- regtype rt23/1.
rt23(0).
rt23(s(A)) :-
rt24(A).
:- regtype rt26/1.
rt26(A) :-
gnd(A).
:- regtype rt9/1.
rt9(0).
rt9(s(A)) :-
rt9(A).
:- regtype rt8/1.
rt8(0).
rt8(s(A)) :-
rt9(A).
:- regtype rt19/1.
rt19(A) :-
gnd(A).
:- regtype rt18/1.
rt18(0).
rt18(s(A)) :-
rt18(A).
:- regtype rt17/1.
rt17(0).
rt17(s(A)) :-
rt18(A).
:- regtype rt16/1.
rt16(A) :-
gnd(A).