The TRS could be proven non-terminating. The proof took 209 ms.
The following reduction sequence is a witness for non-termination:
f#(___X) →* f#(___X)
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (0ms).
| Problem 2 was processed with processor BackwardInstantiation (3ms).
| | Problem 3 was processed with processor BackwardInstantiation (2ms).
| | | Problem 4 was processed with processor BackwardInstantiation (4ms).
| | | | Problem 5 remains open; application of the following processors failed [ForwardInstantiation (1ms), Propagation (1ms)].
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
activate#(n__h(X)) | → | h#(X) | | f#(X) | → | f#(X) |
Rewrite Rules
f(X) | → | g(n__h(f(X))) | | h(X) | → | n__h(X) |
activate(n__h(X)) | → | h(X) | | activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: f, activate, g, n__h, h
Strategy
Parameters
- Use inverse cap function: true
- Use strongly defined symbols: false
The following SCCs where found
Problem 2: BackwardInstantiation
Dependency Pair Problem
Dependency Pairs
Rewrite Rules
f(X) | → | g(n__h(f(X))) | | h(X) | → | n__h(X) |
activate(n__h(X)) | → | h(X) | | activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: f, activate, g, n__h, h
Strategy
Instantiation
For all potential predecessors l → r of the rule f
#(
X) → f
#(
X) on dependency pair chains it holds that:
- f#(X) matches r,
- all variables of f#(X) are embedded in constructor contexts, i.e., each subterm of f#(X), containing a variable is rooted by a constructor symbol.
Thus, f
#(
X) → f
#(
X) is replaced by instances determined through the above matching. These instances are:
Problem 3: BackwardInstantiation
Dependency Pair Problem
Dependency Pairs
Rewrite Rules
f(X) | → | g(n__h(f(X))) | | h(X) | → | n__h(X) |
activate(n__h(X)) | → | h(X) | | activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: activate, f, g, n__h, h
Strategy
Instantiation
For all potential predecessors l → r of the rule f
#(
_X) → f
#(
_X) on dependency pair chains it holds that:
- f#(_X) matches r,
- all variables of f#(_X) are embedded in constructor contexts, i.e., each subterm of f#(_X), containing a variable is rooted by a constructor symbol.
Thus, f
#(
_X) → f
#(
_X) is replaced by instances determined through the above matching. These instances are:
Problem 4: BackwardInstantiation
Dependency Pair Problem
Dependency Pairs
Rewrite Rules
f(X) | → | g(n__h(f(X))) | | h(X) | → | n__h(X) |
activate(n__h(X)) | → | h(X) | | activate(X) | → | X |
Original Signature
Termination of terms over the following signature is verified: f, activate, g, n__h, h
Strategy
Instantiation
For all potential predecessors l → r of the rule f
#(
__X) → f
#(
__X) on dependency pair chains it holds that:
- f#(__X) matches r,
- all variables of f#(__X) are embedded in constructor contexts, i.e., each subterm of f#(__X), containing a variable is rooted by a constructor symbol.
Thus, f
#(
__X) → f
#(
__X) is replaced by instances determined through the above matching. These instances are: