YES
0 QTRS
↳1 QTRSRRRProof (⇔, 0 ms)
↳2 QTRS
↳3 QTRSRRRProof (⇔, 8 ms)
↳4 QTRS
↳5 QTRSRRRProof (⇔, 0 ms)
↳6 QTRS
↳7 QTRSRRRProof (⇔, 0 ms)
↳8 QTRS
↳9 QTRSRRRProof (⇔, 0 ms)
↳10 QTRS
↳11 RisEmptyProof (⇔, 0 ms)
↳12 YES
a__f(a, X, X) → a__f(X, a__b, b)
a__b → a
mark(f(X1, X2, X3)) → a__f(X1, mark(X2), X3)
mark(b) → a__b
mark(a) → a
a__f(X1, X2, X3) → f(X1, X2, X3)
a__b → b
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(a) = 1
POL(a__b) = 1
POL(a__f(x1, x2, x3)) = 2 + 2·x1 + 2·x2 + 2·x3
POL(b) = 0
POL(f(x1, x2, x3)) = 2 + x1 + 2·x2 + x3
POL(mark(x1)) = 1 + 2·x1
mark(f(X1, X2, X3)) → a__f(X1, mark(X2), X3)
mark(a) → a
a__b → b
a__f(a, X, X) → a__f(X, a__b, b)
a__b → a
mark(b) → a__b
a__f(X1, X2, X3) → f(X1, X2, X3)
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(a) = 0
POL(a__b) = 0
POL(a__f(x1, x2, x3)) = 2 + x1 + 2·x2 + x3
POL(b) = 0
POL(f(x1, x2, x3)) = 1 + x1 + x2 + x3
POL(mark(x1)) = x1
a__f(X1, X2, X3) → f(X1, X2, X3)
a__f(a, X, X) → a__f(X, a__b, b)
a__b → a
mark(b) → a__b
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(a) = 1
POL(a__b) = 1
POL(a__f(x1, x2, x3)) = 2·x1 + 2·x2 + x3
POL(b) = 0
POL(mark(x1)) = 2 + 2·x1
mark(b) → a__b
a__f(a, X, X) → a__f(X, a__b, b)
a__b → a
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(a) = 2
POL(a__b) = 2
POL(a__f(x1, x2, x3)) = 2·x1 + x2 + x3
POL(b) = 0
a__f(a, X, X) → a__f(X, a__b, b)
a__b → a
ab > a
a__b=1
a=1
a__b → a