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/tmpVA8Y3I/prime.pl
}
{loaded in 3388.212 msec.}
{preprocessed for plai in 0.0 msec.}
{analyzed by plai using det with local-control off in 356.02 msec.}
{written file /tmp/tmpVA8Y3I/prime_det_co.pl}
:- module(_1,[prime/1],[assertions]).

:- true pred div(X,Y,Z)
         : ( native_props:mshare([[Z]]), var(Z), ground([X,Y]), rt413(X), rt420(Y), term(Z) )
        => ( ground([X,Y,Z]), rt517(X), rt518(Y), rt483(Z) )
         + ( is_det, mut_exclusive ).

:- true pred div(X,Y,Z)
         : ( native_props:mshare([[Z]]), var(Z), ground([X,Y]), rt188(X), rt197(Y), term(Z) )
        => ( ground([X,Y,Z]), rt337(X), rt333(Y), rt265(Z) )
         + ( is_det, mut_exclusive ).

:- true pred div(X,Y,Z)
         : ( native_props:mshare([[Z]]), var(Z), ground([X,Y]), rt2(X), rt3(Y), term(Z) )
        => ( ground([X,Y,Z]), rt132(X), rt133(Y), rt124(Z) )
         + ( is_det, mut_exclusive ).

div(X,Y,Z) :-
        quot(X,Y,Y,Z).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), term(X), rt216(_1), rt275(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt308(X), rt310(_1), rt305(Z), rt288(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,s(_1),s(_1),U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1]), rt269(X), term(U), rt270(_1) )
        => ( ground([X,U,_1]), rt314(X), rt318(U), rt316(_1) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,s(_1),s(_1),U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1]), term(X), term(U), rt448(_1) )
        => ( ground([X,U,_1]), rt458(X), rt462(U), rt460(_1) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,Z,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,Z]), rt200(X), rt421(Z), term(U) )
        => ( ground([X,Z,U]), rt517(X), rt518(Z), rt483(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), rt429(X), rt431(_1), rt425(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt515(X), rt516(_1), rt508(Z), rt483(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), rt433(X), rt434(_1), rt425(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt511(X), rt513(_1), rt508(Z), rt483(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,s(_1),s(_1),U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1]), rt487(X), term(U), rt488(_1) )
        => ( ground([X,U,_1]), rt498(X), rt502(U), rt500(_1) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), term(X), rt434(_1), rt425(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt473(X), rt475(_1), rt468(Z), rt471(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,Z,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,Z]), rt200(X), rt203(Z), term(U) )
        => ( ground([X,Z,U]), rt337(X), rt333(Z), rt265(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), rt211(X), rt213(_1), rt207(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt331(X), rt332(_1), rt324(Z), rt265(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), rt215(X), rt216(_1), rt207(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt327(X), rt329(_1), rt324(Z), rt265(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), term(X), term(_1), rt207(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt255(X), rt257(_1), rt250(Z), rt253(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,Z,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,Z]), rt2(X), rt3(Z), term(U) )
        => ( ground([X,Z,U]), rt132(X), rt133(Z), rt124(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), rt4(X), rt5(_1), rt3(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt130(X), rt131(_1), rt121(Z), rt124(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), rt6(X), rt7(_1), rt3(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt126(X), rt128(_1), rt121(Z), rt124(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,s(_1),s(_1),U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1]), rt6(X), term(U), rt21(_1) )
        => ( ground([X,U,_1]), rt110(X), rt114(U), rt112(_1) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), rt29(X), rt30(_1), rt26(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt104(X), rt106(_1), rt101(Z), rt83(U) )
         + ( is_det, mut_exclusive ).

:- true pred quot(X,_1,Z,U)
         : ( native_props:mshare([[U]]), var(U), ground([X,_1,Z]), rt36(X), term(_1), rt26(Z), term(U) )
        => ( ground([X,_1,Z,U]), rt73(X), rt75(_1), rt68(Z), rt71(U) )
         + ( is_det, mut_exclusive ).

quot(0,s(Y),s(Z),0).
quot(s(X),s(Y),Z,U) :-
        quot(X,Y,Z,U).
quot(X,0,s(Z),s(U)) :-
        quot(X,s(Z),s(Z),U).

:- entry prime(A)
         : ground(A).

:- true pred prime(A)
         : ( ground([A]), gnd(A) )
        => ( ground([A]), rt535(A) )
         + ( is_det, mut_exclusive ).

prime(s(s(X))) :-
        pr(s(s(X)),s(X)).

:- true pred pr(s(s(_1)),s(_1))
         : ( ground([_1]), gnd(_1) )
        => ( ground([_1]), rt533(_1) )
         + ( is_det, mut_exclusive ).

:- true pred pr(X,s(_1))
         : ( ground([X,_1]), rt188(X), rt128(_1) )
        => ( ground([X,_1]), rt525(X), rt529(_1) )
         + ( is_det, mut_exclusive ).

:- true pred pr(X,s(_1))
         : ( ground([X,_1]), rt413(X), rt417(_1) )
        => ( ground([X,_1]), rt413(X), rt521(_1) )
         + ( is_det, mut_exclusive ).

pr(X,s(0)).
pr(X,s(s(Y))) :-
        not_divides(s(s(Y)),X),
        pr(X,s(Y)).

:- true pred not_divides(s(s(_1)),X)
         : ( ground([X,_1]), rt413(X), rt418(_1) )
        => ( ground([X,_1]), rt405(X), rt357(_1) )
         + ( is_det, mut_exclusive ).

:- true pred not_divides(s(s(_1)),X)
         : ( ground([X,_1]), rt188(X), rt129(_1) )
        => ( ground([X,_1]), rt405(X), rt357(_1) )
         + ( is_det, mut_exclusive ).

:- true pred not_divides(s(s(_1)),X)
         : ( ground([X,_1]), rt2(X), gnd(_1) )
        => ( ground([X,_1]), rt188(X), rt128(_1) )
         + ( is_det, mut_exclusive ).

not_divides(Y,X) :-
        div(X,Y,U),
        times(U,Y,Z),
        neq(X,Z).

:- true pred neq(_1,_2)
         : ( ground([_1,_2]), rt365(_1), rt369(_2) )
        => ( ground([_1,_2]), rt405(_1), rt409(_2) )
         + ( is_det, mut_exclusive ).

:- true pred neq(_1,_2)
         : ( ground([_1,_2]), rt375(_1), rt377(_2) )
        => ( ground([_1,_2]), rt400(_1), rt401(_2) )
         + ( is_det, mut_exclusive ).

:- true pred neq(_1,_2)
         : ( ground([_1,_2]), rt379(_1), rt380(_2) )
        => ( ground([_1,_2]), rt386(_1), rt387(_2) )
         + ( is_det, mut_exclusive ).

:- true pred neq(_1,_2)
         : ( ground([_1,_2]), rt379(_1), rt388(_2) )
        => ( ground([_1,_2]), rt394(_1), rt395(_2) )
         + ( is_det, mut_exclusive ).

:- true pred neq(_1,_2)
         : ( ground([_1,_2]), rt132(_1), rt142(_2) )
        => ( ground([_1,_2]), rt188(_1), rt192(_2) )
         + ( is_det, mut_exclusive ).

:- true pred neq(_1,_2)
         : ( ground([_1,_2]), rt130(_1), rt143(_2) )
        => ( ground([_1,_2]), rt183(_1), rt184(_2) )
         + ( is_det, mut_exclusive ).

:- true pred neq(_1,_2)
         : ( ground([_1,_2]), rt148(_1), rt150(_2) )
        => ( ground([_1,_2]), rt156(_1), rt181(_2) )
         + ( is_det, mut_exclusive ).

:- true pred neq(_1,_2)
         : ( ground([_1,_2]), rt158(_1), rt159(_2) )
        => ( ground([_1,_2]), rt165(_1), rt166(_2) )
         + ( is_det, mut_exclusive ).

:- true pred neq(_1,_2)
         : ( ground([_1,_2]), rt158(_1), term(_2) )
        => ( ground([_1,_2]), rt171(_1), rt172(_2) )
         + ( is_det, mut_exclusive ).

neq(s(X),0).
neq(0,s(X)).
neq(s(X),s(Y)) :-
        neq(X,Y).

:- true pred times(_1,Y,Z)
         : ( native_props:mshare([[Z]]), var(Z), ground([_1,Y]), rt342(_1), rt338(Y), term(Z) )
        => ( ground([_1,Y,Z]), rt359(_1), rt355(Y), rt361(Z) )
         + ( is_det, mut_exclusive ).

:- true pred times(_1,Y,Z)
         : ( native_props:mshare([[Z]]), var(Z), ground([_1,Y]), rt124(_1), rt133(Y), term(Z) )
        => ( ground([_1,Y,Z]), rt140(_1), rt133(Y), rt142(Z) )
         + ( is_det, mut_exclusive ).

times(0,Y,0).
times(s(X),Y,Z) :-
        times(X,Y,U),
        add(U,Y,Z).

:- true pred add(X,Y,_1)
         : ( native_props:mshare([[_1]]), var(_1), ground([X,Y]), rt350(X), rt346(Y), term(_1) )
        => ( ground([X,Y,_1]), rt351(X), rt346(Y), rt346(_1) )
         + ( is_det, mut_exclusive ).

:- true pred add(X,Y,_1)
         : ( native_props:mshare([[_1]]), var(_1), ground([X,Y]), rt135(X), rt133(Y), term(_1) )
        => ( ground([X,Y,_1]), rt136(X), rt133(Y), rt133(_1) )
         + ( is_det, mut_exclusive ).

add(X,0,X).
add(0,X,X).
add(s(X),Y,s(Z)) :-
        add(X,Y,Z).


:- regtype rt216/1.

rt216(0).
rt216(A) :-
        gnd(A).
rt216(s(A)) :-
        rt216(A).


:- regtype rt277/1.

rt277(0).
rt277(A) :-
        gnd(A).
rt277(s(A)) :-
        rt277(A).


:- regtype rt276/1.

rt276(s(A)) :-
        rt277(A).


:- regtype rt275/1.

rt275(s(A)) :-
        rt276(A).


:- regtype rt309/1.

rt309(0).
rt309(s(A)) :-
        rt309(A).


:- regtype rt308/1.

rt308(0).
rt308(s(A)) :-
        rt309(A).


:- regtype rt311/1.

rt311(0).
rt311(A) :-
        term(A).
rt311(s(A)) :-
        rt311(A).


:- regtype rt310/1.

rt310(0).
rt310(s(A)) :-
        rt311(A).


:- regtype rt307/1.

rt307(0).
rt307(A) :-
        gnd(A).
rt307(s(A)) :-
        rt307(A).


:- regtype rt306/1.

rt306(s(A)) :-
        rt307(A).


:- regtype rt305/1.

rt305(s(A)) :-
        rt306(A).


:- regtype rt289/1.

rt289(0).
rt289(s(A)) :-
        rt289(A).


:- regtype rt288/1.

rt288(0).
rt288(s(A)) :-
        rt289(A).


:- regtype rt269/1.

rt269(A) :-
        gnd(A).
rt269(s(A)) :-
        rt269(A).


:- regtype rt271/1.

rt271(0).
rt271(A) :-
        gnd(A).
rt271(s(A)) :-
        rt271(A).


:- regtype rt270/1.

rt270(s(A)) :-
        rt271(A).


:- regtype rt315/1.

rt315(0).
rt315(s(A)) :-
        rt315(A).


:- regtype rt314/1.

rt314(0).
rt314(s(A)) :-
        rt315(A).


:- regtype rt319/1.

rt319(0).
rt319(s(A)) :-
        rt319(A).


:- regtype rt318/1.

rt318(0).
rt318(s(A)) :-
        rt319(A).


:- regtype rt317/1.

rt317(0).
rt317(A) :-
        gnd(A).
rt317(s(A)) :-
        rt317(A).


:- regtype rt316/1.

rt316(s(A)) :-
        rt317(A).


:- regtype rt449/1.

rt449(0).
rt449(A) :-
        term(A).
rt449(s(A)) :-
        rt449(A).


:- regtype rt448/1.

rt448(s(A)) :-
        rt449(A).


:- regtype rt459/1.

rt459(0).
rt459(s(A)) :-
        rt459(A).


:- regtype rt458/1.

rt458(0).
rt458(s(A)) :-
        rt459(A).


:- regtype rt462/1.

rt462(0).


:- regtype rt461/1.

rt461(0).
rt461(A) :-
        term(A).
rt461(s(A)) :-
        rt461(A).


:- regtype rt460/1.

rt460(s(A)) :-
        rt461(A).


:- regtype rt535/1.

rt535(s(s(A))) :-
        rt533(A).


:- regtype rt534/1.

rt534(0).
rt534(s(A)) :-
        rt534(A).


:- regtype rt533/1.

rt533(0).
rt533(s(A)) :-
        rt534(A).


:- regtype rt191/1.

rt191(0).
rt191(s(A)) :-
        rt191(A).


:- regtype rt190/1.

rt190(0).
rt190(s(A)) :-
        rt191(A).


:- regtype rt189/1.

rt189(s(A)) :-
        rt190(A).


:- regtype rt188/1.

rt188(s(A)) :-
        rt189(A).


:- regtype rt128/1.

rt128(0).
rt128(s(A)) :-
        rt129(A).


:- regtype rt528/1.

rt528(0).
rt528(s(A)) :-
        rt528(A).


:- regtype rt527/1.

rt527(0).
rt527(s(A)) :-
        rt528(A).


:- regtype rt526/1.

rt526(s(A)) :-
        rt527(A).


:- regtype rt525/1.

rt525(s(A)) :-
        rt526(A).


:- regtype rt530/1.

rt530(0).
rt530(s(A)) :-
        rt530(A).


:- regtype rt529/1.

rt529(0).
rt529(s(A)) :-
        rt530(A).


:- regtype rt416/1.

rt416(0).
rt416(s(A)) :-
        rt416(A).


:- regtype rt415/1.

rt415(0).
rt415(s(A)) :-
        rt416(A).


:- regtype rt414/1.

rt414(s(A)) :-
        rt415(A).


:- regtype rt413/1.

rt413(s(A)) :-
        rt414(A).


:- regtype rt417/1.

rt417(0).
rt417(s(A)) :-
        rt418(A).


:- regtype rt522/1.

rt522(0).
rt522(s(A)) :-
        rt522(A).


:- regtype rt521/1.

rt521(0).
rt521(s(A)) :-
        rt522(A).


:- regtype rt418/1.

rt418(0).
rt418(A) :-
        term(A).
rt418(s(A)) :-
        rt76(A).


:- regtype rt408/1.

rt408(0).
rt408(s(A)) :-
        rt408(A).


:- regtype rt407/1.

rt407(0).
rt407(s(A)) :-
        rt408(A).


:- regtype rt406/1.

rt406(s(A)) :-
        rt407(A).


:- regtype rt405/1.

rt405(s(A)) :-
        rt406(A).


:- regtype rt358/1.

rt358(0).
rt358(A) :-
        term(A).
rt358(s(A)) :-
        rt76(A).


:- regtype rt357/1.

rt357(0).
rt357(s(A)) :-
        rt358(A).


:- regtype rt368/1.

rt368(0).
rt368(s(A)) :-
        rt368(A).


:- regtype rt367/1.

rt367(0).
rt367(s(A)) :-
        rt368(A).


:- regtype rt366/1.

rt366(s(A)) :-
        rt367(A).


:- regtype rt365/1.

rt365(s(A)) :-
        rt366(A).


:- regtype rt371/1.

rt371(0).
rt371(s(A)) :-
        rt372(A).


:- regtype rt370/1.

rt370(s(A)) :-
        rt371(A).


:- regtype rt369/1.

rt369(0).
rt369(s(A)) :-
        rt370(A).


:- regtype rt412/1.

rt412(0).
rt412(A) :-
        term(A).
rt412(s(A)) :-
        rt76(A).


:- regtype rt411/1.

rt411(0).
rt411(s(A)) :-
        rt412(A).


:- regtype rt410/1.

rt410(s(A)) :-
        rt411(A).


:- regtype rt409/1.

rt409(0).
rt409(s(A)) :-
        rt410(A).


:- regtype rt343/1.

rt343(0).
rt343(s(A)) :-
        rt343(A).


:- regtype rt342/1.

rt342(0).
rt342(s(A)) :-
        rt343(A).


:- regtype rt341/1.

rt341(0).
rt341(A) :-
        term(A).
rt341(s(A)) :-
        rt76(A).


:- regtype rt340/1.

rt340(0).
rt340(s(A)) :-
        rt341(A).


:- regtype rt339/1.

rt339(s(A)) :-
        rt340(A).


:- regtype rt338/1.

rt338(s(A)) :-
        rt339(A).


:- regtype rt360/1.

rt360(0).
rt360(s(A)) :-
        rt360(A).


:- regtype rt359/1.

rt359(0).
rt359(s(A)) :-
        rt360(A).


:- regtype rt356/1.

rt356(s(A)) :-
        rt357(A).


:- regtype rt355/1.

rt355(s(A)) :-
        rt356(A).


:- regtype rt364/1.

rt364(0).
rt364(A) :-
        term(A).
rt364(s(A)) :-
        rt76(A).


:- regtype rt363/1.

rt363(0).
rt363(s(A)) :-
        rt364(A).


:- regtype rt362/1.

rt362(s(A)) :-
        rt363(A).


:- regtype rt361/1.

rt361(0).
rt361(s(A)) :-
        rt362(A).


:- regtype rt420/1.

rt420(s(s(A))) :-
        rt418(A).


:- regtype rt517/1.

rt517(s(A)) :-
        rt515(A).


:- regtype rt518/1.

rt518(s(A)) :-
        rt516(A).


:- regtype rt484/1.

rt484(0).
rt484(s(A)) :-
        rt484(A).


:- regtype rt483/1.

rt483(0).
rt483(s(A)) :-
        rt484(A).


:- regtype rt202/1.

rt202(A) :-
        gnd(A).
rt202(s(A)) :-
        rt202(A).


:- regtype rt201/1.

rt201(s(A)) :-
        rt202(A).


:- regtype rt200/1.

rt200(s(A)) :-
        rt201(A).


:- regtype rt424/1.

rt424(0).
rt424(A) :-
        term(A).
rt424(s(A)) :-
        rt76(A).


:- regtype rt423/1.

rt423(0).
rt423(A) :-
        term(A).
rt423(s(A)) :-
        rt424(A).


:- regtype rt422/1.

rt422(s(A)) :-
        rt423(A).


:- regtype rt421/1.

rt421(s(A)) :-
        rt422(A).


:- regtype rt430/1.

rt430(A) :-
        gnd(A).
rt430(s(A)) :-
        rt430(A).


:- regtype rt429/1.

rt429(s(A)) :-
        rt430(A).


:- regtype rt432/1.

rt432(0).
rt432(A) :-
        term(A).
rt432(s(A)) :-
        rt432(A).


:- regtype rt431/1.

rt431(s(A)) :-
        rt432(A).


:- regtype rt428/1.

rt428(0).
rt428(A) :-
        term(A).
rt428(s(A)) :-
        rt76(A).


:- regtype rt427/1.

rt427(0).
rt427(A) :-
        term(A).
rt427(s(A)) :-
        rt428(A).


:- regtype rt426/1.

rt426(s(A)) :-
        rt427(A).


:- regtype rt425/1.

rt425(s(A)) :-
        rt426(A).


:- regtype rt515/1.

rt515(s(A)) :-
        rt511(A).


:- regtype rt516/1.

rt516(s(A)) :-
        rt513(A).


:- regtype rt510/1.

rt510(0).
rt510(A) :-
        term(A).
rt510(s(A)) :-
        rt510(A).


:- regtype rt509/1.

rt509(s(A)) :-
        rt510(A).


:- regtype rt508/1.

rt508(s(A)) :-
        rt509(A).


:- regtype rt433/1.

rt433(A) :-
        gnd(A).
rt433(s(A)) :-
        rt433(A).


:- regtype rt434/1.

rt434(0).
rt434(A) :-
        term(A).
rt434(s(A)) :-
        rt434(A).


:- regtype rt512/1.

rt512(0).
rt512(s(A)) :-
        rt512(A).


:- regtype rt511/1.

rt511(0).
rt511(s(A)) :-
        rt512(A).


:- regtype rt514/1.

rt514(0).
rt514(A) :-
        term(A).
rt514(s(A)) :-
        rt514(A).


:- regtype rt513/1.

rt513(0).
rt513(s(A)) :-
        rt514(A).


:- regtype rt487/1.

rt487(A) :-
        gnd(A).
rt487(s(A)) :-
        rt487(A).


:- regtype rt489/1.

rt489(0).
rt489(A) :-
        term(A).
rt489(s(A)) :-
        rt489(A).


:- regtype rt488/1.

rt488(s(A)) :-
        rt489(A).


:- regtype rt499/1.

rt499(0).
rt499(s(A)) :-
        rt499(A).


:- regtype rt498/1.

rt498(0).
rt498(s(A)) :-
        rt499(A).


:- regtype rt503/1.

rt503(0).
rt503(s(A)) :-
        rt503(A).


:- regtype rt502/1.

rt502(0).
rt502(s(A)) :-
        rt503(A).


:- regtype rt501/1.

rt501(0).
rt501(A) :-
        term(A).
rt501(s(A)) :-
        rt501(A).


:- regtype rt500/1.

rt500(s(A)) :-
        rt501(A).


:- regtype rt474/1.

rt474(0).
rt474(s(A)) :-
        rt474(A).


:- regtype rt473/1.

rt473(0).
rt473(s(A)) :-
        rt474(A).


:- regtype rt476/1.

rt476(0).
rt476(A) :-
        term(A).
rt476(s(A)) :-
        rt476(A).


:- regtype rt475/1.

rt475(0).
rt475(s(A)) :-
        rt476(A).


:- regtype rt470/1.

rt470(0).
rt470(A) :-
        term(A).
rt470(s(A)) :-
        rt470(A).


:- regtype rt469/1.

rt469(s(A)) :-
        rt470(A).


:- regtype rt468/1.

rt468(s(A)) :-
        rt469(A).


:- regtype rt472/1.

rt472(0).
rt472(s(A)) :-
        rt472(A).


:- regtype rt471/1.

rt471(0).
rt471(s(A)) :-
        rt472(A).


:- regtype rt129/1.

rt129(0).
rt129(A) :-
        gnd(A).
rt129(s(A)) :-
        rt20(A).


:- regtype rt376/1.

rt376(0).
rt376(s(A)) :-
        rt376(A).


:- regtype rt375/1.

rt375(s(A)) :-
        rt376(A).


:- regtype rt372/1.

rt372(0).
rt372(A) :-
        term(A).
rt372(s(A)) :-
        rt76(A).


:- regtype rt378/1.

rt378(0).
rt378(s(A)) :-
        rt372(A).


:- regtype rt377/1.

rt377(s(A)) :-
        rt378(A).


:- regtype rt400/1.

rt400(s(A)) :-
        rt386(A).


:- regtype rt401/1.

rt401(s(A)) :-
        rt387(A).


:- regtype rt379/1.

rt379(0).
rt379(s(A)) :-
        rt379(A).


:- regtype rt380/1.

rt380(0).
rt380(s(A)) :-
        rt381(A).


:- regtype rt386/1.

rt386(0).
rt386(s(A)) :-
        rt379(A).


:- regtype rt381/1.

rt381(0).
rt381(A) :-
        term(A).
rt381(s(A)) :-
        rt76(A).


:- regtype rt387/1.

rt387(0).
rt387(s(A)) :-
        rt381(A).


:- regtype rt388/1.

rt388(0).
rt388(A) :-
        term(A).
rt388(s(A)) :-
        rt389(A).


:- regtype rt394/1.

rt394(0).
rt394(s(A)) :-
        rt379(A).


:- regtype rt389/1.

rt389(0).
rt389(A) :-
        term(A).
rt389(s(A)) :-
        rt76(A).


:- regtype rt395/1.

rt395(0).
rt395(s(A)) :-
        rt389(A).


:- regtype rt350/1.

rt350(0).


:- regtype rt349/1.

rt349(0).
rt349(A) :-
        term(A).
rt349(s(A)) :-
        rt76(A).


:- regtype rt348/1.

rt348(0).
rt348(s(A)) :-
        rt349(A).


:- regtype rt347/1.

rt347(s(A)) :-
        rt348(A).


:- regtype rt346/1.

rt346(s(A)) :-
        rt347(A).


:- regtype rt351/1.

rt351(0).


:- regtype rt197/1.

rt197(s(s(A))) :-
        rt129(A).


:- regtype rt337/1.

rt337(s(A)) :-
        rt331(A).


:- regtype rt333/1.

rt333(s(s(A))) :-
        rt75(A).


:- regtype rt266/1.

rt266(0).
rt266(s(A)) :-
        rt266(A).


:- regtype rt265/1.

rt265(0).
rt265(s(A)) :-
        rt266(A).


:- regtype rt206/1.

rt206(0).
rt206(A) :-
        gnd(A).
rt206(s(A)) :-
        rt206(A).


:- regtype rt205/1.

rt205(0).
rt205(A) :-
        gnd(A).
rt205(s(A)) :-
        rt206(A).


:- regtype rt204/1.

rt204(s(A)) :-
        rt205(A).


:- regtype rt203/1.

rt203(s(A)) :-
        rt204(A).


:- regtype rt212/1.

rt212(A) :-
        gnd(A).
rt212(s(A)) :-
        rt212(A).


:- regtype rt211/1.

rt211(s(A)) :-
        rt212(A).


:- regtype rt214/1.

rt214(0).
rt214(A) :-
        gnd(A).
rt214(s(A)) :-
        rt214(A).


:- regtype rt213/1.

rt213(s(A)) :-
        rt214(A).


:- regtype rt210/1.

rt210(0).
rt210(A) :-
        gnd(A).
rt210(s(A)) :-
        rt210(A).


:- regtype rt209/1.

rt209(0).
rt209(A) :-
        gnd(A).
rt209(s(A)) :-
        rt210(A).


:- regtype rt208/1.

rt208(s(A)) :-
        rt209(A).


:- regtype rt207/1.

rt207(s(A)) :-
        rt208(A).


:- regtype rt331/1.

rt331(s(A)) :-
        rt327(A).


:- regtype rt332/1.

rt332(s(A)) :-
        rt329(A).


:- regtype rt326/1.

rt326(0).
rt326(A) :-
        gnd(A).
rt326(s(A)) :-
        rt326(A).


:- regtype rt325/1.

rt325(s(A)) :-
        rt326(A).


:- regtype rt324/1.

rt324(s(A)) :-
        rt325(A).


:- regtype rt215/1.

rt215(A) :-
        gnd(A).
rt215(s(A)) :-
        rt215(A).


:- regtype rt328/1.

rt328(0).
rt328(s(A)) :-
        rt328(A).


:- regtype rt327/1.

rt327(0).
rt327(s(A)) :-
        rt328(A).


:- regtype rt330/1.

rt330(0).
rt330(A) :-
        term(A).
rt330(s(A)) :-
        rt330(A).


:- regtype rt329/1.

rt329(0).
rt329(s(A)) :-
        rt330(A).


:- regtype rt256/1.

rt256(0).
rt256(s(A)) :-
        rt256(A).


:- regtype rt255/1.

rt255(0).
rt255(s(A)) :-
        rt256(A).


:- regtype rt258/1.

rt258(0).
rt258(A) :-
        term(A).
rt258(s(A)) :-
        rt258(A).


:- regtype rt257/1.

rt257(0).
rt257(s(A)) :-
        rt258(A).


:- regtype rt252/1.

rt252(0).
rt252(A) :-
        gnd(A).
rt252(s(A)) :-
        rt252(A).


:- regtype rt251/1.

rt251(s(A)) :-
        rt252(A).


:- regtype rt250/1.

rt250(s(A)) :-
        rt251(A).


:- regtype rt254/1.

rt254(0).
rt254(s(A)) :-
        rt254(A).


:- regtype rt253/1.

rt253(0).
rt253(s(A)) :-
        rt254(A).


:- regtype rt2/1.

rt2(s(s(A))) :-
        gnd(A).


:- regtype rt132/1.

rt132(s(A)) :-
        rt130(A).


:- regtype rt142/1.

rt142(0).
rt142(s(A)) :-
        rt143(A).


:- regtype rt195/1.

rt195(0).
rt195(A) :-
        gnd(A).
rt195(s(A)) :-
        term(A).


:- regtype rt194/1.

rt194(0).
rt194(s(A)) :-
        rt195(A).


:- regtype rt193/1.

rt193(s(A)) :-
        rt194(A).


:- regtype rt192/1.

rt192(0).
rt192(s(A)) :-
        rt193(A).


:- regtype rt130/1.

rt130(s(A)) :-
        rt126(A).


:- regtype rt145/1.

rt145(0).
rt145(A) :-
        gnd(A).
rt145(s(A)) :-
        rt20(A).


:- regtype rt144/1.

rt144(0).
rt144(s(A)) :-
        rt145(A).


:- regtype rt143/1.

rt143(s(A)) :-
        rt144(A).


:- regtype rt183/1.

rt183(s(A)) :-
        rt156(A).


:- regtype rt184/1.

rt184(s(A)) :-
        rt181(A).


:- regtype rt148/1.

rt148(0).
rt148(s(A)) :-
        rt149(A).


:- regtype rt151/1.

rt151(0).
rt151(A) :-
        gnd(A).
rt151(s(A)) :-
        rt20(A).


:- regtype rt150/1.

rt150(0).
rt150(s(A)) :-
        rt151(A).


:- regtype rt149/1.

rt149(0).
rt149(s(A)) :-
        rt149(A).


:- regtype rt156/1.

rt156(0).
rt156(s(A)) :-
        rt149(A).


:- regtype rt182/1.

rt182(0).
rt182(A) :-
        gnd(A).
rt182(s(A)) :-
        term(A).


:- regtype rt181/1.

rt181(0).
rt181(s(A)) :-
        rt182(A).


:- regtype rt158/1.

rt158(0).
rt158(s(A)) :-
        rt158(A).


:- regtype rt20/1.

rt20(A) :-
        gnd(A).
rt20(s(A)) :-
        rt20(A).


:- regtype rt160/1.

rt160(0).
rt160(A) :-
        gnd(A).
rt160(s(A)) :-
        rt20(A).


:- regtype rt159/1.

rt159(0).
rt159(A) :-
        gnd(A).
rt159(s(A)) :-
        rt160(A).


:- regtype rt165/1.

rt165(0).
rt165(s(A)) :-
        rt158(A).


:- regtype rt166/1.

rt166(0).
rt166(s(A)) :-
        term(A).


:- regtype rt171/1.

rt171(0).
rt171(s(A)) :-
        rt158(A).


:- regtype rt172/1.

rt172(0).
rt172(s(A)) :-
        term(A).


:- regtype rt125/1.

rt125(0).
rt125(s(A)) :-
        rt125(A).


:- regtype rt124/1.

rt124(0).
rt124(s(A)) :-
        rt125(A).


:- regtype rt133/1.

rt133(s(A)) :-
        rt131(A).


:- regtype rt141/1.

rt141(0).
rt141(s(A)) :-
        rt141(A).


:- regtype rt140/1.

rt140(0).
rt140(s(A)) :-
        rt141(A).


:- regtype rt135/1.

rt135(0).


:- regtype rt136/1.

rt136(0).


:- regtype rt3/1.

rt3(s(s(A))) :-
        gnd(A).


:- regtype rt4/1.

rt4(s(A)) :-
        gnd(A).


:- regtype rt5/1.

rt5(s(A)) :-
        gnd(A).


:- regtype rt131/1.

rt131(s(A)) :-
        rt128(A).


:- regtype rt123/1.

rt123(A) :-
        gnd(A).
rt123(s(A)) :-
        rt123(A).


:- regtype rt122/1.

rt122(s(A)) :-
        rt123(A).


:- regtype rt121/1.

rt121(s(A)) :-
        rt122(A).


:- regtype rt6/1.

rt6(A) :-
        gnd(A).


:- regtype rt7/1.

rt7(A) :-
        gnd(A).


:- regtype rt127/1.

rt127(0).
rt127(s(A)) :-
        rt127(A).


:- regtype rt126/1.

rt126(0).
rt126(s(A)) :-
        rt127(A).


:- regtype rt21/1.

rt21(s(A)) :-
        gnd(A).


:- regtype rt111/1.

rt111(0).
rt111(s(A)) :-
        rt111(A).


:- regtype rt110/1.

rt110(0).
rt110(s(A)) :-
        rt111(A).


:- regtype rt115/1.

rt115(0).
rt115(s(A)) :-
        rt84(A).


:- regtype rt114/1.

rt114(0).
rt114(s(A)) :-
        rt115(A).


:- regtype rt113/1.

rt113(A) :-
        gnd(A).
rt113(s(A)) :-
        rt113(A).


:- regtype rt112/1.

rt112(s(A)) :-
        rt113(A).


:- regtype rt29/1.

rt29(A) :-
        gnd(A).


:- regtype rt31/1.

rt31(A) :-
        gnd(A).
rt31(s(A)) :-
        rt31(A).


:- regtype rt30/1.

rt30(A) :-
        gnd(A).
rt30(s(A)) :-
        rt31(A).


:- regtype rt28/1.

rt28(A) :-
        gnd(A).
rt28(s(A)) :-
        rt28(A).


:- regtype rt27/1.

rt27(s(A)) :-
        rt28(A).


:- regtype rt26/1.

rt26(s(A)) :-
        rt27(A).


:- regtype rt59/1.

rt59(0).
rt59(s(A)) :-
        rt59(A).


:- regtype rt105/1.

rt105(0).
rt105(s(A)) :-
        rt59(A).


:- regtype rt104/1.

rt104(0).
rt104(s(A)) :-
        rt105(A).


:- regtype rt107/1.

rt107(0).
rt107(A) :-
        term(A).
rt107(s(A)) :-
        rt107(A).


:- regtype rt106/1.

rt106(0).
rt106(s(A)) :-
        rt107(A).


:- regtype rt103/1.

rt103(A) :-
        gnd(A).
rt103(s(A)) :-
        rt103(A).


:- regtype rt102/1.

rt102(s(A)) :-
        rt103(A).


:- regtype rt101/1.

rt101(s(A)) :-
        rt102(A).


:- regtype rt84/1.

rt84(0).
rt84(s(A)) :-
        rt84(A).


:- regtype rt83/1.

rt83(0).
rt83(s(A)) :-
        rt84(A).


:- regtype rt36/1.

rt36(A) :-
        gnd(A).


:- regtype rt74/1.

rt74(0).
rt74(s(A)) :-
        rt74(A).


:- regtype rt73/1.

rt73(0).
rt73(s(A)) :-
        rt74(A).


:- regtype rt76/1.

rt76(0).
rt76(A) :-
        term(A).
rt76(s(A)) :-
        rt76(A).


:- regtype rt75/1.

rt75(0).
rt75(s(A)) :-
        rt76(A).


:- regtype rt70/1.

rt70(A) :-
        gnd(A).
rt70(s(A)) :-
        rt70(A).


:- regtype rt69/1.

rt69(s(A)) :-
        rt70(A).


:- regtype rt68/1.

rt68(s(A)) :-
        rt69(A).


:- regtype rt72/1.

rt72(0).
rt72(s(A)) :-
        rt72(A).


:- regtype rt71/1.

rt71(0).
rt71(s(A)) :-
        rt72(A).