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 min(cons(x,l))min(l)le(x,min(l))false we get
For min(cons(x,l))xle(x,min(l))true we get
For le(x,0)false we get
For min(cons(x,nil))x we get
For min(cons(x,l))min(l)min(l)x we get
For le(s(x),s(y))le(x,y) we get
For le(0,s(x))true 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
[false] =
0 0 0
0 0 0
0 0 0
[U2(x1, x2, x3)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 0 0
0 1 0
0 0 1
· x2 +
1 0 1
0 0 1
1 1 1
· x3 +
0 0 0
0 0 0
1 0 0
[min(x1)] =
1 0 1
0 0 1
1 1 1
· x1 +
0 0 0
0 0 0
0 0 0
[U1(x1, x2, x3)] =
1 0 0
0 0 0
1 1 1
· x1 +
1 1 0
1 1 0
0 1 1
· x2 +
1 0 1
1 0 1
1 1 1
· x3 +
1 0 0
1 0 0
0 0 0
[true] =
1 0 0
0 0 0
1 0 0
[cons(x1, x2)] =
1 1 1
1 0 1
1 1 0
· x1 +
1 0 1
0 1 1
1 0 1
· x2 +
0 0 0
0 0 0
1 0 0
[nil] =
0 0 0
0 0 0
0 0 0
[s(x1)] =
1 0 0
0 0 1
0 1 1
· x1 +
0 0 0
0 0 0
1 0 0
[0] =
0 0 0
1 0 0
1 0 0
[le(x1, x2)] =
1 1 1
1 0 0
1 0 0
· x1 +
1 0 0
0 0 0
0 0 0
· x2 +
0 0 0
0 0 0
1 0 0
all of the following rules can be deleted.
U1(false,x,l) min(l) (2)
U1(true,x,l) x (3)
min(cons(x,nil)) x (5)
min(cons(x,l)) U2(min(l),x,l) (6)
le(s(x),s(y)) le(x,y) (8)
le(0,s(x)) true (9)

1.1.1.1.1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[false] =
0 0 0
0 0 0
0 0 0
[U2(x1, x2, x3)] =
1 0 0
0 1 0
0 0 0
· x1 +
1 0 1
0 0 1
0 0 0
· x2 +
1 1 1
0 1 1
1 0 0
· x3 +
0 0 0
0 0 0
0 0 0
[min(x1)] =
1 1 1
0 1 1
1 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[U1(x1, x2, x3)] =
1 0 0
0 1 0
0 1 0
· x1 +
1 0 1
0 0 1
0 0 1
· x2 +
1 0 0
1 0 0
0 0 0
· x3 +
0 0 0
1 0 0
0 0 0
[cons(x1, x2)] =
1 0 1
1 0 0
0 0 1
· x1 +
1 1 1
1 1 0
1 0 1
· x2 +
0 0 0
0 0 0
1 0 0
[0] =
0 0 0
0 0 0
1 0 0
[le(x1, x2)] =
1 0 1
1 0 0
0 0 0
· x1 +
1 1 1
1 0 0
1 1 0
· x2 +
1 0 0
0 0 0
0 0 0
all of the following rules can be deleted.
le(x,0) false (4)

1.1.1.1.1.1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[U2(x1, x2, x3)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 0 0
0 0 0
0 0 0
· x2 +
1 0 1
0 0 1
0 1 0
· x3 +
1 0 0
0 0 0
0 0 0
[min(x1)] =
1 0 1
0 0 1
0 1 0
· x1 +
0 0 0
0 0 0
0 0 0
[U1(x1, x2, x3)] =
1 1 0
0 0 0
0 0 0
· x1 +
1 0 0
1 0 0
0 0 0
· x2 +
1 0 0
1 1 0
0 0 0
· x3 +
0 0 0
0 0 0
1 0 0
[cons(x1, x2)] =
1 0 0
0 0 0
1 0 0
· x1 +
1 1 1
0 0 0
1 1 0
· x2 +
0 0 0
1 0 0
0 0 0
[le(x1, x2)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 0 1
0 0 1
1 1 0
· x2 +
0 0 0
0 0 0
0 0 0
all of the following rules can be deleted.
U2(x,x,l) min(l) (7)

1.1.1.1.1.1.1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[min(x1)] =
1 1 1
1 1 0
1 0 1
· x1 +
0 0 0
1 0 0
0 0 0
[U1(x1, x2, x3)] =
1 1 1
0 1 1
1 1 0
· x1 +
1 0 1
1 0 1
1 0 1
· x2 +
1 1 0
1 1 0
0 0 0
· x3 +
0 0 0
1 0 0
0 0 0
[cons(x1, x2)] =
1 1 1
1 0 1
1 1 0
· x1 +
1 1 0
1 1 0
1 1 1
· x2 +
1 0 0
1 0 0
1 0 0
[le(x1, x2)] =
1 1 0
0 1 0
1 0 1
· x1 +
1 0 0
0 1 0
0 0 0
· x2 +
0 0 0
1 0 0
0 0 0
all of the following rules can be deleted.
min(cons(x,l)) U1(le(x,min(l)),x,l) (1)

1.1.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.