TIMEOUT

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

The following DP Processors were used


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

The following open problems remain:



Open Dependency Pair Problem 4

Dependency Pairs

1024_1#(x)if#(lt(x, 10), x)if#(true, x)1024_1#(s(x))

Rewrite Rules

10241024_1(0)1024_1(x)if(lt(x, 10), x)
if(true, x)double(1024_1(s(x)))if(false, x)s(0)
lt(0, s(y))truelt(x, 0)false
lt(s(x), s(y))lt(x, y)double(0)0
double(s(x))s(s(double(x)))10double(s(double(s(s(0)))))

Original Signature

Termination of terms over the following signature is verified: 10, 0, s, if, false, true, lt, double, 1024, 1024_1


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

1024#1024_1#(0)1024_1#(x)if#(lt(x, 10), x)
1024_1#(x)lt#(x, 10)if#(true, x)1024_1#(s(x))
double#(s(x))double#(x)lt#(s(x), s(y))lt#(x, y)
10#double#(s(s(0)))if#(true, x)double#(1024_1(s(x)))
10#double#(s(double(s(s(0)))))1024_1#(x)10#

Rewrite Rules

10241024_1(0)1024_1(x)if(lt(x, 10), x)
if(true, x)double(1024_1(s(x)))if(false, x)s(0)
lt(0, s(y))truelt(x, 0)false
lt(s(x), s(y))lt(x, y)double(0)0
double(s(x))s(s(double(x)))10double(s(double(s(s(0)))))

Original Signature

Termination of terms over the following signature is verified: 10, 0, s, if, true, false, lt, double, 1024, 1024_1

Strategy


The following SCCs where found

1024_1#(x) → if#(lt(x, 10), x)if#(true, x) → 1024_1#(s(x))

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

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

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

10241024_1(0)1024_1(x)if(lt(x, 10), x)
if(true, x)double(1024_1(s(x)))if(false, x)s(0)
lt(0, s(y))truelt(x, 0)false
lt(s(x), s(y))lt(x, y)double(0)0
double(s(x))s(s(double(x)))10double(s(double(s(s(0)))))

Original Signature

Termination of terms over the following signature is verified: 10, 0, s, if, true, false, lt, double, 1024, 1024_1

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

lt#(s(x), s(y))lt#(x, y)

Rewrite Rules

10241024_1(0)1024_1(x)if(lt(x, 10), x)
if(true, x)double(1024_1(s(x)))if(false, x)s(0)
lt(0, s(y))truelt(x, 0)false
lt(s(x), s(y))lt(x, y)double(0)0
double(s(x))s(s(double(x)))10double(s(double(s(s(0)))))

Original Signature

Termination of terms over the following signature is verified: 10, 0, s, if, true, false, lt, double, 1024, 1024_1

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

lt#(s(x), s(y))lt#(x, y)

Problem 4: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

1024_1#(x)if#(lt(x, 10), x)if#(true, x)1024_1#(s(x))

Rewrite Rules

10241024_1(0)1024_1(x)if(lt(x, 10), x)
if(true, x)double(1024_1(s(x)))if(false, x)s(0)
lt(0, s(y))truelt(x, 0)false
lt(s(x), s(y))lt(x, y)double(0)0
double(s(x))s(s(double(x)))10double(s(double(s(s(0)))))

Original Signature

Termination of terms over the following signature is verified: 10, 0, s, if, true, false, lt, double, 1024, 1024_1

Strategy


Instantiation

For all potential predecessors l → r of the rule 1024_1#(x) → if#(lt(x, 10), x) on dependency pair chains it holds that: Thus, 1024_1#(x) → if#(lt(x, 10), x) is replaced by instances determined through the above matching. These instances are:
1024_1#(s(_x)) → if#(lt(s(_x), 10), s(_x))

Problem 5: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

1024_1#(s(_x))if#(lt(s(_x), 10), s(_x))if#(true, x)1024_1#(s(x))

Rewrite Rules

10241024_1(0)1024_1(x)if(lt(x, 10), x)
if(true, x)double(1024_1(s(x)))if(false, x)s(0)
lt(0, s(y))truelt(x, 0)false
lt(s(x), s(y))lt(x, y)double(0)0
double(s(x))s(s(double(x)))10double(s(double(s(s(0)))))

Original Signature

Termination of terms over the following signature is verified: 10, 0, s, if, false, true, lt, double, 1024, 1024_1

Strategy


Instantiation

For all potential predecessors l → r of the rule 1024_1#(s(_x)) → if#(lt(s(_x), 10), s(_x)) on dependency pair chains it holds that: Thus, 1024_1#(s(_x)) → if#(lt(s(_x), 10), s(_x)) is replaced by instances determined through the above matching. These instances are:
1024_1#(s(x)) → if#(lt(s(x), 10), s(x))

Problem 6: Propagation



Dependency Pair Problem

Dependency Pairs

if#(true, x)1024_1#(s(x))1024_1#(s(x))if#(lt(s(x), 10), s(x))

Rewrite Rules

10241024_1(0)1024_1(x)if(lt(x, 10), x)
if(true, x)double(1024_1(s(x)))if(false, x)s(0)
lt(0, s(y))truelt(x, 0)false
lt(s(x), s(y))lt(x, y)double(0)0
double(s(x))s(s(double(x)))10double(s(double(s(s(0)))))

Original Signature

Termination of terms over the following signature is verified: 10, 0, s, if, true, false, lt, double, 1024, 1024_1

Strategy


The dependency pairs if#(true, x) → 1024_1#(s(x)) and 1024_1#(s(x)) → if#(lt(s(x), 10), s(x)) are consolidated into the rule if#(true, x) → if#(lt(s(x), 10), s(x)) .

This is possible as

The dependency pairs if#(true, x) → 1024_1#(s(x)) and 1024_1#(s(x)) → if#(lt(s(x), 10), s(x)) are consolidated into the rule if#(true, x) → if#(lt(s(x), 10), s(x)) .

This is possible as


Summary

Removed Dependency PairsAdded Dependency Pairs
if#(true, x) → 1024_1#(s(x))if#(true, x) → if#(lt(s(x), 10), s(x))
1024_1#(s(x)) → if#(lt(s(x), 10), s(x))