(0) Obligation:

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

+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
+(+(x, y), z) → +(x, +(y, z))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
*(*(x, y), z) → *(x, *(y, z))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))

Q is empty.

(1) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Lexicographic path order with status [LPO].
Quasi-Precedence:
nil > 0 > [sum1, prod1]
nil > s1 > [sum1, prod1]
cons2 > *2 > +2 > s1 > [sum1, prod1]
cons2 > *2 > 0 > [sum1, prod1]

Status:
cons2: [2,1]
*2: [1,2]
prod1: [1]
sum1: [1]
s1: [1]
0: []
nil: []
+2: [1,2]

With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
+(+(x, y), z) → +(x, +(y, z))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
*(*(x, y), z) → *(x, *(y, z))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))


(2) Obligation:

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

(3) RisEmptyProof (EQUIVALENT transformation)

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

(4) TRUE