Certification Problem

Input (COPS 1653)

We consider the TRS containing the following rules:

c f(a,h(b)) (1)
f(h(f(f(a,a),h(a))),g(f(x,g(b)))) c (2)
c c (3)
g(g(a)) f(h(g(f(c,c))),f(f(g(c),a),g(f(a,a)))) (4)
f(x,y) f(y,x) (5)

The underlying signature is as follows:

{c/0, f/2, a/0, h/1, b/0, g/1}

Property / Task

Prove or disprove confluence.

Answer / Result

Yes.

Proof (by csi @ CoCo 2023)

1 Redundant Rules Transformation

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

f(x,y) f(y,x) (5)
g(g(a)) f(h(g(f(c,c))),f(f(g(c),a),g(f(a,a)))) (4)
f(h(f(f(a,a),h(a))),g(f(x,g(b)))) c (2)
c f(a,h(b)) (1)

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

1.1 Redundant Rules Transformation

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

f(x,y) f(y,x) (5)
g(g(a)) f(h(g(f(c,c))),f(f(g(c),a),g(f(a,a)))) (4)
f(h(f(f(a,a),h(a))),g(f(x,g(b)))) c (2)
c f(a,h(b)) (1)
f(h(f(f(a,a),h(a))),g(f(g(b),x))) c (6)
f(h(f(h(a),f(a,a))),g(f(x,g(b)))) c (7)
f(g(f(x,g(b))),h(f(f(a,a),h(a)))) c (8)
f(g(f(x61,g(b))),h(f(f(a,a),h(a)))) c (9)

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

1.1.1 Redundant Rules Transformation

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

f(g(f(x61,g(b))),h(f(f(a,a),h(a)))) c (9)
f(h(f(h(a),f(a,a))),g(f(x,g(b)))) c (7)
f(h(f(f(a,a),h(a))),g(f(g(b),x))) c (6)
c f(a,h(b)) (1)
f(h(f(f(a,a),h(a))),g(f(x,g(b)))) c (2)
g(g(a)) f(h(g(f(c,c))),f(f(g(c),a),g(f(a,a)))) (4)
f(x,y) f(y,x) (5)

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

1.1.1.1 Redundant Rules Transformation

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

f(g(f(x61,g(b))),h(f(f(a,a),h(a)))) c (9)
f(h(f(h(a),f(a,a))),g(f(x,g(b)))) c (7)
f(h(f(f(a,a),h(a))),g(f(g(b),x))) c (6)
c f(a,h(b)) (1)
f(h(f(f(a,a),h(a))),g(f(x,g(b)))) c (2)
g(g(a)) f(h(g(f(c,c))),f(f(g(c),a),g(f(a,a)))) (4)
f(x,y) f(y,x) (5)
f(h(f(h(a),f(a,a))),g(f(g(b),x))) c (10)
f(g(f(g(b),x)),h(f(f(a,a),h(a)))) c (11)
f(g(f(x,g(b))),h(f(h(a),f(a,a)))) c (12)
f(g(f(x61,g(b))),h(f(h(a),f(a,a)))) c (13)
f(g(f(g(b),x61)),h(f(f(a,a),h(a)))) c (14)
f(g(f(g(b),x383)),h(f(f(a,a),h(a)))) c (15)
f(g(f(x381,g(b))),h(f(h(a),f(a,a)))) c (16)

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

1.1.1.1.1 Redundant Rules Transformation

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

f(g(f(x381,g(b))),h(f(h(a),f(a,a)))) c (16)
f(g(f(g(b),x383)),h(f(f(a,a),h(a)))) c (15)
f(h(f(h(a),f(a,a))),g(f(g(b),x))) c (10)
f(x,y) f(y,x) (5)
g(g(a)) f(h(g(f(c,c))),f(f(g(c),a),g(f(a,a)))) (4)
f(h(f(f(a,a),h(a))),g(f(x,g(b)))) c (2)
c f(a,h(b)) (1)
f(h(f(f(a,a),h(a))),g(f(g(b),x))) c (6)
f(h(f(h(a),f(a,a))),g(f(x,g(b)))) c (7)
f(g(f(x61,g(b))),h(f(f(a,a),h(a)))) c (9)

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

1.1.1.1.1.1 Redundant Rules Transformation

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

f(g(f(x381,g(b))),h(f(h(a),f(a,a)))) c (16)
f(g(f(g(b),x383)),h(f(f(a,a),h(a)))) c (15)
f(h(f(h(a),f(a,a))),g(f(g(b),x))) c (10)
f(x,y) f(y,x) (5)
g(g(a)) f(h(g(f(c,c))),f(f(g(c),a),g(f(a,a)))) (4)
f(h(f(f(a,a),h(a))),g(f(x,g(b)))) c (2)
c f(a,h(b)) (1)
f(h(f(f(a,a),h(a))),g(f(g(b),x))) c (6)
f(h(f(h(a),f(a,a))),g(f(x,g(b)))) c (7)
f(g(f(x61,g(b))),h(f(f(a,a),h(a)))) c (9)
f(g(f(g(b),x)),h(f(h(a),f(a,a)))) c (17)
f(g(f(g(b),x383)),h(f(h(a),f(a,a)))) c (18)
f(g(f(g(b),x381)),h(f(h(a),f(a,a)))) c (19)
f(g(f(g(b),x1222)),h(f(h(a),f(a,a)))) c (20)

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

1.1.1.1.1.1.1 Critical Pair Closing System

Confluence is proven using the following terminating critical-pair-closing-system R:

f(h(f(h(a),f(a,a))),g(f(x,g(b)))) c (7)
f(h(f(f(a,a),h(a))),g(f(g(b),x))) c (6)
f(g(f(g(b),x)),h(f(h(a),f(a,a)))) c (17)
f(g(f(x61,g(b))),h(f(f(a,a),h(a)))) c (9)
f(g(f(x381,g(b))),h(f(h(a),f(a,a)))) c (16)
f(g(f(g(b),x383)),h(f(f(a,a),h(a)))) c (15)
f(h(f(h(a),f(a,a))),g(f(g(b),x))) c (10)
f(h(f(f(a,a),h(a))),g(f(x,g(b)))) c (2)

1.1.1.1.1.1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[f(x1, x2)] = 1 · x1 + 1 · x2 + 0
[a] = 0
[h(x1)] = 4 · x1 + 0
[g(x1)] = 2 · x1 + 2
[c] = 0
[b] = 2
all of the following rules can be deleted.
f(h(f(h(a),f(a,a))),g(f(x,g(b)))) c (7)
f(h(f(f(a,a),h(a))),g(f(g(b),x))) c (6)
f(g(f(g(b),x)),h(f(h(a),f(a,a)))) c (17)
f(g(f(x61,g(b))),h(f(f(a,a),h(a)))) c (9)
f(g(f(x381,g(b))),h(f(h(a),f(a,a)))) c (16)
f(g(f(g(b),x383)),h(f(f(a,a),h(a)))) c (15)
f(h(f(h(a),f(a,a))),g(f(g(b),x))) c (10)
f(h(f(f(a,a),h(a))),g(f(x,g(b)))) c (2)

1.1.1.1.1.1.1.1.1 R is empty

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