YES
f(X) → if(X, c, f(true))
if(true, X, Y) → X
if(false, X, Y) → Y
f: {1}
if: {1, 2}
c: empty set
true: empty set
false: empty set
↳ CSR
↳ Zantema-Transformation
f(X) → if(X, c, f(true))
if(true, X, Y) → X
if(false, X, Y) → Y
f: {1}
if: {1, 2}
c: empty set
true: empty set
false: empty set
We applied the Zantema [34] to transform the context-sensitive TRS to an usual TRS.
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
f(X) → if(X, c, fInact(true))
if(true, X, Y) → X
if(false, X, Y) → a(Y)
a(x) → x
f(x1) → fInact(x1)
a(fInact(x1)) → f(x1)
f(X) → if(X, c, fInact(true))
if(true, X, Y) → X
if(false, X, Y) → a(Y)
a(x) → x
f(x1) → fInact(x1)
a(fInact(x1)) → f(x1)
Used ordering:
a(x) → x
a(fInact(x1)) → f(x1)
POL(a(x1)) = 1 + x1
POL(c) = 0
POL(f(x1)) = 2·x1
POL(fInact(x1)) = 2·x1
POL(false) = 1
POL(if(x1, x2, x3)) = x1 + 2·x2 + x3
POL(true) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
f(X) → if(X, c, fInact(true))
if(true, X, Y) → X
if(false, X, Y) → a(Y)
f(x1) → fInact(x1)
f(X) → if(X, c, fInact(true))
if(true, X, Y) → X
if(false, X, Y) → a(Y)
f(x1) → fInact(x1)
Used ordering:
f(X) → if(X, c, fInact(true))
if(false, X, Y) → a(Y)
f(x1) → fInact(x1)
POL(a(x1)) = 2 + x1
POL(c) = 0
POL(f(x1)) = 2 + 2·x1
POL(fInact(x1)) = 1 + 2·x1
POL(false) = 2
POL(if(x1, x2, x3)) = 2·x1 + 2·x2 + x3
POL(true) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
if(true, X, Y) → X
if(true, X, Y) → X
Used ordering:
if(true, X, Y) → X
POL(if(x1, x2, x3)) = 2 + x1 + x2 + x3
POL(true) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RisEmptyProof