TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60017 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (177ms).
| Problem 2 was processed with processor SubtermCriterion (1ms).
| Problem 3 was processed with processor SubtermCriterion (1ms).
| Problem 4 remains open; application of the following processors failed [SubtermCriterion (2ms), DependencyGraph (18ms), PolynomialLinearRange4iUR (913ms), DependencyGraph (16ms), PolynomialLinearRange8NegiUR (10997ms), DependencyGraph (14ms), ReductionPairSAT (timeout)].
| Problem 5 was processed with processor SubtermCriterion (1ms).
The following open problems remain:
Open Dependency Pair Problem 4
Dependency Pairs
if1#(false, b1, b2, b3, x, y, i) | → | if2#(b1, b2, b3, x, y, i) | | if4#(false, x, y, i) | → | gcd2#(x, minus(y, x), i) |
if3#(false, b3, x, y, i) | → | gcd2#(minus(x, y), y, i) | | gcd2#(x, y, i) | → | if1#(le(x, 0), le(y, 0), le(x, y), le(y, x), x, y, inc(i)) |
if3#(true, b3, x, y, i) | → | if4#(b3, x, y, i) | | if2#(false, b2, b3, x, y, i) | → | if3#(b2, b3, x, y, i) |
Rewrite Rules
gcd(x, y) | → | gcd2(x, y, 0) | | gcd2(x, y, i) | → | if1(le(x, 0), le(y, 0), le(x, y), le(y, x), x, y, inc(i)) |
if1(true, b1, b2, b3, x, y, i) | → | pair(result(y), neededIterations(i)) | | if1(false, b1, b2, b3, x, y, i) | → | if2(b1, b2, b3, x, y, i) |
if2(true, b2, b3, x, y, i) | → | pair(result(x), neededIterations(i)) | | if2(false, b2, b3, x, y, i) | → | if3(b2, b3, x, y, i) |
if3(false, b3, x, y, i) | → | gcd2(minus(x, y), y, i) | | if3(true, b3, x, y, i) | → | if4(b3, x, y, i) |
if4(false, x, y, i) | → | gcd2(x, minus(y, x), i) | | if4(true, x, y, i) | → | pair(result(x), neededIterations(i)) |
inc(0) | → | 0 | | inc(s(i)) | → | s(inc(i)) |
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | minus(x, 0) | → | x |
minus(0, y) | → | 0 | | minus(s(x), s(y)) | → | minus(x, y) |
a | → | b | | a | → | c |
Original Signature
Termination of terms over the following signature is verified: result, minus, b, neededIterations, c, pair, a, if3, if4, true, if1, if2, 0, s, le, inc, false, gcd2, gcd
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
if3#(false, b3, x, y, i) | → | minus#(x, y) | | inc#(s(i)) | → | inc#(i) |
gcd2#(x, y, i) | → | inc#(i) | | gcd#(x, y) | → | gcd2#(x, y, 0) |
gcd2#(x, y, i) | → | if1#(le(x, 0), le(y, 0), le(x, y), le(y, x), x, y, inc(i)) | | gcd2#(x, y, i) | → | le#(x, y) |
gcd2#(x, y, i) | → | le#(x, 0) | | if4#(false, x, y, i) | → | minus#(y, x) |
gcd2#(x, y, i) | → | le#(y, 0) | | le#(s(x), s(y)) | → | le#(x, y) |
if1#(false, b1, b2, b3, x, y, i) | → | if2#(b1, b2, b3, x, y, i) | | if4#(false, x, y, i) | → | gcd2#(x, minus(y, x), i) |
if3#(false, b3, x, y, i) | → | gcd2#(minus(x, y), y, i) | | minus#(s(x), s(y)) | → | minus#(x, y) |
if3#(true, b3, x, y, i) | → | if4#(b3, x, y, i) | | gcd2#(x, y, i) | → | le#(y, x) |
if2#(false, b2, b3, x, y, i) | → | if3#(b2, b3, x, y, i) |
Rewrite Rules
gcd(x, y) | → | gcd2(x, y, 0) | | gcd2(x, y, i) | → | if1(le(x, 0), le(y, 0), le(x, y), le(y, x), x, y, inc(i)) |
if1(true, b1, b2, b3, x, y, i) | → | pair(result(y), neededIterations(i)) | | if1(false, b1, b2, b3, x, y, i) | → | if2(b1, b2, b3, x, y, i) |
if2(true, b2, b3, x, y, i) | → | pair(result(x), neededIterations(i)) | | if2(false, b2, b3, x, y, i) | → | if3(b2, b3, x, y, i) |
if3(false, b3, x, y, i) | → | gcd2(minus(x, y), y, i) | | if3(true, b3, x, y, i) | → | if4(b3, x, y, i) |
if4(false, x, y, i) | → | gcd2(x, minus(y, x), i) | | if4(true, x, y, i) | → | pair(result(x), neededIterations(i)) |
inc(0) | → | 0 | | inc(s(i)) | → | s(inc(i)) |
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | minus(x, 0) | → | x |
minus(0, y) | → | 0 | | minus(s(x), s(y)) | → | minus(x, y) |
a | → | b | | a | → | c |
Original Signature
Termination of terms over the following signature is verified: result, minus, b, neededIterations, c, pair, a, if3, if4, true, if1, if2, 0, inc, le, s, false, gcd2, gcd
Strategy
The following SCCs where found
le#(s(x), s(y)) → le#(x, y) |
minus#(s(x), s(y)) → minus#(x, y) |
if1#(false, b1, b2, b3, x, y, i) → if2#(b1, b2, b3, x, y, i) | if4#(false, x, y, i) → gcd2#(x, minus(y, x), i) |
if3#(false, b3, x, y, i) → gcd2#(minus(x, y), y, i) | if3#(true, b3, x, y, i) → if4#(b3, x, y, i) |
gcd2#(x, y, i) → if1#(le(x, 0), le(y, 0), le(x, y), le(y, x), x, y, inc(i)) | if2#(false, b2, b3, x, y, i) → if3#(b2, b3, x, y, i) |
Problem 2: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
minus#(s(x), s(y)) | → | minus#(x, y) |
Rewrite Rules
gcd(x, y) | → | gcd2(x, y, 0) | | gcd2(x, y, i) | → | if1(le(x, 0), le(y, 0), le(x, y), le(y, x), x, y, inc(i)) |
if1(true, b1, b2, b3, x, y, i) | → | pair(result(y), neededIterations(i)) | | if1(false, b1, b2, b3, x, y, i) | → | if2(b1, b2, b3, x, y, i) |
if2(true, b2, b3, x, y, i) | → | pair(result(x), neededIterations(i)) | | if2(false, b2, b3, x, y, i) | → | if3(b2, b3, x, y, i) |
if3(false, b3, x, y, i) | → | gcd2(minus(x, y), y, i) | | if3(true, b3, x, y, i) | → | if4(b3, x, y, i) |
if4(false, x, y, i) | → | gcd2(x, minus(y, x), i) | | if4(true, x, y, i) | → | pair(result(x), neededIterations(i)) |
inc(0) | → | 0 | | inc(s(i)) | → | s(inc(i)) |
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | minus(x, 0) | → | x |
minus(0, y) | → | 0 | | minus(s(x), s(y)) | → | minus(x, y) |
a | → | b | | a | → | c |
Original Signature
Termination of terms over the following signature is verified: result, minus, b, neededIterations, c, pair, a, if3, if4, true, if1, if2, 0, inc, le, s, false, gcd2, gcd
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
minus#(s(x), s(y)) | → | minus#(x, y) |
Problem 3: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
Rewrite Rules
gcd(x, y) | → | gcd2(x, y, 0) | | gcd2(x, y, i) | → | if1(le(x, 0), le(y, 0), le(x, y), le(y, x), x, y, inc(i)) |
if1(true, b1, b2, b3, x, y, i) | → | pair(result(y), neededIterations(i)) | | if1(false, b1, b2, b3, x, y, i) | → | if2(b1, b2, b3, x, y, i) |
if2(true, b2, b3, x, y, i) | → | pair(result(x), neededIterations(i)) | | if2(false, b2, b3, x, y, i) | → | if3(b2, b3, x, y, i) |
if3(false, b3, x, y, i) | → | gcd2(minus(x, y), y, i) | | if3(true, b3, x, y, i) | → | if4(b3, x, y, i) |
if4(false, x, y, i) | → | gcd2(x, minus(y, x), i) | | if4(true, x, y, i) | → | pair(result(x), neededIterations(i)) |
inc(0) | → | 0 | | inc(s(i)) | → | s(inc(i)) |
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | minus(x, 0) | → | x |
minus(0, y) | → | 0 | | minus(s(x), s(y)) | → | minus(x, y) |
a | → | b | | a | → | c |
Original Signature
Termination of terms over the following signature is verified: result, minus, b, neededIterations, c, pair, a, if3, if4, true, if1, if2, 0, inc, le, s, false, gcd2, gcd
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
Problem 5: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
le#(s(x), s(y)) | → | le#(x, y) |
Rewrite Rules
gcd(x, y) | → | gcd2(x, y, 0) | | gcd2(x, y, i) | → | if1(le(x, 0), le(y, 0), le(x, y), le(y, x), x, y, inc(i)) |
if1(true, b1, b2, b3, x, y, i) | → | pair(result(y), neededIterations(i)) | | if1(false, b1, b2, b3, x, y, i) | → | if2(b1, b2, b3, x, y, i) |
if2(true, b2, b3, x, y, i) | → | pair(result(x), neededIterations(i)) | | if2(false, b2, b3, x, y, i) | → | if3(b2, b3, x, y, i) |
if3(false, b3, x, y, i) | → | gcd2(minus(x, y), y, i) | | if3(true, b3, x, y, i) | → | if4(b3, x, y, i) |
if4(false, x, y, i) | → | gcd2(x, minus(y, x), i) | | if4(true, x, y, i) | → | pair(result(x), neededIterations(i)) |
inc(0) | → | 0 | | inc(s(i)) | → | s(inc(i)) |
le(s(x), 0) | → | false | | le(0, y) | → | true |
le(s(x), s(y)) | → | le(x, y) | | minus(x, 0) | → | x |
minus(0, y) | → | 0 | | minus(s(x), s(y)) | → | minus(x, y) |
a | → | b | | a | → | c |
Original Signature
Termination of terms over the following signature is verified: result, minus, b, neededIterations, c, pair, a, if3, if4, true, if1, if2, 0, inc, le, s, false, gcd2, gcd
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
le#(s(x), s(y)) | → | le#(x, y) |