The TRS could be proven non-terminating. The proof took 227 ms.

The following reduction sequence is a witness for non-termination:

f#(true) →* f#(true)

The following DP Processors were used


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

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

f#(X)f#(true)f#(X)if#(X, c, f(true))

Rewrite Rules

f(X)if(X, c, f(true))if(true, X, Y)X
if(false, X, Y)Y

Original Signature

Termination of terms over the following signature is verified: f, c, if, true, false

Strategy


Parameters


The following SCCs where found

f#(X) → f#(true)

Problem 2: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

f#(X)f#(true)

Rewrite Rules

f(X)if(X, c, f(true))if(true, X, Y)X
if(false, X, Y)Y

Original Signature

Termination of terms over the following signature is verified: f, c, if, true, false

Strategy


Instantiation

For all potential predecessors l → r of the rule f#(X) → f#(true) on dependency pair chains it holds that: Thus, f#(X) → f#(true) is replaced by instances determined through the above matching. These instances are:
f#(true) → f#(true)