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.
{loaded in 3424.214 msec.}
{preprocessed for plai in 4.0 msec.}
{analyzed by plai using det with local-control off in 8.001 msec.}
{written file /tmp/tmpIWJBk3/preorder_dl_det_co.pl}
:- module(_1,[preorder/2],[assertions]).
:- entry preorder(A,B)
: ground(A).
:- true pred preorder(A,B)
: ( native_props:mshare([[B]]), ground([A]), gnd(A), term(B) )
=> ( native_props:mshare([[B]]), ground([A]), rt22(A), rt29(B) )
+ ( is_det, mut_exclusive ).
preorder(T,Xs) :-
preorder_dl(T,Xs-[]).
:- true pred preorder_dl(_1,_2-[])
: ( native_props:mshare([[_2]]), ground([_1]), gnd(_1), term(_2) )
=> ( native_props:mshare([[_2]]), ground([_1]), rt22(_1), rt29(_2) )
+ ( is_det, mut_exclusive ).
:- true pred preorder_dl(_1,_2-_3)
: ( native_props:mshare([[_2]]), ground([_1,_3]), rt10(_1), term(_2), term(_3) )
=> ( native_props:mshare([[_2]]), ground([_1,_3]), rt15(_1), term(_2), term(_3) )
+ ( is_det, mut_exclusive ).
:- true pred preorder_dl(_1,_2-_3)
: ( native_props:mshare([[_2],[_3]]), var(_3), ground([_1]), gnd(_1), term(_2), term(_3) )
=> ( native_props:mshare([[_2],[_2,_3],[_3]]), ground([_1]), rt7(_1), term(_2), term(_3) )
+ ( is_det, mut_exclusive ).
preorder_dl(nil,X-X).
preorder_dl(tree(L,X,R),[X|Xs]-Zs) :-
preorder_dl(L,Xs-Ys),
preorder_dl(R,Ys-Zs).
:- regtype rt28/1.
rt28(nil).
rt28(tree(A,B,C)) :-
rt9(A),
gnd(B),
rt8(C).
:- regtype rt27/1.
rt27(nil).
rt27(tree(A,B,C)) :-
rt9(A),
gnd(B),
rt8(C).
:- regtype rt26/1.
rt26(nil).
rt26(tree(A,B,C)) :-
rt28(A),
gnd(B),
rt27(C).
:- regtype rt25/1.
rt25(nil).
rt25(tree(A,B,C)) :-
rt9(A),
gnd(B),
rt8(C).
:- regtype rt24/1.
rt24(nil).
rt24(tree(A,B,C)) :-
rt25(A),
gnd(B),
rt24(C).
:- regtype rt23/1.
rt23(nil).
rt23(tree(A,B,C)) :-
rt25(A),
gnd(B),
rt24(C).
:- regtype rt22/1.
rt22(nil).
rt22(tree(A,B,C)) :-
rt26(A),
gnd(B),
rt23(C).
:- regtype rt30/1.
rt30(A) :-
term(A).
:- regtype rt29/1.
rt29([]).
rt29([A|B]) :-
gnd(A),
rt30(B).
:- regtype rt10/1.
rt10(A) :-
gnd(A).
:- regtype rt17/1.
rt17(nil).
rt17(tree(A,B,C)) :-
rt9(A),
gnd(B),
rt8(C).
:- regtype rt16/1.
rt16(nil).
rt16(tree(A,B,C)) :-
rt17(A),
gnd(B),
rt16(C).
:- regtype rt15/1.
rt15(nil).
rt15(tree(A,B,C)) :-
rt17(A),
gnd(B),
rt16(C).
:- regtype rt9/1.
rt9(nil).
rt9(tree(A,B,C)) :-
rt9(A),
gnd(B),
rt8(C).
:- regtype rt8/1.
rt8(nil).
rt8(tree(A,B,C)) :-
rt9(A),
gnd(B),
rt8(C).
:- regtype rt7/1.
rt7(nil).
rt7(tree(A,B,C)) :-
rt9(A),
gnd(B),
rt8(C).