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