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 2022)

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 Parallel Closed

Confluence is proven since the TRS is (almost) parallel closed. The joins can be performed using 1 parallel step(s).