TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60000 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (59ms).
 | – Problem 2 was processed with processor ForwardNarrowing (2ms).
 |    | – Problem 7 remains open; application of the following processors failed [ForwardNarrowing (0ms), BackwardInstantiation (2ms), ForwardInstantiation (3ms), Propagation (1ms), ForwardNarrowing (1ms), BackwardInstantiation (1ms), ForwardInstantiation (1ms), Propagation (1ms)].
 | – Problem 3 was processed with processor SubtermCriterion (1ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 | – Problem 5 was processed with processor SubtermCriterion (1ms).
 | – Problem 6 was processed with processor SubtermCriterion (0ms).

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

log#(x, s(s(y))) → cond#(le(x, s(s(y))), x, y)cond#(false, x, y) → log#(x, square(s(s(y))))

Rewrite Rules

log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))le(0, v) → true
le(s(u), 0) → falsele(s(u), s(v)) → le(u, v)
double(0) → 0double(s(x)) → s(s(double(x)))
square(0) → 0square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → nplus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, 0, s, le, false, true, square, double, log, cond


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

log#(x, s(s(y))) → cond#(le(x, s(s(y))), x, y)cond#(false, x, y) → double#(log(x, square(s(s(y)))))
le#(s(u), s(v)) → le#(u, v)square#(s(x)) → double#(x)
square#(s(x)) → square#(x)log#(x, s(s(y))) → le#(x, s(s(y)))
double#(s(x)) → double#(x)plus#(n, s(m)) → plus#(n, m)
cond#(false, x, y) → square#(s(s(y)))square#(s(x)) → plus#(square(x), double(x))
cond#(false, x, y) → log#(x, square(s(s(y))))

Rewrite Rules

log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))le(0, v) → true
le(s(u), 0) → falsele(s(u), s(v)) → le(u, v)
double(0) → 0double(s(x)) → s(s(double(x)))
square(0) → 0square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → nplus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, 0, le, s, true, false, square, double, cond, log

Strategy


The following SCCs where found

le#(s(u), s(v)) → le#(u, v)

square#(s(x)) → square#(x)

double#(s(x)) → double#(x)

log#(x, s(s(y))) → cond#(le(x, s(s(y))), x, y)cond#(false, x, y) → log#(x, square(s(s(y))))

plus#(n, s(m)) → plus#(n, m)

Problem 2: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

log#(x, s(s(y))) → cond#(le(x, s(s(y))), x, y)cond#(false, x, y) → log#(x, square(s(s(y))))

Rewrite Rules

log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))le(0, v) → true
le(s(u), 0) → falsele(s(u), s(v)) → le(u, v)
double(0) → 0double(s(x)) → s(s(double(x)))
square(0) → 0square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → nplus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, 0, le, s, true, false, square, double, cond, log

Strategy


The right-hand side of the rule cond#(false, x, y) → log#(x, square(s(s(y)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
log#(x, s(plus(square(s(y)), double(s(y))))) 
Thus, the rule cond#(false, x, y) → log#(x, square(s(s(y)))) is replaced by the following rules:
cond#(false, x, y) → log#(x, s(plus(square(s(y)), double(s(y)))))

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

le#(s(u), s(v)) → le#(u, v)

Rewrite Rules

log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))le(0, v) → true
le(s(u), 0) → falsele(s(u), s(v)) → le(u, v)
double(0) → 0double(s(x)) → s(s(double(x)))
square(0) → 0square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → nplus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, 0, le, s, true, false, square, double, cond, log

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

le#(s(u), s(v)) → le#(u, v)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

double#(s(x)) → double#(x)

Rewrite Rules

log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))le(0, v) → true
le(s(u), 0) → falsele(s(u), s(v)) → le(u, v)
double(0) → 0double(s(x)) → s(s(double(x)))
square(0) → 0square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → nplus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, 0, le, s, true, false, square, double, cond, log

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

double#(s(x)) → double#(x)

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

plus#(n, s(m)) → plus#(n, m)

Rewrite Rules

log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))le(0, v) → true
le(s(u), 0) → falsele(s(u), s(v)) → le(u, v)
double(0) → 0double(s(x)) → s(s(double(x)))
square(0) → 0square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → nplus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, 0, le, s, true, false, square, double, cond, log

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

plus#(n, s(m)) → plus#(n, m)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

square#(s(x)) → square#(x)

Rewrite Rules

log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))le(0, v) → true
le(s(u), 0) → falsele(s(u), s(v)) → le(u, v)
double(0) → 0double(s(x)) → s(s(double(x)))
square(0) → 0square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → nplus(n, s(m)) → s(plus(n, m))

Original Signature

Termination of terms over the following signature is verified: plus, 0, le, s, true, false, square, double, cond, log

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

square#(s(x)) → square#(x)