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).