YES

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

The following DP Processors were used


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

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

f#(x, g(y, z)) → f#(x, y)rem#(g(x, y), s(z)) → rem#(x, z)
norm#(g(x, y)) → norm#(x)

Rewrite Rules

norm(nil) → 0norm(g(x, y)) → s(norm(x))
f(x, nil) → g(nil, x)f(x, g(y, z)) → g(f(x, y), z)
rem(nil, y) → nilrem(g(x, y), 0) → g(x, y)
rem(g(x, y), s(z)) → rem(x, z)

Original Signature

Termination of terms over the following signature is verified: f, g, 0, norm, s, rem, nil

Strategy


The following SCCs where found

f#(x, g(y, z)) → f#(x, y)

rem#(g(x, y), s(z)) → rem#(x, z)

norm#(g(x, y)) → norm#(x)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

f#(x, g(y, z)) → f#(x, y)

Rewrite Rules

norm(nil) → 0norm(g(x, y)) → s(norm(x))
f(x, nil) → g(nil, x)f(x, g(y, z)) → g(f(x, y), z)
rem(nil, y) → nilrem(g(x, y), 0) → g(x, y)
rem(g(x, y), s(z)) → rem(x, z)

Original Signature

Termination of terms over the following signature is verified: f, g, 0, norm, s, rem, nil

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

f#(x, g(y, z)) → f#(x, y)

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

rem#(g(x, y), s(z)) → rem#(x, z)

Rewrite Rules

norm(nil) → 0norm(g(x, y)) → s(norm(x))
f(x, nil) → g(nil, x)f(x, g(y, z)) → g(f(x, y), z)
rem(nil, y) → nilrem(g(x, y), 0) → g(x, y)
rem(g(x, y), s(z)) → rem(x, z)

Original Signature

Termination of terms over the following signature is verified: f, g, 0, norm, s, rem, nil

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

rem#(g(x, y), s(z)) → rem#(x, z)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

norm#(g(x, y)) → norm#(x)

Rewrite Rules

norm(nil) → 0norm(g(x, y)) → s(norm(x))
f(x, nil) → g(nil, x)f(x, g(y, z)) → g(f(x, y), z)
rem(nil, y) → nilrem(g(x, y), 0) → g(x, y)
rem(g(x, y), s(z)) → rem(x, z)

Original Signature

Termination of terms over the following signature is verified: f, g, 0, norm, s, rem, nil

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

norm#(g(x, y)) → norm#(x)