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/tmpgwI6_h/lessleaves.pl
}
{loaded in 3348.209 msec.}
{preprocessed for plai in 4.0 msec.}
{analyzed by plai using det with local-control off in 4.0 msec.}
{written file /tmp/tmpgwI6_h/lessleaves_det_co.pl}
:- module(_1,[lessleaves/2],[assertions]).
:- true pred append(_1,Y,_2)
: ( native_props:mshare([[_2]]), var(_2), ground([_1,Y]), gnd(_1), gnd(Y), term(_2) )
=> ( ground([_1,Y,_2]), rt6(_1), gnd(Y), gnd(_2) )
+ ( is_det, mut_exclusive ).
append(nil,Y,Y).
append(cons(U,V),Y,cons(U,Z)) :-
append(V,Y,Z).
:- entry lessleaves(A,B)
: ( ground(A), ground(B) ).
:- true pred lessleaves(A,B)
: ( ground([A,B]), gnd(A), gnd(B) )
=> ( ground([A,B]), rt12(A), rt16(B) )
+ ( is_det, mut_exclusive ).
lessleaves(nil,cons(W,Z)).
lessleaves(cons(U,V),cons(W,Z)) :-
append(U,V,U1),
append(W,Z,W1),
lessleaves(U1,W1).
:- regtype rt15/1.
rt15(nil).
rt15(cons(A,B)) :-
gnd(A),
rt7(B).
:- regtype rt14/1.
rt14(nil).
rt14(cons(A,B)) :-
gnd(A),
rt15(B).
:- regtype rt13/1.
rt13(A) :-
gnd(A).
rt13(nil).
rt13(cons(A,B)) :-
rt14(A),
rt13(B).
:- regtype rt12/1.
rt12(nil).
rt12(cons(A,B)) :-
rt14(A),
rt13(B).
:- regtype rt18/1.
rt18(A) :-
gnd(A).
:- regtype rt17/1.
rt17(A) :-
gnd(A).
rt17(cons(A,B)) :-
rt18(A),
rt17(B).
:- regtype rt16/1.
rt16(cons(A,B)) :-
rt18(A),
rt17(B).
:- regtype rt7/1.
rt7(nil).
rt7(cons(A,B)) :-
gnd(A),
rt7(B).
:- regtype rt6/1.
rt6(nil).
rt6(cons(A,B)) :-
gnd(A),
rt7(B).