YES Confluence Proof

Confluence Proof

by csi

Input

The rewrite relation of the following TRS is considered.

a(b(x)) C(x)
b(c(x)) A(x)
c(a(x)) B(x)
A(C(x)) b(x)
C(B(x)) a(x)
B(A(x)) c(x)
a(a(a(a(x)))) A(A(A(x)))
A(A(A(A(x)))) a(a(a(x)))
b(b(b(b(x)))) B(B(B(x)))
B(B(B(B(x)))) b(b(b(x)))
c(c(c(c(x)))) C(C(C(x)))
C(C(C(C(x)))) c(c(c(x)))
B(a(a(a(x)))) c(A(A(A(x))))
A(A(A(b(x)))) a(a(a(C(x))))
C(b(b(b(x)))) a(B(B(B(x))))
B(B(B(c(x)))) b(b(b(A(x))))
A(c(c(c(x)))) b(C(C(C(x))))
C(C(C(a(x)))) c(c(c(B(x))))
a(A(x)) x
A(a(x)) x
b(B(x)) x
B(b(x)) x
c(C(x)) x
C(c(x)) x

Proof

1 Redundant Rules Transformation

To prove that the TRS is (non-)confluent, we show (non-)confluence of the following modified system:

C(c(x)) x
c(C(x)) x
B(b(x)) x
b(B(x)) x
A(a(x)) x
a(A(x)) x
C(C(C(a(x)))) c(c(c(B(x))))
A(c(c(c(x)))) b(C(C(C(x))))
B(B(B(c(x)))) b(b(b(A(x))))
C(b(b(b(x)))) a(B(B(B(x))))
A(A(A(b(x)))) a(a(a(C(x))))
B(a(a(a(x)))) c(A(A(A(x))))
C(C(C(C(x)))) c(c(c(x)))
c(c(c(c(x)))) C(C(C(x)))
B(B(B(B(x)))) b(b(b(x)))
b(b(b(b(x)))) B(B(B(x)))
A(A(A(A(x)))) a(a(a(x)))
a(a(a(a(x)))) A(A(A(x)))
B(A(x)) c(x)
C(B(x)) a(x)
A(C(x)) b(x)
c(a(x)) B(x)
b(c(x)) A(x)
a(b(x)) C(x)

All redundant rules that were added or removed can be simulated in 2 steps .

1.1 Locally confluent and terminating

Confluence is proven by showing local confluence and termination.

1.1.1 String Reversal

Since only unary symbols occur, one can reverse all terms and obtains the TRS
c(C(x)) x
C(c(x)) x
b(B(x)) x
B(b(x)) x
a(A(x)) x
A(a(x)) x
a(C(C(C(x)))) B(c(c(c(x))))
c(c(c(A(x)))) C(C(C(b(x))))
c(B(B(B(x)))) A(b(b(b(x))))
b(b(b(C(x)))) B(B(B(a(x))))
b(A(A(A(x)))) C(a(a(a(x))))
a(a(a(B(x)))) A(A(A(c(x))))
C(C(C(C(x)))) c(c(c(x)))
c(c(c(c(x)))) C(C(C(x)))
B(B(B(B(x)))) b(b(b(x)))
b(b(b(b(x)))) B(B(B(x)))
A(A(A(A(x)))) a(a(a(x)))
a(a(a(a(x)))) A(A(A(x)))
A(B(x)) c(x)
B(C(x)) a(x)
C(A(x)) b(x)
a(c(x)) B(x)
c(b(x)) A(x)
b(a(x)) C(x)

1.1.1.1 Rule Removal

Using the Knuth Bendix order with w0 = 1 and the following precedence and weight functions
prec(B) = 4 weight(B) = 1
prec(A) = 2 weight(A) = 1
prec(c) = 3 weight(c) = 1
prec(C) = 0 weight(C) = 1
prec(a) = 7 weight(a) = 1
prec(b) = 6 weight(b) = 1
all rules could be removed.

1.1.1.1.1 R is empty

There are no rules in the TRS. Hence, it is terminating.

1.1.2 Local Confluence Proof

All critical pairs are joinable which can be seen by computing normal forms of all critical pairs.

Tool configuration

csi