YES Confluence Proof

Confluence Proof

by csi

Input

The rewrite relation of the following TRS is considered.

C(x) c(x)
c(c(x)) x
b(b(x)) B(x)
B(B(x)) b(x)
c(B(c(b(c(x))))) B(c(b(c(B(c(b(x)))))))
b(B(x)) x
B(b(x)) x
c(C(x)) x
C(c(x)) x

Proof

1 Locally confluent and terminating

Confluence is proven by showing local confluence and termination.

1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[c(x1)] = 2 · x1 + 1
[B(x1)] = 1 · x1 + 0
[C(x1)] = 2 · x1 + 1
[b(x1)] = 1 · x1 + 0
the rules
C(x) c(x)
b(b(x)) B(x)
B(B(x)) b(x)
c(B(c(b(c(x))))) B(c(b(c(B(c(b(x)))))))
b(B(x)) x
B(b(x)) x
remain.

1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[c(x1)] = 1 · x1 + 0
[B(x1)] = 1 · x1 + 0
[C(x1)] = 2 · x1 + 4
[b(x1)] = 1 · x1 + 0
the rules
b(b(x)) B(x)
B(B(x)) b(x)
c(B(c(b(c(x))))) B(c(b(c(B(c(b(x)))))))
b(B(x)) x
B(b(x)) x
remain.

1.1.1.1 String Reversal

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

1.1.1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
b#(b(x)) B#(x)
B#(B(x)) b#(x)
c#(b(c(B(c(x))))) B#(x)
c#(b(c(B(c(x))))) c#(B(x))
c#(b(c(B(c(x))))) b#(c(B(x)))
c#(b(c(B(c(x))))) c#(b(c(B(x))))
c#(b(c(B(c(x))))) B#(c(b(c(B(x)))))
c#(b(c(B(c(x))))) c#(B(c(b(c(B(x))))))
c#(b(c(B(c(x))))) b#(c(B(c(b(c(B(x)))))))

1.1.1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.

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