YES (VAR N X Y Z X1 X2) (RULES t(N) -> cs(r(q(N)),nt(ns(N))) q(0) -> 0 q(s(X)) -> s(p(q(X),d(X))) d(0) -> 0 d(s(X)) -> s(s(d(X))) p(0,X) -> X p(X,0) -> X p(s(X),s(Y)) -> s(s(p(X,Y))) f(0,X) -> nil f(s(X),cs(Y,Z)) -> cs(Y,nf(X,a(Z))) t(X) -> nt(X) s(X) -> ns(X) f(X1,X2) -> nf(X1,X2) a(nt(X)) -> t(a(X)) a(ns(X)) -> s(a(X)) a(nf(X1,X2)) -> f(a(X1),a(X2)) a(X) -> X ) Proving termination of rewriting for secret5: -> Dependency pairs: nF_t(N) -> nF_q(N) nF_q(s(X)) -> nF_s(p(q(X),d(X))) nF_q(s(X)) -> nF_p(q(X),d(X)) nF_q(s(X)) -> nF_q(X) nF_q(s(X)) -> nF_d(X) nF_d(s(X)) -> nF_s(s(d(X))) nF_d(s(X)) -> nF_s(d(X)) nF_d(s(X)) -> nF_d(X) nF_p(s(X),s(Y)) -> nF_s(s(p(X,Y))) nF_p(s(X),s(Y)) -> nF_s(p(X,Y)) nF_p(s(X),s(Y)) -> nF_p(X,Y) nF_f(s(X),cs(Y,Z)) -> nF_a(Z) nF_a(nt(X)) -> nF_t(a(X)) nF_a(nt(X)) -> nF_a(X) nF_a(ns(X)) -> nF_s(a(X)) nF_a(ns(X)) -> nF_a(X) nF_a(nf(X1,X2)) -> nF_f(a(X1),a(X2)) nF_a(nf(X1,X2)) -> nF_a(X1) nF_a(nf(X1,X2)) -> nF_a(X2) -> Proof of termination for secret5_1_1: -> -> Dependency pairs in cycle: nF_f(s(X),cs(Y,Z)) -> nF_a(Z) nF_a(nf(X1,X2)) -> nF_f(a(X1),a(X2)) nF_a(nf(X1,X2)) -> nF_a(X2) nF_a(nf(X1,X2)) -> nF_a(X1) nF_a(ns(X)) -> nF_a(X) nF_a(nt(X)) -> nF_a(X) UsableRules: t(N) -> cs(r(q(N)),nt(ns(N))) q(0) -> 0 q(s(X)) -> s(p(q(X),d(X))) d(0) -> 0 d(s(X)) -> s(s(d(X))) p(0,X) -> X p(X,0) -> X p(s(X),s(Y)) -> s(s(p(X,Y))) f(0,X) -> nil f(s(X),cs(Y,Z)) -> cs(Y,nf(X,a(Z))) t(X) -> nt(X) s(X) -> ns(X) f(X1,X2) -> nf(X1,X2) a(nt(X)) -> t(a(X)) a(ns(X)) -> s(a(X)) a(nf(X1,X2)) -> f(a(X1),a(X2)) a(X) -> X Polynomial Interpretation: [t](X) = X + 1 [cs](X1,X2) = X2 [r](X) = 0 [q](X) = 0 [nt](X) = X + 1 [ns](X) = X [0] = 0 [s](X) = X [p](X1,X2) = X1 + X2 [d](X) = 0 [f](X1,X2) = X1 + X2 [nil] = 0 [nf](X1,X2) = X1 + X2 [a](X) = X [nF_f](X1,X2) = X2 [nF_a](X) = X TIME: 5.1975e-2 -> -> Dependency pairs in cycle: nF_f(s(X),cs(Y,Z)) -> nF_a(Z) nF_a(nf(X1,X2)) -> nF_f(a(X1),a(X2)) nF_a(ns(X)) -> nF_a(X) nF_a(nf(X1,X2)) -> nF_a(X1) nF_a(nf(X1,X2)) -> nF_a(X2) UsableRules: t(N) -> cs(r(q(N)),nt(ns(N))) q(0) -> 0 q(s(X)) -> s(p(q(X),d(X))) d(0) -> 0 d(s(X)) -> s(s(d(X))) p(0,X) -> X p(X,0) -> X p(s(X),s(Y)) -> s(s(p(X,Y))) f(0,X) -> nil f(s(X),cs(Y,Z)) -> cs(Y,nf(X,a(Z))) t(X) -> nt(X) s(X) -> ns(X) f(X1,X2) -> nf(X1,X2) a(nt(X)) -> t(a(X)) a(ns(X)) -> s(a(X)) a(nf(X1,X2)) -> f(a(X1),a(X2)) a(X) -> X Polynomial Interpretation: [t](X) = 0 [cs](X1,X2) = X2 [r](X) = 0 [q](X) = 0 [nt](X) = 0 [ns](X) = X [0] = 0 [s](X) = X [p](X1,X2) = X1 + X2 [d](X) = 0 [f](X1,X2) = X1 + X2 + 1 [nil] = 0 [nf](X1,X2) = X1 + X2 + 1 [a](X) = X [nF_f](X1,X2) = X2 [nF_a](X) = X TIME: 5.1907e-2 -> -> Dependency pairs in cycle: nF_f(s(X),cs(Y,Z)) -> nF_a(Z) nF_a(nf(X1,X2)) -> nF_f(a(X1),a(X2)) nF_a(nf(X1,X2)) -> nF_a(X1) nF_a(ns(X)) -> nF_a(X) UsableRules: t(N) -> cs(r(q(N)),nt(ns(N))) q(0) -> 0 q(s(X)) -> s(p(q(X),d(X))) d(0) -> 0 d(s(X)) -> s(s(d(X))) p(0,X) -> X p(X,0) -> X p(s(X),s(Y)) -> s(s(p(X,Y))) f(0,X) -> nil f(s(X),cs(Y,Z)) -> cs(Y,nf(X,a(Z))) t(X) -> nt(X) s(X) -> ns(X) f(X1,X2) -> nf(X1,X2) a(nt(X)) -> t(a(X)) a(ns(X)) -> s(a(X)) a(nf(X1,X2)) -> f(a(X1),a(X2)) a(X) -> X Polynomial Interpretation: [t](X) = 0 [cs](X1,X2) = X2 [r](X) = 0 [q](X) = 0 [nt](X) = 0 [ns](X) = X [0] = 0 [s](X) = X [p](X1,X2) = X1 + X2 [d](X) = 0 [f](X1,X2) = X1 + X2 + 1 [nil] = 0 [nf](X1,X2) = X1 + X2 + 1 [a](X) = X [nF_f](X1,X2) = X2 [nF_a](X) = X TIME: 5.3641e-2 -> -> Dependency pairs in cycle: nF_f(s(X),cs(Y,Z)) -> nF_a(Z) nF_a(nf(X1,X2)) -> nF_f(a(X1),a(X2)) nF_a(ns(X)) -> nF_a(X) UsableRules: t(N) -> cs(r(q(N)),nt(ns(N))) q(0) -> 0 q(s(X)) -> s(p(q(X),d(X))) d(0) -> 0 d(s(X)) -> s(s(d(X))) p(0,X) -> X p(X,0) -> X p(s(X),s(Y)) -> s(s(p(X,Y))) f(0,X) -> nil f(s(X),cs(Y,Z)) -> cs(Y,nf(X,a(Z))) t(X) -> nt(X) s(X) -> ns(X) f(X1,X2) -> nf(X1,X2) a(nt(X)) -> t(a(X)) a(ns(X)) -> s(a(X)) a(nf(X1,X2)) -> f(a(X1),a(X2)) a(X) -> X Polynomial Interpretation: [t](X) = 0 [cs](X1,X2) = X2 [r](X) = 0 [q](X) = 0 [nt](X) = 0 [ns](X) = X [0] = 0 [s](X) = X [p](X1,X2) = X1 + X2 [d](X) = 0 [f](X1,X2) = X2 + 1 [nil] = 0 [nf](X1,X2) = X2 + 1 [a](X) = X [nF_f](X1,X2) = X2 [nF_a](X) = X TIME: 5.015e-2 -> -> Dependency pairs in cycle: nF_a(ns(X)) -> nF_a(X) Termination proved: Cycles verify subterm criterion. -> Proof of termination for secret5_1_2: -> -> Dependency pairs in cycle: nF_q(s(X)) -> nF_q(X) Termination proved: Cycles verify subterm criterion. -> Proof of termination for secret5_1_3: -> -> Dependency pairs in cycle: nF_p(s(X),s(Y)) -> nF_p(X,Y) Termination proved: Cycles verify subterm criterion. -> Proof of termination for secret5_1_4: -> -> Dependency pairs in cycle: nF_d(s(X)) -> nF_d(X) 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.