Certification Problem

Input (COPS 741)

We consider the TRS containing the following rules:

if(true,a,x) a (1)
if(true,b,x) b (2)
if(true,g(a),x) g(a) (3)
if(true,g(b),x) g(b) (4)
if(false,x,a) a (5)
if(false,x,b) b (6)
if(false,x,g(a)) g(a) (7)
if(false,x,g(b)) g(b) (8)
g(a) g(g(a)) (9)
g(b) a (10)
f(a,b) b (11)
f(g(g(a)),x) b (12)

The underlying signature is as follows:

{if/3, true/0, a/0, b/0, g/1, false/0, f/2}

Property / Task

Prove or disprove confluence.

Answer / Result

No.

Proof (by csi @ CoCo 2022)

1 Non-Joinable Fork

The system is not confluent due to the following forking derivations.

t0 = if(true,g(a),f7)
if(true,g(g(a)),f7)
= t1

t0 = if(true,g(a),f7)
g(a)
= t1

The two resulting terms cannot be joined for the following reason: