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/tmpuOBaPx/g.pl
}
{loaded in 3408.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/tmpuOBaPx/g_det_co.pl}
:- module(_1,[g/1],[assertions]).
:- entry g(A).
:- true pred g(A)
: ( native_props:mshare([[A]]), term(A) )
=> ( native_props:mshare([[A]]), rt33(A) )
+ ( is_det, mut_exclusive ).
g(W) :-
eq(X,[[a],[R]]),
eq(Y,[[S,c],[]]),
app_1(X,Y,Z),
eq(Z,[U|V]),
app_2(U,U,W).
:- true pred app_1(_1,X,_2)
: ( native_props:mshare([[_1],[X],[_2]]), var(_2), rt0(_1), rt1(X), term(_2) )
=> ( native_props:mshare([[_1,_2],[X,_2]]), rt28(_1), rt1(X), rt29(_2) )
+ ( is_det, mut_exclusive ).
:- true pred app_1(_1,X,_2)
: ( native_props:mshare([[_1],[X],[_2]]), var(_2), rt3(_1), rt1(X), term(_2) )
=> ( native_props:mshare([[_1,_2],[X,_2]]), rt26(_1), rt1(X), rt27(_2) )
+ ( is_det, mut_exclusive ).
:- true pred app_1(_1,X,_2)
: ( native_props:mshare([[_1],[X],[_2]]), var(_2), rt7(_1), rt1(X), term(_2) )
=> ( native_props:mshare([[_1,_2],[X,_2]]), rt20(_1), rt1(X), rt22(_2) )
+ ( is_det, mut_exclusive ).
app_1([],X,X).
app_1([X|Xs],Ys,[X|Zs]) :-
app_1(Xs,Ys,Zs).
:- true pred app_2(X,X,_1)
: ( native_props:mshare([[X],[_1]]), rt2(X), term(_1) )
=> ( native_props:mshare([[X,_1]]), rt34(X), rt33(_1) )
+ ( is_det, mut_exclusive ).
:- true pred app_2(X,Ys,_1)
: ( native_props:mshare([[X,Ys],[X,Ys,_1],[Ys],[Ys,_1],[_1]]), rt31(X), rt2(Ys), term(_1) )
=> ( native_props:mshare([[Ys,_1]]), ground([X]), rt32(X), rt2(Ys), rt2(_1) )
+ ( is_det, mut_exclusive ).
app_2([],X,X).
app_2([X|Xs],Ys,[X|Zs]) :-
app_2(Xs,Ys,Zs).
:- true pred eq(X,[_1|_2])
: ( native_props:mshare([[X],[_1],[_2]]), var(_1), var(_2), rt29(X), term(_1), term(_2) )
=> ( native_props:mshare([[X,_1],[X,_1,_2],[X,_2]]), rt29(X), rt2(_1), rt27(_2) )
+ ( is_det, mut_exclusive ).
:- true pred eq(X,[[_1,c],[]])
: ( native_props:mshare([[X],[_1]]), var(X), var(_1), term(X), term(_1) )
=> ( native_props:mshare([[X,_1]]), rt1(X), term(_1) )
+ ( is_det, mut_exclusive ).
:- true pred eq(X,[[a],[_1]])
: ( native_props:mshare([[X],[_1]]), var(X), var(_1), term(X), term(_1) )
=> ( native_props:mshare([[X,_1]]), rt0(X), term(_1) )
+ ( is_det, mut_exclusive ).
eq(X,X).
:- regtype rt33/1.
rt33([A|B]) :-
rt30(A),
rt2(B).
:- regtype rt2/1.
rt2([a]).
:- regtype rt30/1.
rt30(a).
:- regtype rt34/1.
rt34([A|B]) :-
rt30(A),
rt32(B).
:- regtype rt31/1.
rt31([]).
:- regtype rt32/1.
rt32([]).
:- regtype rt29/1.
rt29([A|B]) :-
rt2(A),
rt27(B).
:- regtype rt27/1.
rt27([A|B]) :-
rt4(A),
rt22(B).
:- regtype rt0/1.
rt0([[a],[A]]) :-
term(A).
:- regtype rt1/1.
rt1([[A,c],[]]) :-
term(A).
:- regtype rt28/1.
rt28([A|B]) :-
rt2(A),
rt26(B).
:- regtype rt3/1.
rt3([[A]]) :-
term(A).
:- regtype rt4/1.
rt4([A]) :-
term(A).
:- regtype rt26/1.
rt26([A|B]) :-
rt4(A),
rt20(B).
:- regtype rt8/1.
rt8([]).
rt8([[A]|B]) :-
term(A),
rt8(B).
:- regtype rt7/1.
rt7([]).
rt7([[A]|B]) :-
term(A),
rt8(B).
:- regtype rt10/1.
rt10([A]) :-
term(A).
:- regtype rt21/1.
rt21([]).
rt21([A|B]) :-
rt10(A),
rt21(B).
:- regtype rt20/1.
rt20([]).
rt20([A|B]) :-
rt10(A),
rt21(B).
:- regtype rt18/1.
rt18([A|B]) :-
term(A),
rt19(B).
:- regtype rt19/1.
rt19([]).
rt19([c]).
:- regtype rt25/1.
rt25([]).
rt25([A|B]) :-
term(A),
rt19(B).
:- regtype rt24/1.
rt24([]).
rt24([A|B]) :-
rt25(A),
rt24(B).
:- regtype rt23/1.
rt23([A|B]) :-
rt25(A),
rt24(B).
:- regtype rt22/1.
rt22([A|B]) :-
rt18(A),
rt23(B).