YES Termination proof of ../tpdb/TRS/CSR/Ex2_Luc03b.trs
Termination of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

fst(0, Z) → nil
fst(s(X), cons(Y, Z)) → cons(Y, fst(X, Z))
from(X) → cons(X, from(s(X)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
len(nil) → 0
len(cons(X, Z)) → s(len(Z))

The replacement map contains the following entries:

fst: {1, 2}
0: empty set
nil: empty set
s: empty set
cons: {1}
from: {1}
add: {1, 2}
len: {1}


CSR
  ↳ Lucas-Transformation

Q restricted rewrite system:
The TRS R consists of the following rules:

fst(0, Z) → nil
fst(s(X), cons(Y, Z)) → cons(Y, fst(X, Z))
from(X) → cons(X, from(s(X)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
len(nil) → 0
len(cons(X, Z)) → s(len(Z))

The replacement map contains the following entries:

fst: {1, 2}
0: empty set
nil: empty set
s: empty set
cons: {1}
from: {1}
add: {1, 2}
len: {1}

We applied the Lucas [26] to transform the context-sensitive TRS to an usual TRS.

↳ CSR
  ↳ Lucas-Transformation
QTRS
      ↳ RRRPoloQTRSProof

Q restricted rewrite system:
The TRS R consists of the following rules:

fst(0, Z) → nil
fst(s, cons(Y)) → cons(Y)
from(X) → cons(X)
add(0, X) → X
add(s, Y) → s
len(nil) → 0
len(cons(X)) → s

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

fst(0, Z) → nil
fst(s, cons(Y)) → cons(Y)
from(X) → cons(X)
add(0, X) → X
add(s, Y) → s
len(nil) → 0
len(cons(X)) → s

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

fst(0, Z) → nil
fst(s, cons(Y)) → cons(Y)
add(0, X) → X
add(s, Y) → s
len(nil) → 0
len(cons(X)) → s
Used ordering:
Polynomial interpretation [25]:

POL(0) = 2   
POL(add(x1, x2)) = 2 + 2·x1 + x2   
POL(cons(x1)) = 2 + x1   
POL(from(x1)) = 2 + 2·x1   
POL(fst(x1, x2)) = 1 + 2·x1 + 2·x2   
POL(len(x1)) = 2 + 2·x1   
POL(nil) = 1   
POL(s) = 1   




↳ CSR
  ↳ Lucas-Transformation
    ↳ QTRS
      ↳ RRRPoloQTRSProof
QTRS
          ↳ RRRPoloQTRSProof

Q restricted rewrite system:
The TRS R consists of the following rules:

from(X) → cons(X)

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

from(X) → cons(X)

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

from(X) → cons(X)
Used ordering:
Polynomial interpretation [25]:

POL(cons(x1)) = 1 + x1   
POL(from(x1)) = 2 + 2·x1   




↳ CSR
  ↳ Lucas-Transformation
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
QTRS
              ↳ RisEmptyProof

Q restricted rewrite system:
R is empty.
Q is empty.

The TRS R is empty. Hence, termination is trivially proven.