(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, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
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:
Recursive path order with status [RPO].
Precedence:
nil > s1
cons2 > *2 > +2 > s1
cons2 > *2 > 0
cons2 > sum1 > 0
cons2 > prod1 > 0
cons2 > prod1 > s1
Status:
cons2: multiset
*2: multiset
prod1: multiset
sum1: multiset
s1: multiset
0: multiset
nil: multiset
+2: multiset
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, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
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