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 (144ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).
 | – Problem 3 was processed with processor SubtermCriterion (1ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 | – Problem 5 remains open; application of the following processors failed [SubtermCriterion (3ms), DependencyGraph (10ms), PolynomialLinearRange4iUR (554ms), DependencyGraph (9ms), PolynomialLinearRange8NegiUR (3040ms), DependencyGraph (9ms), ReductionPairSAT (56195ms)].

The following open problems remain:



Open Dependency Pair Problem 5

Dependency Pairs

if2#(true, x, y, c, edge(u, v, i), j) → reach#(v, y, s(c), j, j)if1#(false, x, y, c, i, j) → if2#(le(c, size(j)), x, y, c, i, j)
reach#(x, y, c, i, j) → if1#(eq(x, y), x, y, c, i, j)if2#(true, x, y, c, edge(u, v, i), j) → if2#(true, x, y, c, i, j)

Rewrite Rules

eq(0, 0) → trueeq(0, s(x)) → false
eq(s(x), 0) → falseeq(s(x), s(y)) → eq(x, y)
or(true, y) → trueor(false, y) → y
and(true, y) → yand(false, y) → false
size(empty) → 0size(edge(x, y, i)) → s(size(i))
le(0, y) → truele(s(x), 0) → false
le(s(x), s(y)) → le(x, y)reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → falseif2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))

Original Signature

Termination of terms over the following signature is verified: edge, or, true, if1, if2, and, size, reach, 0, s, le, reachable, empty, false, eq


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

reachable#(x, y, i) → reach#(x, y, 0, i, i)reach#(x, y, c, i, j) → eq#(x, y)
if2#(true, x, y, c, edge(u, v, i), j) → eq#(x, u)if1#(false, x, y, c, i, j) → if2#(le(c, size(j)), x, y, c, i, j)
if1#(false, x, y, c, i, j) → le#(c, size(j))if2#(true, x, y, c, edge(u, v, i), j) → and#(eq(x, u), reach(v, y, s(c), j, j))
if1#(false, x, y, c, i, j) → size#(j)if2#(true, x, y, c, edge(u, v, i), j) → or#(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
le#(s(x), s(y)) → le#(x, y)if2#(true, x, y, c, edge(u, v, i), j) → reach#(v, y, s(c), j, j)
size#(edge(x, y, i)) → size#(i)eq#(s(x), s(y)) → eq#(x, y)
if2#(true, x, y, c, edge(u, v, i), j) → if2#(true, x, y, c, i, j)reach#(x, y, c, i, j) → if1#(eq(x, y), x, y, c, i, j)

Rewrite Rules

eq(0, 0) → trueeq(0, s(x)) → false
eq(s(x), 0) → falseeq(s(x), s(y)) → eq(x, y)
or(true, y) → trueor(false, y) → y
and(true, y) → yand(false, y) → false
size(empty) → 0size(edge(x, y, i)) → s(size(i))
le(0, y) → truele(s(x), 0) → false
le(s(x), s(y)) → le(x, y)reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → falseif2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))

Original Signature

Termination of terms over the following signature is verified: edge, or, true, if1, if2, and, size, reach, 0, s, le, reachable, empty, false, eq

Strategy


The following SCCs where found

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

size#(edge(x, y, i)) → size#(i)

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

if2#(true, x, y, c, edge(u, v, i), j) → reach#(v, y, s(c), j, j)if1#(false, x, y, c, i, j) → if2#(le(c, size(j)), x, y, c, i, j)
if2#(true, x, y, c, edge(u, v, i), j) → if2#(true, x, y, c, i, j)reach#(x, y, c, i, j) → if1#(eq(x, y), x, y, c, i, j)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

size#(edge(x, y, i)) → size#(i)

Rewrite Rules

eq(0, 0) → trueeq(0, s(x)) → false
eq(s(x), 0) → falseeq(s(x), s(y)) → eq(x, y)
or(true, y) → trueor(false, y) → y
and(true, y) → yand(false, y) → false
size(empty) → 0size(edge(x, y, i)) → s(size(i))
le(0, y) → truele(s(x), 0) → false
le(s(x), s(y)) → le(x, y)reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → falseif2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))

Original Signature

Termination of terms over the following signature is verified: edge, or, true, if1, if2, and, size, reach, 0, s, le, reachable, empty, false, eq

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

size#(edge(x, y, i)) → size#(i)

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

eq(0, 0) → trueeq(0, s(x)) → false
eq(s(x), 0) → falseeq(s(x), s(y)) → eq(x, y)
or(true, y) → trueor(false, y) → y
and(true, y) → yand(false, y) → false
size(empty) → 0size(edge(x, y, i)) → s(size(i))
le(0, y) → truele(s(x), 0) → false
le(s(x), s(y)) → le(x, y)reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → falseif2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))

Original Signature

Termination of terms over the following signature is verified: edge, or, true, if1, if2, and, size, reach, 0, s, le, reachable, empty, false, eq

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

eq(0, 0) → trueeq(0, s(x)) → false
eq(s(x), 0) → falseeq(s(x), s(y)) → eq(x, y)
or(true, y) → trueor(false, y) → y
and(true, y) → yand(false, y) → false
size(empty) → 0size(edge(x, y, i)) → s(size(i))
le(0, y) → truele(s(x), 0) → false
le(s(x), s(y)) → le(x, y)reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → falseif2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))

Original Signature

Termination of terms over the following signature is verified: edge, or, true, if1, if2, and, size, reach, 0, s, le, reachable, empty, false, eq

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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