Certification Problem                    
                
Input (COPS 292)
The rewrite relation of the following conditional TRS is considered.
| 
le(0,s(x)) | 
→ | 
true | 
| 
le(x,0) | 
→ | 
false | 
| 
le(s(x),s(y)) | 
→ | 
le(x,y) | 
| 
min(cons(x,nil)) | 
→ | 
x | 
| 
min(cons(x,l)) | 
→ | 
x | 
 | le(x,min(l)) ≈ true
 | 
| 
min(cons(x,l)) | 
→ | 
min(l) | 
 | le(x,min(l)) ≈ false
 | 
| 
min(cons(x,l)) | 
→ | 
min(l) | 
 | min(l) ≈ x
 | 
Property / Task
Prove or disprove confluence.Answer / Result
Yes.Proof (by ConCon @ CoCo 2020)
1 Quasi-reductive SDTRS where all CCPs are joinable
      The given strongly deterministic oriented 3-CTRS is quasi-reductive and all CCPs are joinable.
      1.1 Quasi-Reductive CTRS
      The given CTRS is quasi-reductive
      1.1.1 Unraveling
To prove that the CTRS is quasi-reductive, we show termination of the following 
            unraveled system.
        
| For  | 
le(0,s(x))true we get | 
| For  | 
min(cons(x,l))min(l)le(x,min(l))false we get | 
| For  | 
le(s(x),s(y))le(x,y) we get | 
| For  | 
le(x,0)false we get | 
| For  | 
min(cons(x,l))min(l)min(l)x we get | 
| For  | 
min(cons(x,l))xle(x,min(l))true we get | 
| For  | 
min(cons(x,nil))x we get | 
1.1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 
            over the naturals
| [cons(x1, x2)] | 
 =  | 
 · x1 +  · x2 + 
 | 
| [U2(x1, x2, x3)] | 
 =  | 
 · x1 +  · x2 +  · x3 + 
 | 
| [s(x1)] | 
 =  | 
 · x1 + 
 | 
| [true] | 
 =  | 
 | 
| [min(x1)] | 
 =  | 
 · x1 + 
 | 
| [0] | 
 =  | 
 | 
| [false] | 
 =  | 
 | 
| [nil] | 
 =  | 
 | 
| [U1(x1, x2, x3)] | 
 =  | 
 · x1 +  · x2 +  · x3 + 
 | 
| [le(x1, x2)] | 
 =  | 
 · x1 +  · x2 + 
 | 
                
      all of the following rules can be deleted.  
      
| 
le(0,s(x)) | 
→ | 
true | 
(1) | 
| 
min(cons(x,l)) | 
→ | 
U1(le(x,min(l)),x,l) | 
(2) | 
| 
le(s(x),s(y)) | 
→ | 
le(x,y) | 
(4) | 
| 
le(x,0) | 
→ | 
false | 
(5) | 
| 
min(cons(x,l)) | 
→ | 
U2(min(l),x,l) | 
(6) | 
| 
min(cons(x,l)) | 
→ | 
U1(le(x,min(l)),x,l) | 
(2) | 
| 
min(cons(x,nil)) | 
→ | 
x | 
(9) | 
1.1.1.1.1 Rule Removal
      Using the
      Knuth Bendix order with w0 = 1 and the following precedence and weight functions
| prec(U2) | 
= | 
1 | 
 | 
weight(U2) | 
= | 
4 | 
 | 
 | 
 | 
| prec(false) | 
= | 
0 | 
 | 
weight(false) | 
= | 
2 | 
 | 
 | 
 | 
| prec(U1) | 
= | 
1 | 
 | 
weight(U1) | 
= | 
3 | 
 | 
 | 
 | 
| prec(min) | 
= | 
0 | 
 | 
weight(min) | 
= | 
6 | 
 | 
 | 
 | 
| prec(true) | 
= | 
0 | 
 | 
weight(true) | 
= | 
2 | 
 | 
 | 
 | 
                
      all of the following rules can be deleted.  
      
| 
U1(false,x,l) | 
→ | 
min(l) | 
(3) | 
| 
U2(x,x,l) | 
→ | 
min(l) | 
(7) | 
| 
U1(true,x,l) | 
→ | 
x | 
(8) | 
1.1.1.1.1.1 R is empty 
There are no rules in the TRS. Hence, it is terminating.
1.2 All CCPs are joinable
      A CCP is joinable if it is context-joinable, infeasible, or unfeasible.
      
- 
          The
          1st
          CCP
          min(x')
          =
          min(x') | le(y',min(x'))falsemin(x')y'
          is context-joinable.
          
 
- 
          The
          2nd
          CCP
          min(nil)
          =
          x' | min(nil)x'
          is context-joinable.
          
 
- 
          The
          3rd
          CCP
          x'
          =
          min(nil) | min(nil)x'
          is context-joinable.
          
 
- 
          The
          4th
          CCP
          y'
          =
          min(x') | le(y',min(x'))truemin(x')y'
          is context-joinable.
          
 
- 
          The
          5th
          CCP
          x'
          =
          x' | le(x',min(nil))true
          is context-joinable.
          
 
- 
          The
          6th
          CCP
          x'
          =
          x' | le(x',min(nil))true
          is context-joinable.
          
 
- 
          The
          7th
          CCP
          min(x')
          =
          y' | min(x')y'le(y',min(x'))true
          is context-joinable.
          
 
- 
          The
          8th
          CCP
          min(x')
          =
          min(x') | min(x')y'le(y',min(x'))false
          is context-joinable.
          
 
- 
          The
          9th
          CCP contains
          
              the condition le(x',min(nil)) ≈ false
1.2.1 Infeasible Equation
      The equation
      
      is infeasible.
      1.2.1.1 Non-reachability
      We show non-reachability w.r.t. the underlying TRS.
      1.2.1.1.1 Non-reachability by TCAP
      Non-reachability is shown by the TCAP approximation.
    
 
- 
          The
          10th
          CCP contains
          
              the condition le(x',min(nil)) ≈ false
1.2.2 Infeasible Equation
      The equation
      
      is infeasible.
      1.2.2.1 Non-reachability
      We show non-reachability w.r.t. the underlying TRS.
      1.2.2.1.1 Non-reachability by TCAP
      Non-reachability is shown by the TCAP approximation.
    
 
- 
          The
          11th
          CCP stemming from the overlap of rules
          
          and
          
          with mgu
              
                {z/y', y/x'}
            
          is unfeasible.
          
 
- 
          The
          12th
          CCP stemming from the overlap of rules
          
          and
          
          with mgu
              
                {z/y', y/x'}
            
          is unfeasible.