NO

The TRS could be proven non-terminating. The proof took 213 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 (7ms).
 | – Problem 2 was processed with processor BackwardInstantiation (2ms).
 |    | – Problem 3 remains open; application of the following processors failed [ForwardInstantiation (0ms), Propagation (2ms), ForwardNarrowing (0ms), BackwardInstantiation (1ms), ForwardInstantiation (1ms), Propagation (1ms)].

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


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)