Certification Problem

Input (TPDB TRS_Standard/Various_04/14)

The rewrite relation of the following TRS is considered.

O(0) 0 (1)
+(0,x) x (2)
+(x,0) x (3)
+(O(x),O(y)) O(+(x,y)) (4)
+(O(x),I(y)) I(+(x,y)) (5)
+(I(x),O(y)) I(+(x,y)) (6)
+(I(x),I(y)) O(+(+(x,y),I(0))) (7)
+(x,+(y,z)) +(+(x,y),z) (8)
-(x,0) x (9)
-(0,x) 0 (10)
-(O(x),O(y)) O(-(x,y)) (11)
-(O(x),I(y)) I(-(-(x,y),I(1))) (12)
-(I(x),O(y)) I(-(x,y)) (13)
-(I(x),I(y)) O(-(x,y)) (14)
not(true) false (15)
not(false) true (16)
and(x,true) x (17)
and(x,false) false (18)
if(true,x,y) x (19)
if(false,x,y) y (20)
ge(O(x),O(y)) ge(x,y) (21)
ge(O(x),I(y)) not(ge(y,x)) (22)
ge(I(x),O(y)) ge(x,y) (23)
ge(I(x),I(y)) ge(x,y) (24)
ge(x,0) true (25)
ge(0,O(x)) ge(0,x) (26)
ge(0,I(x)) false (27)
Log'(0) 0 (28)
Log'(I(x)) +(Log'(x),I(0)) (29)
Log'(O(x)) if(ge(x,I(0)),+(Log'(x),I(0)),0) (30)
Log(x) -(Log'(x),I(0)) (31)
Val(L(x)) x (32)
Val(N(x,l,r)) x (33)
Min(L(x)) x (34)
Min(N(x,l,r)) Min(l) (35)
Max(L(x)) x (36)
Max(N(x,l,r)) Max(r) (37)
BS(L(x)) true (38)
BS(N(x,l,r)) and(and(ge(x,Max(l)),ge(Min(r),x)),and(BS(l),BS(r))) (39)
Size(L(x)) I(0) (40)
Size(N(x,l,r)) +(+(Size(l),Size(r)),I(1)) (41)
WB(L(x)) true (42)
WB(N(x,l,r)) and(if(ge(Size(l),Size(r)),ge(I(0),-(Size(l),Size(r))),ge(I(0),-(Size(r),Size(l)))),and(WB(l),WB(r))) (43)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by ttt2 @ termCOMP 2023)

