Certification Problem                    
                
Input (COPS 3)
We consider the TRS containing the following rules:
| 
f(a(x),x) | 
→ | 
f(x,a(x)) | 
(1) | 
| 
f(b(x),x) | 
→ | 
f(x,b(x)) | 
(2) | 
| 
g(b(x),y) | 
→ | 
g(a(a(x)),y) | 
(3) | 
| 
g(c(x),y) | 
→ | 
y | 
(4) | 
| 
a(x) | 
→ | 
b(x) | 
(5) | 
The underlying signature is as follows:
{f/2, a/1, b/1, g/2, c/1}Property / Task
Prove or disprove confluence.Answer / Result
Yes.Proof (by csi @ CoCo 2020)
1 Persistent Decomposition (Many-Sorted)
Confluence
      is proven, because
      the maximal
      systems 
      induced by the sorts in the following many-sorted sort attachment
      are 
      confluent.
      
| f | 
: | 
2 ⨯ 2 → 0 | 
| a | 
: | 
2 → 2 | 
| b | 
: | 
2 → 2 | 
| g | 
: | 
2 ⨯ 1 → 1 | 
| c | 
: | 
3 → 2 | 
      The subsystems are(1.1)
| 
f(a(x),x) | 
→ | 
f(x,a(x)) | 
(1) | 
| 
f(b(x),x) | 
→ | 
f(x,b(x)) | 
(2) | 
| 
a(x) | 
→ | 
b(x) | 
(5) | 
(1.2)
| 
g(b(x),y) | 
→ | 
g(a(a(x)),y) | 
(3) | 
| 
g(c(x),y) | 
→ | 
y | 
(4) | 
| 
a(x) | 
→ | 
b(x) | 
(5) | 
1.1 Redundant Rules Transformation
      To prove that the TRS is (non-)confluent, we show (non-)confluence of the following
      modified system:
      
| 
f(b(x),x) | 
→ | 
f(x,b(x)) | 
(2) | 
| 
a(x) | 
→ | 
b(x) | 
(5) | 
      All redundant rules that were added or removed can be
      simulated in 4 steps
      .
1.1.1 Locally confluent and terminating
        Confluence is proven by showing local confluence and termination.
        1.1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over the naturals
| [b(x1)] | 
 =  | 
1 · x1 + 0 | 
| [f(x1, x2)] | 
 =  | 
1 · x1 + 1 · x2 + 6 | 
| [a(x1)] | 
 =  | 
1 · x1 + 1 | 
                
      all of the following rules can be deleted.  
      
1.1.1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over the naturals
| [b(x1)] | 
 =  | 
4 · x1 + 5 | 
| [f(x1, x2)] | 
 =  | 
3 · x1 + 2 · x2 + 0 | 
                
      all of the following rules can be deleted.  
      
| 
f(b(x),x) | 
→ | 
f(x,b(x)) | 
(2) | 
1.1.1.1.1.1 R is empty 
There are no rules in the TRS. Hence, it is terminating.
1.1.1.2 Local Confluence Proof
                All critical pairs are joinable which can be seen by computing normal forms of all critical pairs.
            1.2 Redundant Rules Transformation
      To prove that the TRS is (non-)confluent, we show (non-)confluence of the following
      modified system:
      
| 
a(x) | 
→ | 
b(x) | 
(5) | 
| 
g(c(x),y) | 
→ | 
y | 
(4) | 
| 
g(b(x),y) | 
→ | 
g(a(a(x)),y) | 
(3) | 
| 
g(b(x),y) | 
→ | 
g(a(b(x)),y) | 
(6) | 
| 
g(b(x),y) | 
→ | 
g(b(a(x)),y) | 
(7) | 
      All redundant rules that were added or removed can be
      simulated in 2 steps
      .
1.2.1 Critical Pair Closing System
Confluence is proven using the following terminating critical-pair-closing-system R:
1.2.1.1 Rule Removal
      Using the
      linear polynomial interpretation over the naturals
| [b(x1)] | 
 =  | 
4 · x1 + 0 | 
| [a(x1)] | 
 =  | 
4 · x1 + 1 | 
                
      all of the following rules can be deleted.  
      
1.2.1.1.1 R is empty 
There are no rules in the TRS. Hence, it is terminating.