YES (VAR X XS N Y YS X1 X2) (RULES from(X) -> cons(X,n__from(n__s(X))) sel(0,cons(X,XS)) -> X sel(s(N),cons(X,XS)) -> sel(N,activate(XS)) minus(X,0) -> 0 minus(s(X),s(Y)) -> minus(X,Y) quot(0,s(Y)) -> 0 quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil) -> nil zWquot(nil,XS) -> nil zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) s(X) -> n__s(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__zWquot(X1,X2)) -> zWquot(activate(X1),activate(X2)) activate(X) -> X ) Proving termination of rewriting for Ex4_7_37_Bor03_FR: -> Dependency pairs: nF_sel(s(N),cons(X,XS)) -> nF_sel(N,activate(XS)) nF_sel(s(N),cons(X,XS)) -> nF_activate(XS) nF_minus(s(X),s(Y)) -> nF_minus(X,Y) nF_quot(s(X),s(Y)) -> nF_s(quot(minus(X,Y),s(Y))) nF_quot(s(X),s(Y)) -> nF_quot(minus(X,Y),s(Y)) nF_quot(s(X),s(Y)) -> nF_minus(X,Y) nF_quot(s(X),s(Y)) -> nF_s(Y) nF_zWquot(cons(X,XS),cons(Y,YS)) -> nF_quot(X,Y) nF_zWquot(cons(X,XS),cons(Y,YS)) -> nF_activate(XS) nF_zWquot(cons(X,XS),cons(Y,YS)) -> nF_activate(YS) nF_activate(n__from(X)) -> nF_from(activate(X)) nF_activate(n__from(X)) -> nF_activate(X) nF_activate(n__s(X)) -> nF_s(activate(X)) nF_activate(n__s(X)) -> nF_activate(X) nF_activate(n__zWquot(X1,X2)) -> nF_zWquot(activate(X1),activate(X2)) nF_activate(n__zWquot(X1,X2)) -> nF_activate(X1) nF_activate(n__zWquot(X1,X2)) -> nF_activate(X2) -> Proof of termination for Ex4_7_37_Bor03_FR_1_1: -> -> Dependency pairs in cycle: nF_sel(s(N),cons(X,XS)) -> nF_sel(N,activate(XS)) Termination proved: Cycles verify subterm criterion. -> Proof of termination for Ex4_7_37_Bor03_FR_1_2: -> -> Dependency pairs in cycle: nF_activate(n__zWquot(X1,X2)) -> nF_activate(X2) nF_activate(n__zWquot(X1,X2)) -> nF_activate(X1) nF_activate(n__s(X)) -> nF_activate(X) nF_activate(n__from(X)) -> nF_activate(X) nF_zWquot(cons(X,XS),cons(Y,YS)) -> nF_activate(YS) nF_activate(n__zWquot(X1,X2)) -> nF_zWquot(activate(X1),activate(X2)) nF_zWquot(cons(X,XS),cons(Y,YS)) -> nF_activate(XS) UsableRules: from(X) -> cons(X,n__from(n__s(X))) minus(X,0) -> 0 minus(s(X),s(Y)) -> minus(X,Y) quot(0,s(Y)) -> 0 quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil) -> nil zWquot(nil,XS) -> nil zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) s(X) -> n__s(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__zWquot(X1,X2)) -> zWquot(activate(X1),activate(X2)) activate(X) -> X Polynomial Interpretation: [from](X) = X [cons](X1,X2) = X2 [n__from](X) = X [n__s](X) = X [sel](X1,X2) = 0 [0] = 0 [s](X) = X [activate](X) = X [minus](X1,X2) = 0 [quot](X1,X2) = 0 [zWquot](X1,X2) = X1 + X2 + 1 [nil] = 0 [n__zWquot](X1,X2) = X1 + X2 + 1 [nF_activate](X) = X [nF_zWquot](X1,X2) = X1 + X2 + 1 TIME: 7.4129e-2 -> -> Dependency pairs in cycle: nF_activate(n__zWquot(X1,X2)) -> nF_activate(X2) nF_zWquot(cons(X,XS),cons(Y,YS)) -> nF_activate(YS) nF_activate(n__zWquot(X1,X2)) -> nF_zWquot(activate(X1),activate(X2)) nF_activate(n__from(X)) -> nF_activate(X) nF_activate(n__s(X)) -> nF_activate(X) nF_activate(n__zWquot(X1,X2)) -> nF_activate(X1) UsableRules: from(X) -> cons(X,n__from(n__s(X))) minus(X,0) -> 0 minus(s(X),s(Y)) -> minus(X,Y) quot(0,s(Y)) -> 0 quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil) -> nil zWquot(nil,XS) -> nil zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) s(X) -> n__s(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__zWquot(X1,X2)) -> zWquot(activate(X1),activate(X2)) activate(X) -> X Polynomial Interpretation: [from](X) = X [cons](X1,X2) = X2 [n__from](X) = X [n__s](X) = X [sel](X1,X2) = 0 [0] = 1 [s](X) = X [activate](X) = X [minus](X1,X2) = X2 [quot](X1,X2) = 1 [zWquot](X1,X2) = X1 + X2 + 1 [nil] = 0 [n__zWquot](X1,X2) = X1 + X2 + 1 [nF_activate](X) = X [nF_zWquot](X1,X2) = X2 TIME: 5.7713e-2 -> -> Dependency pairs in cycle: nF_activate(n__zWquot(X1,X2)) -> nF_activate(X2) nF_activate(n__s(X)) -> nF_activate(X) nF_activate(n__from(X)) -> nF_activate(X) nF_zWquot(cons(X,XS),cons(Y,YS)) -> nF_activate(YS) nF_activate(n__zWquot(X1,X2)) -> nF_zWquot(activate(X1),activate(X2)) UsableRules: from(X) -> cons(X,n__from(n__s(X))) minus(X,0) -> 0 minus(s(X),s(Y)) -> minus(X,Y) quot(0,s(Y)) -> 0 quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) zWquot(XS,nil) -> nil zWquot(nil,XS) -> nil zWquot(cons(X,XS),cons(Y,YS)) -> cons(quot(X,Y),n__zWquot(activate(XS),activate(YS))) from(X) -> n__from(X) s(X) -> n__s(X) zWquot(X1,X2) -> n__zWquot(X1,X2) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__zWquot(X1,X2)) -> zWquot(activate(X1),activate(X2)) activate(X) -> X Polynomial Interpretation: [from](X) = X [cons](X1,X2) = X2 [n__from](X) = X [n__s](X) = X [sel](X1,X2) = 0 [0] = 1 [s](X) = X [activate](X) = X [minus](X1,X2) = X2 [quot](X1,X2) = 1 [zWquot](X1,X2) = X2 + 1 [nil] = 0 [n__zWquot](X1,X2) = X2 + 1 [nF_activate](X) = X [nF_zWquot](X1,X2) = X2 TIME: 5.8856e-2 -> -> Dependency pairs in cycle: nF_activate(n__zWquot(X1,X2)) -> nF_activate(X2) nF_activate(n__from(X)) -> nF_activate(X) nF_activate(n__s(X)) -> nF_activate(X) Termination proved: Cycles verify subterm criterion. -> Proof of termination for Ex4_7_37_Bor03_FR_1_3: -> -> Dependency pairs in cycle: nF_quot(s(X),s(Y)) -> nF_quot(minus(X,Y),s(Y)) UsableRules: minus(X,0) -> 0 minus(s(X),s(Y)) -> minus(X,Y) s(X) -> n__s(X) Polynomial Interpretation: [from](X) = 0 [cons](X1,X2) = 0 [n__from](X) = 0 [n__s](X) = 0 [sel](X1,X2) = 0 [0] = 0 [s](X) = 1 [activate](X) = 0 [minus](X1,X2) = 0 [quot](X1,X2) = 0 [zWquot](X1,X2) = 0 [nil] = 0 [n__zWquot](X1,X2) = 0 [nF_quot](X1,X2) = X1 TIME: 4.5595e-2 -> Proof of termination for Ex4_7_37_Bor03_FR_1_4: -> -> Dependency pairs in cycle: nF_minus(s(X),s(Y)) -> nF_minus(X,Y) Termination proved: Cycles verify subterm criterion. SETTINGS: Base ordering: Polynomial ordering Proof mode: SCCs in DG + base ordering Upper bound for coeffs: 1 Rationals below 1 for all non-replacing args: No Polynomial interpretation: Linear Coeffs in polynomials: No rationals Delta: automatic Termination was proved succesfully.