TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60131 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (651ms).
| Problem 2 was processed with processor SubtermCriterion (2ms).
| Problem 3 was processed with processor SubtermCriterion (4ms).
| Problem 4 was processed with processor SubtermCriterion (1ms).
| Problem 5 was processed with processor SubtermCriterion (0ms).
| Problem 6 was processed with processor PolynomialLinearRange4iUR (127ms).
| Problem 7 was processed with processor PolynomialLinearRange4iUR (2550ms).
| Problem 8 was processed with processor SubtermCriterion (1ms).
| Problem 9 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (6ms), PolynomialLinearRange4iUR (1400ms), DependencyGraph (6ms), PolynomialLinearRange4iUR (1088ms), DependencyGraph (5ms), PolynomialLinearRange8NegiUR (3765ms), DependencyGraph (47ms), ReductionPairSAT (1598ms), DependencyGraph (5ms), SizeChangePrinciple (476ms), ForwardNarrowing (1ms), BackwardInstantiation (4ms), ForwardInstantiation (2ms), Propagation (2ms)].
The following open problems remain:
Open Dependency Pair Problem 9
Dependency Pairs
p#(s(x), s(y)) | → | p#(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))) | | p#(id(x), s(y)) | → | p#(x, if(gt(s(y), y), y, s(y))) |
p#(s(x), x) | → | p#(if(gt(x, x), id(x), id(x)), s(x)) |
Rewrite Rules
g(s(x), s(y)) | → | if(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | n(0, y) | → | 0 |
n(x, 0) | → | 0 | | n(s(x), s(y)) | → | s(n(x, y)) |
m(0, y) | → | y | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | k(0, s(y)) | → | 0 |
k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) | | t(x) | → | p(x, x) |
p(s(x), s(y)) | → | s(s(p(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))))) | | p(s(x), x) | → | p(if(gt(x, x), id(x), id(x)), s(x)) |
p(0, y) | → | y | | p(id(x), s(y)) | → | s(p(x, if(gt(s(y), y), y, s(y)))) |
minus(x, 0) | → | x | | minus(s(x), s(y)) | → | minus(x, y) |
id(x) | → | x | | if(true, x, y) | → | x |
if(false, x, y) | → | y | | not(x) | → | if(x, false, true) |
and(x, false) | → | false | | and(true, true) | → | true |
f(0) | → | true | | f(s(x)) | → | h(x) |
h(0) | → | false | | h(s(x)) | → | f(x) |
gt(s(x), 0) | → | true | | gt(0, y) | → | false |
gt(s(x), s(y)) | → | gt(x, y) |
Original Signature
Termination of terms over the following signature is verified: f, g, minus, n, true, m, k, h, and, not, id, 0, t, s, if, p, false, gt
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
g#(s(x), s(y)) | → | m#(x, y) | | g#(s(x), s(y)) | → | g#(minus(m(x, y), n(x, y)), n(s(x), s(y))) |
p#(id(x), s(y)) | → | if#(gt(s(y), y), y, s(y)) | | p#(id(x), s(y)) | → | p#(x, if(gt(s(y), y), y, s(y))) |
n#(s(x), s(y)) | → | n#(x, y) | | g#(s(x), s(y)) | → | n#(x, y) |
m#(s(x), s(y)) | → | m#(x, y) | | p#(s(x), x) | → | if#(gt(x, x), id(x), id(x)) |
g#(s(x), s(y)) | → | t#(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))) | | t#(x) | → | p#(x, x) |
g#(s(x), s(y)) | → | if#(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | f#(s(x)) | → | h#(x) |
g#(s(x), s(y)) | → | f#(s(x)) | | p#(s(x), s(y)) | → | if#(gt(x, y), x, y) |
g#(s(x), s(y)) | → | k#(n(s(x), s(y)), s(s(0))) | | gt#(s(x), s(y)) | → | gt#(x, y) |
g#(s(x), s(y)) | → | minus#(m(x, y), n(x, y)) | | g#(s(x), s(y)) | → | f#(s(y)) |
p#(s(x), x) | → | id#(x) | | h#(s(x)) | → | f#(x) |
not#(x) | → | if#(x, false, true) | | p#(s(x), x) | → | p#(if(gt(x, x), id(x), id(x)), s(x)) |
p#(s(x), s(y)) | → | p#(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))) | | p#(s(x), s(y)) | → | not#(gt(x, y)) |
p#(s(x), x) | → | gt#(x, x) | | p#(s(x), s(y)) | → | id#(x) |
p#(s(x), s(y)) | → | id#(y) | | p#(s(x), s(y)) | → | gt#(x, y) |
p#(id(x), s(y)) | → | gt#(s(y), y) | | g#(s(x), s(y)) | → | and#(f(s(x)), f(s(y))) |
k#(s(x), s(y)) | → | minus#(x, y) | | minus#(s(x), s(y)) | → | minus#(x, y) |
g#(s(x), s(y)) | → | k#(minus(m(x, y), n(x, y)), s(s(0))) | | p#(s(x), s(y)) | → | if#(not(gt(x, y)), id(x), id(y)) |
k#(s(x), s(y)) | → | k#(minus(x, y), s(y)) | | g#(s(x), s(y)) | → | g#(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0)))) |
g#(s(x), s(y)) | → | n#(s(x), s(y)) |
Rewrite Rules
g(s(x), s(y)) | → | if(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | n(0, y) | → | 0 |
n(x, 0) | → | 0 | | n(s(x), s(y)) | → | s(n(x, y)) |
m(0, y) | → | y | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | k(0, s(y)) | → | 0 |
k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) | | t(x) | → | p(x, x) |
p(s(x), s(y)) | → | s(s(p(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))))) | | p(s(x), x) | → | p(if(gt(x, x), id(x), id(x)), s(x)) |
p(0, y) | → | y | | p(id(x), s(y)) | → | s(p(x, if(gt(s(y), y), y, s(y)))) |
minus(x, 0) | → | x | | minus(s(x), s(y)) | → | minus(x, y) |
id(x) | → | x | | if(true, x, y) | → | x |
if(false, x, y) | → | y | | not(x) | → | if(x, false, true) |
and(x, false) | → | false | | and(true, true) | → | true |
f(0) | → | true | | f(s(x)) | → | h(x) |
h(0) | → | false | | h(s(x)) | → | f(x) |
gt(s(x), 0) | → | true | | gt(0, y) | → | false |
gt(s(x), s(y)) | → | gt(x, y) |
Original Signature
Termination of terms over the following signature is verified: f, g, minus, n, true, m, k, h, and, not, id, 0, t, s, if, p, false, gt
Strategy
The following SCCs where found
n#(s(x), s(y)) → n#(x, y) |
gt#(s(x), s(y)) → gt#(x, y) |
minus#(s(x), s(y)) → minus#(x, y) |
m#(s(x), s(y)) → m#(x, y) |
p#(s(x), s(y)) → p#(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))) | p#(id(x), s(y)) → p#(x, if(gt(s(y), y), y, s(y))) |
p#(s(x), x) → p#(if(gt(x, x), id(x), id(x)), s(x)) |
k#(s(x), s(y)) → k#(minus(x, y), s(y)) |
h#(s(x)) → f#(x) | f#(s(x)) → h#(x) |
g#(s(x), s(y)) → g#(minus(m(x, y), n(x, y)), n(s(x), s(y))) | g#(s(x), s(y)) → g#(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0)))) |
Problem 2: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
gt#(s(x), s(y)) | → | gt#(x, y) |
Rewrite Rules
g(s(x), s(y)) | → | if(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | n(0, y) | → | 0 |
n(x, 0) | → | 0 | | n(s(x), s(y)) | → | s(n(x, y)) |
m(0, y) | → | y | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | k(0, s(y)) | → | 0 |
k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) | | t(x) | → | p(x, x) |
p(s(x), s(y)) | → | s(s(p(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))))) | | p(s(x), x) | → | p(if(gt(x, x), id(x), id(x)), s(x)) |
p(0, y) | → | y | | p(id(x), s(y)) | → | s(p(x, if(gt(s(y), y), y, s(y)))) |
minus(x, 0) | → | x | | minus(s(x), s(y)) | → | minus(x, y) |
id(x) | → | x | | if(true, x, y) | → | x |
if(false, x, y) | → | y | | not(x) | → | if(x, false, true) |
and(x, false) | → | false | | and(true, true) | → | true |
f(0) | → | true | | f(s(x)) | → | h(x) |
h(0) | → | false | | h(s(x)) | → | f(x) |
gt(s(x), 0) | → | true | | gt(0, y) | → | false |
gt(s(x), s(y)) | → | gt(x, y) |
Original Signature
Termination of terms over the following signature is verified: f, g, minus, n, true, m, k, h, and, not, id, 0, t, s, if, p, false, gt
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
gt#(s(x), s(y)) | → | gt#(x, y) |
Problem 3: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
n#(s(x), s(y)) | → | n#(x, y) |
Rewrite Rules
g(s(x), s(y)) | → | if(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | n(0, y) | → | 0 |
n(x, 0) | → | 0 | | n(s(x), s(y)) | → | s(n(x, y)) |
m(0, y) | → | y | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | k(0, s(y)) | → | 0 |
k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) | | t(x) | → | p(x, x) |
p(s(x), s(y)) | → | s(s(p(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))))) | | p(s(x), x) | → | p(if(gt(x, x), id(x), id(x)), s(x)) |
p(0, y) | → | y | | p(id(x), s(y)) | → | s(p(x, if(gt(s(y), y), y, s(y)))) |
minus(x, 0) | → | x | | minus(s(x), s(y)) | → | minus(x, y) |
id(x) | → | x | | if(true, x, y) | → | x |
if(false, x, y) | → | y | | not(x) | → | if(x, false, true) |
and(x, false) | → | false | | and(true, true) | → | true |
f(0) | → | true | | f(s(x)) | → | h(x) |
h(0) | → | false | | h(s(x)) | → | f(x) |
gt(s(x), 0) | → | true | | gt(0, y) | → | false |
gt(s(x), s(y)) | → | gt(x, y) |
Original Signature
Termination of terms over the following signature is verified: f, g, minus, n, true, m, k, h, and, not, id, 0, t, s, if, p, false, gt
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
n#(s(x), s(y)) | → | n#(x, y) |
Problem 4: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
h#(s(x)) | → | f#(x) | | f#(s(x)) | → | h#(x) |
Rewrite Rules
g(s(x), s(y)) | → | if(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | n(0, y) | → | 0 |
n(x, 0) | → | 0 | | n(s(x), s(y)) | → | s(n(x, y)) |
m(0, y) | → | y | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | k(0, s(y)) | → | 0 |
k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) | | t(x) | → | p(x, x) |
p(s(x), s(y)) | → | s(s(p(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))))) | | p(s(x), x) | → | p(if(gt(x, x), id(x), id(x)), s(x)) |
p(0, y) | → | y | | p(id(x), s(y)) | → | s(p(x, if(gt(s(y), y), y, s(y)))) |
minus(x, 0) | → | x | | minus(s(x), s(y)) | → | minus(x, y) |
id(x) | → | x | | if(true, x, y) | → | x |
if(false, x, y) | → | y | | not(x) | → | if(x, false, true) |
and(x, false) | → | false | | and(true, true) | → | true |
f(0) | → | true | | f(s(x)) | → | h(x) |
h(0) | → | false | | h(s(x)) | → | f(x) |
gt(s(x), 0) | → | true | | gt(0, y) | → | false |
gt(s(x), s(y)) | → | gt(x, y) |
Original Signature
Termination of terms over the following signature is verified: f, g, minus, n, true, m, k, h, and, not, id, 0, t, s, if, p, false, gt
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
h#(s(x)) | → | f#(x) | | f#(s(x)) | → | h#(x) |
Problem 5: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
m#(s(x), s(y)) | → | m#(x, y) |
Rewrite Rules
g(s(x), s(y)) | → | if(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | n(0, y) | → | 0 |
n(x, 0) | → | 0 | | n(s(x), s(y)) | → | s(n(x, y)) |
m(0, y) | → | y | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | k(0, s(y)) | → | 0 |
k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) | | t(x) | → | p(x, x) |
p(s(x), s(y)) | → | s(s(p(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))))) | | p(s(x), x) | → | p(if(gt(x, x), id(x), id(x)), s(x)) |
p(0, y) | → | y | | p(id(x), s(y)) | → | s(p(x, if(gt(s(y), y), y, s(y)))) |
minus(x, 0) | → | x | | minus(s(x), s(y)) | → | minus(x, y) |
id(x) | → | x | | if(true, x, y) | → | x |
if(false, x, y) | → | y | | not(x) | → | if(x, false, true) |
and(x, false) | → | false | | and(true, true) | → | true |
f(0) | → | true | | f(s(x)) | → | h(x) |
h(0) | → | false | | h(s(x)) | → | f(x) |
gt(s(x), 0) | → | true | | gt(0, y) | → | false |
gt(s(x), s(y)) | → | gt(x, y) |
Original Signature
Termination of terms over the following signature is verified: f, g, minus, n, true, m, k, h, and, not, id, 0, t, s, if, p, false, gt
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
m#(s(x), s(y)) | → | m#(x, y) |
Problem 6: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
k#(s(x), s(y)) | → | k#(minus(x, y), s(y)) |
Rewrite Rules
g(s(x), s(y)) | → | if(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | n(0, y) | → | 0 |
n(x, 0) | → | 0 | | n(s(x), s(y)) | → | s(n(x, y)) |
m(0, y) | → | y | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | k(0, s(y)) | → | 0 |
k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) | | t(x) | → | p(x, x) |
p(s(x), s(y)) | → | s(s(p(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))))) | | p(s(x), x) | → | p(if(gt(x, x), id(x), id(x)), s(x)) |
p(0, y) | → | y | | p(id(x), s(y)) | → | s(p(x, if(gt(s(y), y), y, s(y)))) |
minus(x, 0) | → | x | | minus(s(x), s(y)) | → | minus(x, y) |
id(x) | → | x | | if(true, x, y) | → | x |
if(false, x, y) | → | y | | not(x) | → | if(x, false, true) |
and(x, false) | → | false | | and(true, true) | → | true |
f(0) | → | true | | f(s(x)) | → | h(x) |
h(0) | → | false | | h(s(x)) | → | f(x) |
gt(s(x), 0) | → | true | | gt(0, y) | → | false |
gt(s(x), s(y)) | → | gt(x, y) |
Original Signature
Termination of terms over the following signature is verified: f, g, minus, n, true, m, k, h, and, not, id, 0, t, s, if, p, false, gt
Strategy
Polynomial Interpretation
- 0: 3
- and(x,y): 0
- f(x): 0
- false: 0
- g(x,y): 0
- gt(x,y): 0
- h(x): 0
- id(x): 0
- if(x,y,z): 0
- k(x,y): 0
- k#(x,y): x + 1
- m(x,y): 0
- minus(x,y): x + 1
- n(x,y): 0
- not(x): 0
- p(x,y): 0
- s(x): 2x + 2
- t(x): 0
- true: 0
Improved Usable rules
minus(s(x), s(y)) | → | minus(x, y) | | minus(x, 0) | → | x |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
k#(s(x), s(y)) | → | k#(minus(x, y), s(y)) |
Problem 7: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
g#(s(x), s(y)) | → | g#(minus(m(x, y), n(x, y)), n(s(x), s(y))) | | g#(s(x), s(y)) | → | g#(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0)))) |
Rewrite Rules
g(s(x), s(y)) | → | if(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | n(0, y) | → | 0 |
n(x, 0) | → | 0 | | n(s(x), s(y)) | → | s(n(x, y)) |
m(0, y) | → | y | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | k(0, s(y)) | → | 0 |
k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) | | t(x) | → | p(x, x) |
p(s(x), s(y)) | → | s(s(p(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))))) | | p(s(x), x) | → | p(if(gt(x, x), id(x), id(x)), s(x)) |
p(0, y) | → | y | | p(id(x), s(y)) | → | s(p(x, if(gt(s(y), y), y, s(y)))) |
minus(x, 0) | → | x | | minus(s(x), s(y)) | → | minus(x, y) |
id(x) | → | x | | if(true, x, y) | → | x |
if(false, x, y) | → | y | | not(x) | → | if(x, false, true) |
and(x, false) | → | false | | and(true, true) | → | true |
f(0) | → | true | | f(s(x)) | → | h(x) |
h(0) | → | false | | h(s(x)) | → | f(x) |
gt(s(x), 0) | → | true | | gt(0, y) | → | false |
gt(s(x), s(y)) | → | gt(x, y) |
Original Signature
Termination of terms over the following signature is verified: f, g, minus, n, true, m, k, h, and, not, id, 0, t, s, if, p, false, gt
Strategy
Polynomial Interpretation
- 0: 0
- and(x,y): 0
- f(x): 0
- false: 0
- g(x,y): 0
- g#(x,y): y + 2x
- gt(x,y): 0
- h(x): 0
- id(x): 0
- if(x,y,z): 0
- k(x,y): x
- m(x,y): y + x
- minus(x,y): x
- n(x,y): x
- not(x): 0
- p(x,y): 0
- s(x): 2x + 1
- t(x): 0
- true: 0
Improved Usable rules
minus(s(x), s(y)) | → | minus(x, y) | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | m(0, y) | → | y |
k(0, s(y)) | → | 0 | | minus(x, 0) | → | x |
n(s(x), s(y)) | → | s(n(x, y)) | | k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) |
n(x, 0) | → | 0 | | n(0, y) | → | 0 |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
g#(s(x), s(y)) | → | g#(minus(m(x, y), n(x, y)), n(s(x), s(y))) | | g#(s(x), s(y)) | → | g#(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0)))) |
Problem 8: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
minus#(s(x), s(y)) | → | minus#(x, y) |
Rewrite Rules
g(s(x), s(y)) | → | if(and(f(s(x)), f(s(y))), t(g(k(minus(m(x, y), n(x, y)), s(s(0))), k(n(s(x), s(y)), s(s(0))))), g(minus(m(x, y), n(x, y)), n(s(x), s(y)))) | | n(0, y) | → | 0 |
n(x, 0) | → | 0 | | n(s(x), s(y)) | → | s(n(x, y)) |
m(0, y) | → | y | | m(x, 0) | → | x |
m(s(x), s(y)) | → | s(m(x, y)) | | k(0, s(y)) | → | 0 |
k(s(x), s(y)) | → | s(k(minus(x, y), s(y))) | | t(x) | → | p(x, x) |
p(s(x), s(y)) | → | s(s(p(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y))))) | | p(s(x), x) | → | p(if(gt(x, x), id(x), id(x)), s(x)) |
p(0, y) | → | y | | p(id(x), s(y)) | → | s(p(x, if(gt(s(y), y), y, s(y)))) |
minus(x, 0) | → | x | | minus(s(x), s(y)) | → | minus(x, y) |
id(x) | → | x | | if(true, x, y) | → | x |
if(false, x, y) | → | y | | not(x) | → | if(x, false, true) |
and(x, false) | → | false | | and(true, true) | → | true |
f(0) | → | true | | f(s(x)) | → | h(x) |
h(0) | → | false | | h(s(x)) | → | f(x) |
gt(s(x), 0) | → | true | | gt(0, y) | → | false |
gt(s(x), s(y)) | → | gt(x, y) |
Original Signature
Termination of terms over the following signature is verified: f, g, minus, n, true, m, k, h, and, not, id, 0, t, s, if, p, false, gt
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
minus#(s(x), s(y)) | → | minus#(x, y) |