1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[N(x1, x2, x3)] =
1 0 0
1 0 0
1 1 1
· x1 +
1 0 1
0 0 0
0 0 0
· x2 +
1 0 0
0 0 0
0 1 0
· x3 +
1 0 0
0 0 0
0 0 0
[-(x1, x2)] =
1 0 0
0 1 0
0 0 1
· x1 +
1 0 0
0 1 0
0 0 1
· x2 +
0 0 0
0 0 0
0 0 0
[Val(x1)] =
1 0 0
0 1 1
0 0 1
· x1 +
0 0 0
0 0 0
1 0 0
[false] =
0 0 0
0 0 0
0 0 0
[O(x1)] =
1 0 0
0 0 1
1 1 0
· x1 +
0 0 0
0 0 0
0 0 0
[I(x1)] =
1 0 0
0 0 1
1 1 0
· x1 +
0 0 0
0 0 0
0 0 0
[l] =
0 0 0
0 0 0
1 0 0
[BS(x1)] =
1 0 1
1 1 1
0 0 0
· x1 +
0 0 0
0 0 0
1 0 0
[Min(x1)] =
1 0 0
0 1 0
1 0 1
· x1 +
0 0 0
0 0 0
0 0 0
[r] =
0 0 0
1 0 0
0 0 0
[Size(x1)] =
1 0 0
1 1 0
0 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[1] =
0 0 0
0 0 0
0 0 0
[if(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 0
0 1 0
0 0 1
· x3 +
0 0 0
0 0 0
0 0 0
[0] =
0 0 0
0 0 0
0 0 0
[not(x1)] =
1 0 0
0 0 0
0 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[Max(x1)] =
1 0 1
1 0 0
1 0 1
· x1 +
0 0 0
0 0 0
0 0 0
[L(x1)] =
1 1 0
0 1 0
0 0 1
· x1 +
0 0 0
0 0 0
0 0 0
[Log'(x1)] =
1 1 1
0 0 0
0 0 0
· x1 +
1 0 0
0 0 0
0 0 0
[WB(x1)] =
1 1 1
0 0 1
0 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[ge(x1, x2)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 0 0
1 0 0
0 0 0
· x2 +
0 0 0
0 0 0
0 0 0
[and(x1, x2)] =
1 0 1
1 1 0
0 0 1
· x1 +
1 0 0
0 0 0
0 0 0
· x2 +
0 0 0
0 0 0
0 0 0
[Log(x1)] =
1 1 1
0 0 0
0 0 0
· x1 +
1 0 0
0 0 0
1 0 0
[true] =
0 0 0
0 0 0
0 0 0
[+(x1, x2)] =
1 0 0
0 1 0
0 0 1
· x1 +
1 0 0
0 1 0
0 0 1
· x2 +
0 0 0
0 0 0
0 0 0
all of the following rules can be deleted.
Log'(0) 0 (28)
Val(N(x,l,r)) x (33)
Min(N(x,l,r)) Min(l) (35)
Max(N(x,l,r)) Max(r) (37)
Size(N(x,l,r)) +(+(Size(l),Size(r)),I(1)) (41)
WB(N(x,l,r)) and(if(ge(Size(l),Size(r)),ge(I(0),-(Size(l),Size(r))),ge(I(0),-(Size(r),Size(l)))),and(WB(l),WB(r))) (43)

1.1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[N(x1, x2, x3)] =
1 0 1
0 1 1
1 0 1
· x1 +
1 0 0
0 0 0
0 0 0
· x2 +
1 0 0
0 1 1
0 1 1
· x3 +
0 0 0
0 0 0
1 0 0
[-(x1, x2)] =
1 0 0
0 1 0
0 0 1
· x1 +
1 0 0
0 0 0
0 0 1
· x2 +
0 0 0
0 0 0
0 0 0
[Val(x1)] =
1 1 0
0 0 1
0 1 0
· x1 +
1 0 0
0 0 0
1 0 0
[false] =
0 0 0
0 0 0
0 0 0
[O(x1)] =
1 0 0
0 0 0
1 0 1
· x1 +
0 0 0
0 0 0
0 0 0
[I(x1)] =
1 0 0
0 0 0
1 0 1
· x1 +
0 0 0
0 0 0
0 0 0
[l] =
0 0 0
0 0 0
0 0 0
[BS(x1)] =
1 0 1
0 1 0
0 1 0
· x1 +
0 0 0
0 0 0
1 0 0
[Min(x1)] =
1 0 0
1 0 1
0 1 0
· x1 +
0 0 0
0 0 0
0 0 0
[r] =
0 0 0
1 0 0
1 0 0
[Size(x1)] =
1 0 0
0 1 0
1 0 0
· x1 +
1 0 0
0 0 0
1 0 0
[1] =
0 0 0
0 0 0
0 0 0
[if(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 0
0 1 0
0 0 1
· x3 +
0 0 0
0 0 0
0 0 0
[0] =
0 0 0
0 0 0
0 0 0
[not(x1)] =
1 0 0
0 0 0
0 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[Max(x1)] =
1 0 1
1 1 1
0 1 0
· x1 +
0 0 0
1 0 0
0 0 0
[L(x1)] =
1 0 0
1 0 1
0 1 1
· x1 +
0 0 0
0 0 0
0 0 0
[Log'(x1)] =
1 0 1
0 0 0
0 0 0
· x1 +
1 0 0
1 0 0
0 0 0
[WB(x1)] =
1 0 0
1 0 1
0 0 0
· x1 +
0 0 0
1 0 0
0 0 0
[ge(x1, x2)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 0 0
0 0 1
0 0 1
· x2 +
0 0 0
0 0 0
0 0 0
[and(x1, x2)] =
1 0 1
0 1 0
0 0 1
· x1 +
1 1 0
0 0 0
0 0 1
· x2 +
0 0 0
0 0 0
0 0 0
[Log(x1)] =
1 1 1
1 1 0
0 0 0
· x1 +
1 0 0
1 0 0
0 0 0
[true] =
0 0 0
0 0 0
0 0 0
[+(x1, x2)] =
1 0 0
0 1 0
0 0 1
· x1 +
1 0 0
1 1 0
0 0 1
· x2 +
0 0 0
0 0 0
0 0 0
all of the following rules can be deleted.
Val(L(x)) x (32)
Size(L(x)) I(0) (40)

1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
+#(O(x),O(y)) +#(x,y) (44)
+#(O(x),O(y)) O#(+(x,y)) (45)
+#(O(x),I(y)) +#(x,y) (46)
+#(I(x),O(y)) +#(x,y) (47)
+#(I(x),I(y)) +#(x,y) (48)
+#(I(x),I(y)) +#(+(x,y),I(0)) (49)
+#(I(x),I(y)) O#(+(+(x,y),I(0))) (50)
+#(x,+(y,z)) +#(x,y) (51)
+#(x,+(y,z)) +#(+(x,y),z) (52)
-#(O(x),O(y)) -#(x,y) (53)
-#(O(x),O(y)) O#(-(x,y)) (54)
-#(O(x),I(y)) -#(x,y) (55)
-#(O(x),I(y)) -#(-(x,y),I(1)) (56)
-#(I(x),O(y)) -#(x,y) (57)
-#(I(x),I(y)) -#(x,y) (58)
-#(I(x),I(y)) O#(-(x,y)) (59)
ge#(O(x),O(y)) ge#(x,y) (60)
ge#(O(x),I(y)) ge#(y,x) (61)
ge#(O(x),I(y)) not#(ge(y,x)) (62)
ge#(I(x),O(y)) ge#(x,y) (63)
ge#(I(x),I(y)) ge#(x,y) (64)
ge#(0,O(x)) ge#(0,x) (65)
Log'#(I(x)) Log'#(x) (66)
Log'#(I(x)) +#(Log'(x),I(0)) (67)
Log'#(O(x)) Log'#(x) (68)
Log'#(O(x)) +#(Log'(x),I(0)) (69)
Log'#(O(x)) ge#(x,I(0)) (70)
Log'#(O(x)) if#(ge(x,I(0)),+(Log'(x),I(0)),0) (71)
Log#(x) Log'#(x) (72)
Log#(x) -#(Log'(x),I(0)) (73)
BS#(N(x,l,r)) BS#(r) (74)
BS#(N(x,l,r)) BS#(l) (75)
BS#(N(x,l,r)) and#(BS(l),BS(r)) (76)
BS#(N(x,l,r)) Min#(r) (77)
BS#(N(x,l,r)) ge#(Min(r),x) (78)
BS#(N(x,l,r)) Max#(l) (79)
BS#(N(x,l,r)) ge#(x,Max(l)) (80)
BS#(N(x,l,r)) and#(ge(x,Max(l)),ge(Min(r),x)) (81)
BS#(N(x,l,r)) and#(and(ge(x,Max(l)),ge(Min(r),x)),and(BS(l),BS(r))) (82)

1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 5 components.