YES (VAR X Y L X1 X2) (RULES a__eq(0,0) -> true a__eq(s(X),s(Y)) -> a__eq(X,Y) a__eq(X,Y) -> false a__inf(X) -> cons(X,inf(s(X))) a__take(0,X) -> nil a__take(s(X),cons(Y,L)) -> cons(Y,take(X,L)) a__length(nil) -> 0 a__length(cons(X,L)) -> s(length(L)) mark(eq(X1,X2)) -> a__eq(X1,X2) mark(inf(X)) -> a__inf(mark(X)) mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) mark(length(X)) -> a__length(mark(X)) mark(0) -> 0 mark(true) -> true mark(s(X)) -> s(X) mark(false) -> false mark(cons(X1,X2)) -> cons(X1,X2) mark(nil) -> nil a__eq(X1,X2) -> eq(X1,X2) a__inf(X) -> inf(X) a__take(X1,X2) -> take(X1,X2) a__length(X) -> length(X) ) Proving termination of rewriting for Ex1_GL02a_GM: -> Dependency pairs: nF_a__eq(s(X),s(Y)) -> nF_a__eq(X,Y) nF_mark(eq(X1,X2)) -> nF_a__eq(X1,X2) nF_mark(inf(X)) -> nF_a__inf(mark(X)) nF_mark(inf(X)) -> nF_mark(X) nF_mark(take(X1,X2)) -> nF_a__take(mark(X1),mark(X2)) nF_mark(take(X1,X2)) -> nF_mark(X1) nF_mark(take(X1,X2)) -> nF_mark(X2) nF_mark(length(X)) -> nF_a__length(mark(X)) nF_mark(length(X)) -> nF_mark(X) -> Proof of termination for Ex1_GL02a_GM_1_1: -> -> Dependency pairs in cycle: nF_mark(inf(X)) -> nF_mark(X) nF_mark(length(X)) -> nF_mark(X) nF_mark(take(X1,X2)) -> nF_mark(X2) nF_mark(take(X1,X2)) -> nF_mark(X1) Termination proved: Cycles verify subterm criterion. -> Proof of termination for Ex1_GL02a_GM_1_2: -> -> Dependency pairs in cycle: nF_a__eq(s(X),s(Y)) -> nF_a__eq(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.