Termination of the following Term Rewriting System could be proven:
Context-sensitive rewrite system:
The TRS R consists of the following rules:
f(X) → if(X, c, f(true))
if(true, X, Y) → X
if(false, X, Y) → Y
The replacement map contains the following entries:f: {1}
if: {1, 2}
c: empty set
true: empty set
false: empty set
↳ CSR
↳ CSRInnermostProof
Context-sensitive rewrite system:
The TRS R consists of the following rules:
f(X) → if(X, c, f(true))
if(true, X, Y) → X
if(false, X, Y) → Y
The replacement map contains the following entries:f: {1}
if: {1, 2}
c: empty set
true: empty set
false: empty set
The CSR is orthogonal. By [10] we can switch to innermost.
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
Context-sensitive rewrite system:
The TRS R consists of the following rules:
f(X) → if(X, c, f(true))
if(true, X, Y) → X
if(false, X, Y) → Y
The replacement map contains the following entries:f: {1}
if: {1, 2}
c: empty set
true: empty set
false: empty set
Innermost Strategy.
Using Improved CS-DPs we result in the following initial Q-CSDP problem.
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSUsableRulesProof
Q-restricted context-sensitive dependency pair problem:
The symbols in {f, F} are replacing on all positions.
For all symbols f in {if, IF} we have µ(f) = {1, 2}.
The symbols in {U} are not replacing on any position.
The ordinary context-sensitive dependency pairs DPo are:
F(X) → IF(X, c, f(true))
The collapsing dependency pairs are DPc:
IF(false, X, Y) → Y
The hidden terms of R are:
f(true)
Every hiding context is built from:none
Hence, the new unhiding pairs DPu are :
IF(false, X, Y) → U(Y)
U(f(true)) → F(true)
The TRS R consists of the following rules:
f(X) → if(X, c, f(true))
if(true, X, Y) → X
if(false, X, Y) → Y
The set Q consists of the following terms:
f(x0)
if(true, x0, x1)
if(false, x0, x1)
The following rules are not useable and can be deleted:
f(x0) → if(x0, c, f(true))
if(true, x0, x1) → x0
if(false, x0, x1) → x1
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSUsableRulesProof
↳ QCSDP
↳ QCSDPReductionPairProof
Q-restricted context-sensitive dependency pair problem:
The symbols in {f, F} are replacing on all positions.
For all symbols f in {IF, if} we have µ(f) = {1, 2}.
The symbols in {U} are not replacing on any position.
The ordinary context-sensitive dependency pairs DPo are:
F(X) → IF(X, c, f(true))
The collapsing dependency pairs are DPc:
IF(false, X, Y) → Y
Hence, the new unhiding pairs DPu are :
IF(false, X, Y) → U(Y)
U(f(true)) → F(true)
R is empty.
The set Q consists of the following terms:
f(x0)
if(true, x0, x1)
if(false, x0, x1)
Using the order
Polynomial interpretation with max and min functions [25]:
POL(F(x1)) = x1
POL(IF(x1, x2, x3)) = x1
POL(U(x1)) = 0
POL(c) = 0
POL(f(x1)) = 0
POL(false) = 1
POL(true) = 0
the following usable rules
none
could all be oriented weakly.
Furthermore, the pairs
IF(false, X, Y) → U(Y)
could be oriented strictly and thus removed.
The pairs
F(X) → IF(X, c, f(true))
U(f(true)) → F(true)
could only be oriented weakly and must be analyzed further.
↳ CSR
↳ CSRInnermostProof
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSUsableRulesProof
↳ QCSDP
↳ QCSDPReductionPairProof
↳ QCSDP
↳ QCSDependencyGraphProof
Q-restricted context-sensitive dependency pair problem:
The symbols in {f, F} are replacing on all positions.
For all symbols f in {IF, if} we have µ(f) = {1, 2}.
The symbols in {U} are not replacing on any position.
The TRS P consists of the following rules:
F(X) → IF(X, c, f(true))
U(f(true)) → F(true)
R is empty.
The set Q consists of the following terms:
f(x0)
if(true, x0, x1)
if(false, x0, x1)
The approximation of the Context-Sensitive Dependency Graph contains 0 SCCs with 2 less nodes.