TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60151 ms.
The following DP Processors were used
Problem 1 was processed with processor BackwardInstantiation (2ms).
| Problem 2 was processed with processor BackwardInstantiation (1ms).
| | Problem 3 was processed with processor Propagation (1ms).
| | | Problem 4 remains open; application of the following processors failed [ForwardNarrowing (1ms), BackwardInstantiation (1ms), ForwardInstantiation (1ms), Propagation (0ms)].
The following open problems remain:
Open Dependency Pair Problem 1
Dependency Pairs
h#(x, y) | → | f#(x, y, x) | | f#(0, 1, x) | → | h#(x, x) |
Rewrite Rules
h(x, y) | → | f(x, y, x) | | f(0, 1, x) | → | h(x, x) |
g(x, y) | → | x | | g(x, y) | → | y |
Original Signature
Termination of terms over the following signature is verified: f, g, 1, 0, h
Problem 1: BackwardInstantiation
Dependency Pair Problem
Dependency Pairs
h#(x, y) | → | f#(x, y, x) | | f#(0, 1, x) | → | h#(x, x) |
Rewrite Rules
h(x, y) | → | f(x, y, x) | | f(0, 1, x) | → | h(x, x) |
g(x, y) | → | x | | g(x, y) | → | y |
Original Signature
Termination of terms over the following signature is verified: f, g, 1, 0, h
Strategy
Instantiation
For all potential predecessors l → r of the rule h
#(
x,
y) → f
#(
x,
y,
x) on dependency pair chains it holds that:
- h#(x, y) matches r,
- all variables of h#(x, y) are embedded in constructor contexts, i.e., each subterm of h#(x, y), containing a variable is rooted by a constructor symbol.
Thus, h
#(
x,
y) → f
#(
x,
y,
x) is replaced by instances determined through the above matching. These instances are:
h#(_x, _x) → f#(_x, _x, _x) |
Problem 2: BackwardInstantiation
Dependency Pair Problem
Dependency Pairs
f#(0, 1, x) | → | h#(x, x) | | h#(_x, _x) | → | f#(_x, _x, _x) |
Rewrite Rules
h(x, y) | → | f(x, y, x) | | f(0, 1, x) | → | h(x, x) |
g(x, y) | → | x | | g(x, y) | → | y |
Original Signature
Termination of terms over the following signature is verified: f, g, 1, 0, h
Strategy
Instantiation
For all potential predecessors l → r of the rule h
#(
_x,
_x) → f
#(
_x,
_x,
_x) on dependency pair chains it holds that:
- h#(_x, _x) matches r,
- all variables of h#(_x, _x) are embedded in constructor contexts, i.e., each subterm of h#(_x, _x), containing a variable is rooted by a constructor symbol.
Thus, h
#(
_x,
_x) → f
#(
_x,
_x,
_x) is replaced by instances determined through the above matching. These instances are:
Problem 3: Propagation
Dependency Pair Problem
Dependency Pairs
f#(0, 1, x) | → | h#(x, x) | | h#(x, x) | → | f#(x, x, x) |
Rewrite Rules
h(x, y) | → | f(x, y, x) | | f(0, 1, x) | → | h(x, x) |
g(x, y) | → | x | | g(x, y) | → | y |
Original Signature
Termination of terms over the following signature is verified: f, g, 1, 0, h
Strategy
The dependency pairs f
#(0, 1,
x) → h
#(
x,
x) and h
#(
x,
x) → f
#(
x,
x,
x) are consolidated into the rule f
#(0, 1,
x) → f
#(
x,
x,
x) .
This is possible as
- all subterms of h#(x, x) containing variables are rooted by a constructor symbol,
- there is no variable that is replacing in h#(x, x), but non-replacing in both f#(0, 1, x) and f#(x, x, x)
The dependency pairs f
#(0, 1,
x) → h
#(
x,
x) and h
#(
x,
x) → f
#(
x,
x,
x) are consolidated into the rule f
#(0, 1,
x) → f
#(
x,
x,
x) .
This is possible as
- all subterms of h#(x, x) containing variables are rooted by a constructor symbol,
- there is no variable that is replacing in h#(x, x), but non-replacing in both f#(0, 1, x) and f#(x, x, x)
Summary
Removed Dependency Pairs | Added Dependency Pairs |
---|
f#(0, 1, x) → h#(x, x) | f#(0, 1, x) → f#(x, x, x) |
h#(x, x) → f#(x, x, x) | |