Certification Problem

Input (COPS 493)

The rewrite relation of the following conditional TRS is considered.

eq(0,0) → true
eq(s(x),0) → false
eq(0,s(y)) → false
eq(s(x),s(y)) → eq(x,y)
lte(0,y) → true
lte(s(x),0) → false
lte(s(x),s(y)) → lte(x,y)
m(0,s(y)) → 0
m(x,0) → x
m(s(x),s(y)) → m(x,y)
mod(0,y) → 0
mod(s(x),0) → 0
mod(s(x),s(y)) → mod(m(x,y),s(y)) | lte(y,x) ≈ true
mod(s(x),s(y)) → s(x) | lte(y,x) ≈ false
filter(n,r,nil) → nil
filter(n,r,cons(x,xs)) → cons(x,filter(n,r,xs)) | mod(x,n) ≈ r', eq(r,r') ≈ true
filter(n,r,cons(x,xs)) → filter(n,r,xs) | mod(x,n) ≈ r', eq(r,r') ≈ false

Property / Task

Prove or disprove confluence.

Answer / Result

Yes.

Proof (by ConCon @ CoCo 2020)

1 Inlining of Conditions

Inlining of conditions results in the following transformed CTRS having the same multistep rewrite relation.
eq(0,0) → true
eq(s(x),0) → false
eq(0,s(y)) → false
eq(s(x),s(y)) → eq(x,y)
lte(0,y) → true
lte(s(x),0) → false
lte(s(x),s(y)) → lte(x,y)
m(0,s(y)) → 0
m(x,0) → x
m(s(x),s(y)) → m(x,y)
mod(0,y) → 0
mod(s(x),0) → 0
mod(s(x),s(y)) → mod(m(x,y),s(y)) | lte(y,x) ≈ true
mod(s(x),s(y)) → s(x) | lte(y,x) ≈ false
filter(n,r,nil) → nil
filter(n,r,cons(x,xs)) → cons(x,filter(n,r,xs)) | eq(r,mod(x,n)) ≈ true
filter(n,r,cons(x,xs)) → filter(n,r,xs) | eq(r,mod(x,n)) ≈ false

1.1 Almost-orthogonal modulo infeasibility

The given (extended) properly oriented, right-stable, oriented 3-CTRS is almost-orthogonal modulo infeasibility, since all its conditional critical pairs are infeasible.