YES

The TRS could be proven terminating. The proof took 83 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (26ms).
 | – Problem 2 was processed with processor SubtermCriterion (0ms).
 | – Problem 3 was processed with processor SubtermCriterion (0ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 | – Problem 5 was processed with processor SubtermCriterion (0ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

prod#(cons(x, l))prod#(l)*#(s(x), s(y))*#(x, y)
*#(s(x), s(y))+#(x, y)*#(s(x), s(y))+#(*(x, y), +(x, y))
sum#(cons(x, l))sum#(l)sum#(cons(x, l))+#(x, sum(l))
prod#(cons(x, l))*#(x, prod(l))+#(s(x), s(y))+#(x, y)

Rewrite 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)0sum(cons(x, l))+(x, sum(l))
prod(nil)s(0)prod(cons(x, l))*(x, prod(l))

Original Signature

Termination of terms over the following signature is verified: 0, s, *, +, sum, nil, cons, prod

Strategy


The following SCCs where found

prod#(cons(x, l)) → prod#(l)

*#(s(x), s(y)) → *#(x, y)

sum#(cons(x, l)) → sum#(l)

+#(s(x), s(y)) → +#(x, y)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

sum#(cons(x, l))sum#(l)

Rewrite 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)0sum(cons(x, l))+(x, sum(l))
prod(nil)s(0)prod(cons(x, l))*(x, prod(l))

Original Signature

Termination of terms over the following signature is verified: 0, s, *, +, sum, nil, cons, prod

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

sum#(cons(x, l))sum#(l)

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

prod#(cons(x, l))prod#(l)

Rewrite 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)0sum(cons(x, l))+(x, sum(l))
prod(nil)s(0)prod(cons(x, l))*(x, prod(l))

Original Signature

Termination of terms over the following signature is verified: 0, s, *, +, sum, nil, cons, prod

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

prod#(cons(x, l))prod#(l)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

*#(s(x), s(y))*#(x, y)

Rewrite 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)0sum(cons(x, l))+(x, sum(l))
prod(nil)s(0)prod(cons(x, l))*(x, prod(l))

Original Signature

Termination of terms over the following signature is verified: 0, s, *, +, sum, nil, cons, prod

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

*#(s(x), s(y))*#(x, y)

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

+#(s(x), s(y))+#(x, y)

Rewrite 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)0sum(cons(x, l))+(x, sum(l))
prod(nil)s(0)prod(cons(x, l))*(x, prod(l))

Original Signature

Termination of terms over the following signature is verified: 0, s, *, +, sum, nil, cons, prod

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

+#(s(x), s(y))+#(x, y)