YES (VAR X X1 X2) (RULES active(f(0)) -> mark(cons(0,f(s(0)))) active(f(s(0))) -> mark(f(p(s(0)))) active(p(s(X))) -> mark(X) active(f(X)) -> f(active(X)) active(cons(X1,X2)) -> cons(active(X1),X2) active(s(X)) -> s(active(X)) active(p(X)) -> p(active(X)) f(mark(X)) -> mark(f(X)) cons(mark(X1),X2) -> mark(cons(X1,X2)) s(mark(X)) -> mark(s(X)) p(mark(X)) -> mark(p(X)) proper(f(X)) -> f(proper(X)) proper(0) -> ok(0) proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) proper(s(X)) -> s(proper(X)) proper(p(X)) -> p(proper(X)) f(ok(X)) -> ok(f(X)) cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) s(ok(X)) -> ok(s(X)) p(ok(X)) -> ok(p(X)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) ) Proving termination of rewriting for ExProp7_Luc06_C: -> Dependency pairs: nF_active(f(0)) -> nF_cons(0,f(s(0))) nF_active(f(0)) -> nF_f(s(0)) nF_active(f(0)) -> nF_s(0) nF_active(f(s(0))) -> nF_f(p(s(0))) nF_active(f(s(0))) -> nF_p(s(0)) nF_active(f(s(0))) -> nF_s(0) nF_active(f(X)) -> nF_f(active(X)) nF_active(f(X)) -> nF_active(X) nF_active(cons(X1,X2)) -> nF_cons(active(X1),X2) nF_active(cons(X1,X2)) -> nF_active(X1) nF_active(s(X)) -> nF_s(active(X)) nF_active(s(X)) -> nF_active(X) nF_active(p(X)) -> nF_p(active(X)) nF_active(p(X)) -> nF_active(X) nF_f(mark(X)) -> nF_f(X) nF_cons(mark(X1),X2) -> nF_cons(X1,X2) nF_s(mark(X)) -> nF_s(X) nF_p(mark(X)) -> nF_p(X) nF_proper(f(X)) -> nF_f(proper(X)) nF_proper(f(X)) -> nF_proper(X) nF_proper(cons(X1,X2)) -> nF_cons(proper(X1),proper(X2)) nF_proper(cons(X1,X2)) -> nF_proper(X1) nF_proper(cons(X1,X2)) -> nF_proper(X2) nF_proper(s(X)) -> nF_s(proper(X)) nF_proper(s(X)) -> nF_proper(X) nF_proper(p(X)) -> nF_p(proper(X)) nF_proper(p(X)) -> nF_proper(X) nF_f(ok(X)) -> nF_f(X) nF_cons(ok(X1),ok(X2)) -> nF_cons(X1,X2) nF_s(ok(X)) -> nF_s(X) nF_p(ok(X)) -> nF_p(X) nF_top(mark(X)) -> nF_top(proper(X)) nF_top(mark(X)) -> nF_proper(X) nF_top(ok(X)) -> nF_top(active(X)) nF_top(ok(X)) -> nF_active(X) -> Proof of termination for ExProp7_Luc06_C_1_1: -> -> Dependency pairs in cycle: nF_top(mark(X)) -> nF_top(proper(X)) nF_top(ok(X)) -> nF_top(active(X)) UsableRules: active(f(0)) -> mark(cons(0,f(s(0)))) active(f(s(0))) -> mark(f(p(s(0)))) active(p(s(X))) -> mark(X) active(f(X)) -> f(active(X)) active(cons(X1,X2)) -> cons(active(X1),X2) active(s(X)) -> s(active(X)) active(p(X)) -> p(active(X)) f(mark(X)) -> mark(f(X)) cons(mark(X1),X2) -> mark(cons(X1,X2)) s(mark(X)) -> mark(s(X)) p(mark(X)) -> mark(p(X)) proper(f(X)) -> f(proper(X)) proper(0) -> ok(0) proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) proper(s(X)) -> s(proper(X)) proper(p(X)) -> p(proper(X)) f(ok(X)) -> ok(f(X)) cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) s(ok(X)) -> ok(s(X)) p(ok(X)) -> ok(p(X)) Polynomial Interpretation: [active](X) = X [f](X) = 2.X.X + 2.X + 1 [0] = 2 [mark](X) = 2.X.X + 2.X + 1 [cons](X1,X2) = X1 [s](X) = 2.X.X + 2.X + 1 [p](X) = X.X + 2.X [proper](X) = X.X + X [ok](X) = X + 1 [top](X) = 0 [nF_top](X) = X TIME: 5.822207 -> -> Dependency pairs in cycle: nF_top(mark(X)) -> nF_top(proper(X)) UsableRules: f(mark(X)) -> mark(f(X)) cons(mark(X1),X2) -> mark(cons(X1,X2)) s(mark(X)) -> mark(s(X)) p(mark(X)) -> mark(p(X)) proper(f(X)) -> f(proper(X)) proper(0) -> ok(0) proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) proper(s(X)) -> s(proper(X)) proper(p(X)) -> p(proper(X)) f(ok(X)) -> ok(f(X)) cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) s(ok(X)) -> ok(s(X)) p(ok(X)) -> ok(p(X)) Polynomial Interpretation: [active](X) = 0 [f](X) = X.X [0] = 0 [mark](X) = 1 [cons](X1,X2) = X1 [s](X) = X.X [p](X) = X [proper](X) = 0 [ok](X) = 0 [top](X) = 0 [nF_top](X) = X TIME: 2.865e-3 -> Proof of termination for ExProp7_Luc06_C_1_2: -> -> Dependency pairs in cycle: nF_proper(f(X)) -> nF_proper(X) nF_proper(p(X)) -> nF_proper(X) nF_proper(s(X)) -> nF_proper(X) nF_proper(cons(X1,X2)) -> nF_proper(X2) nF_proper(cons(X1,X2)) -> nF_proper(X1) Termination proved: Cycles verify subterm criterion. -> Proof of termination for ExProp7_Luc06_C_1_3: -> -> Dependency pairs in cycle: nF_active(f(X)) -> nF_active(X) nF_active(p(X)) -> nF_active(X) nF_active(s(X)) -> nF_active(X) nF_active(cons(X1,X2)) -> nF_active(X1) Termination proved: Cycles verify subterm criterion. -> Proof of termination for ExProp7_Luc06_C_1_4: -> -> Dependency pairs in cycle: nF_cons(ok(X1),ok(X2)) -> nF_cons(X1,X2) nF_cons(mark(X1),X2) -> nF_cons(X1,X2) Termination proved: Cycles verify subterm criterion. -> Proof of termination for ExProp7_Luc06_C_1_5: -> -> Dependency pairs in cycle: nF_s(ok(X)) -> nF_s(X) nF_s(mark(X)) -> nF_s(X) Termination proved: Cycles verify subterm criterion. -> Proof of termination for ExProp7_Luc06_C_1_6: -> -> Dependency pairs in cycle: nF_p(ok(X)) -> nF_p(X) nF_p(mark(X)) -> nF_p(X) Termination proved: Cycles verify subterm criterion. -> Proof of termination for ExProp7_Luc06_C_1_7: -> -> Dependency pairs in cycle: nF_f(ok(X)) -> nF_f(X) nF_f(mark(X)) -> nF_f(X) Termination proved: Cycles verify subterm criterion. SETTINGS: Base ordering: Polynomial ordering Proof mode: SCCs in DG + base ordering Upper bound for coeffs: 2 Rationals below 1 for all non-replacing args: No Polynomial interpretation: Simple mixed Coeffs in polynomials: No rationals Delta: automatic Termination was proved succesfully.