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/tmpo0ELB_/pl7.2.9.pl
}
{loaded in 3420.214 msec.}
{preprocessed for plai in 0.0 msec.}
{analyzed by plai using det with local-control off in 8.001 msec.}
{written file /tmp/tmpo0ELB_/pl7.2.9_det_co.pl}
:- module(_1,[mult/3],[assertions]).
:- entry mult(A,B,C)
: ( ground(A), ground(B) ).
:- true pred mult(A,B,C)
: ( native_props:mshare([[C]]), ground([A,B]), gnd(A), gnd(B), term(C) )
=> ( ground([A,B,C]), rt17(A), rt20(B), rt21(C) )
+ ( is_det, mut_exclusive ).
:- true pred mult(A,B,C)
: ( native_props:mshare([[C]]), var(C), ground([A,B]), gnd(A), gnd(B), term(C) )
=> ( ground([A,B,C]), rt7(A), gnd(B), gnd(C) )
+ ( is_det, mut_exclusive ).
mult(0,Y,0).
mult(s(X),Y,Z) :-
mult(X,Y,Z1),
add(Z1,Y,Z).
:- true pred add(_1,Y,_2)
: ( native_props:mshare([[_2]]), ground([_1,Y]), gnd(_1), gnd(Y), term(_2) )
=> ( ground([_1,Y,_2]), rt13(_1), gnd(Y), gnd(_2) )
+ ( is_det, mut_exclusive ).
:- true pred add(_1,Y,_2)
: ( native_props:mshare([[_2]]), var(_2), ground([_1,Y]), rt3(_1), gnd(Y), term(_2) )
=> ( ground([_1,Y,_2]), rt4(_1), gnd(Y), gnd(_2) )
+ ( is_det, mut_exclusive ).
add(0,Y,Y).
add(s(X),Y,s(Z)) :-
add(X,Y,Z).
:- regtype rt19/1.
rt19(0).
rt19(s(A)) :-
rt8(A).
:- regtype rt18/1.
rt18(0).
rt18(s(A)) :-
rt19(A).
:- regtype rt17/1.
rt17(0).
rt17(s(A)) :-
rt18(A).
:- regtype rt20/1.
rt20(A) :-
gnd(A).
:- regtype rt21/1.
rt21(A) :-
gnd(A).
:- regtype rt14/1.
rt14(0).
rt14(s(A)) :-
rt14(A).
:- regtype rt13/1.
rt13(0).
rt13(s(A)) :-
rt14(A).
:- regtype rt8/1.
rt8(0).
rt8(s(A)) :-
rt8(A).
:- regtype rt7/1.
rt7(0).
rt7(s(A)) :-
rt8(A).
:- regtype rt3/1.
rt3(0).
:- regtype rt4/1.
rt4(0).