Certification Problem

Input (TPDB TRS_Equational/Mixed_AC/BAG_complete)

The rewrite relation of the following equational TRS is considered.

union(X,empty) X (1)
union(empty,X) X (2)
0(z) z (3)
U101(tt,X,Y) 0(mult(X,Y)) (4)
U11(tt,V1) U12(isBin(V1)) (5)
U111(tt,X,Y) plus(0(mult(X,Y)),Y) (6)
U12(tt) tt (7)
U121(tt,X) X (8)
U131(tt,X,Y) 0(plus(X,Y)) (9)
U141(tt,X,Y) 1(plus(X,Y)) (10)
U151(tt,X,Y) 0(plus(plus(X,Y),1(z))) (11)
U161(tt,X) X (12)
U171(tt,A,B) mult(prod(A),prod(B)) (13)
U181(tt,X) X (14)
U191(tt,A,B) plus(sum(A),sum(B)) (15)
U21(tt,V1,V2) U22(isBag(V1),V2) (16)
U22(tt,V2) U23(isBag(V2)) (17)
U23(tt) tt (18)
U31(tt,V1) U32(isBin(V1)) (19)
U32(tt) tt (20)
U41(tt,V1) U42(isBin(V1)) (21)
U42(tt) tt (22)
U51(tt,V1,V2) U52(isBin(V1),V2) (23)
U52(tt,V2) U53(isBin(V2)) (24)
U53(tt) tt (25)
U61(tt,V1,V2) U62(isBin(V1),V2) (26)
U62(tt,V2) U63(isBin(V2)) (27)
U63(tt) tt (28)
U71(tt,V1) U72(isBag(V1)) (29)
U72(tt) tt (30)
U81(tt,V1) U82(isBag(V1)) (31)
U82(tt) tt (32)
U91(tt) z (33)
and(tt,X) X (34)
isBag(empty) tt (35)
isBag(singl(V1)) U11(isBinKind(V1),V1) (36)
isBag(union(V1,V2)) U21(and(isBagKind(V1),isBagKind(V2)),V1,V2) (37)
isBagKind(empty) tt (38)
isBagKind(singl(V1)) isBinKind(V1) (39)
isBagKind(union(V1,V2)) and(isBagKind(V1),isBagKind(V2)) (40)
isBin(z) tt (41)
isBin(0(V1)) U31(isBinKind(V1),V1) (42)
isBin(1(V1)) U41(isBinKind(V1),V1) (43)
isBin(mult(V1,V2)) U51(and(isBinKind(V1),isBinKind(V2)),V1,V2) (44)
isBin(plus(V1,V2)) U61(and(isBinKind(V1),isBinKind(V2)),V1,V2) (45)
isBin(prod(V1)) U71(isBagKind(V1),V1) (46)
isBin(sum(V1)) U81(isBagKind(V1),V1) (47)
isBinKind(z) tt (48)
isBinKind(0(V1)) isBinKind(V1) (49)
isBinKind(1(V1)) isBinKind(V1) (50)
isBinKind(mult(V1,V2)) and(isBinKind(V1),isBinKind(V2)) (51)
isBinKind(plus(V1,V2)) and(isBinKind(V1),isBinKind(V2)) (52)
isBinKind(prod(V1)) isBagKind(V1) (53)
isBinKind(sum(V1)) isBagKind(V1) (54)
mult(z,X) U91(and(isBin(X),isBinKind(X))) (55)
mult(0(X),Y) U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) (56)
mult(1(X),Y) U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) (57)
plus(z,X) U121(and(isBin(X),isBinKind(X)),X) (58)
plus(0(X),0(Y)) U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) (59)
plus(0(X),1(Y)) U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) (60)
plus(1(X),1(Y)) U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y) (61)
prod(empty) 1(z) (62)
prod(singl(X)) U161(and(isBin(X),isBinKind(X)),X) (63)
prod(union(A,B)) U171(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) (64)
sum(empty) 0(z) (65)
sum(singl(X)) U181(and(isBin(X),isBinKind(X)),X) (66)
sum(union(A,B)) U191(and(and(isBag(A),isBagKind(A)),and(isBag(B),isBagKind(B))),A,B) (67)

Associative symbols: mult, plus, union

Commutative symbols: mult, plus, union

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 AC Dependency Pair Transformation

The following set of (strict) dependency pairs is constructed for the TRS.

There are 205 ruless (increase limit for explicit display).

The extended rules of the TRS
mult(mult(z,X),ext) mult(U91(and(isBin(X),isBinKind(X))),ext) (288)
mult(mult(0(X),Y),ext) mult(U101(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) (289)
mult(mult(1(X),Y),ext) mult(U111(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) (290)
plus(plus(z,X),ext) plus(U121(and(isBin(X),isBinKind(X)),X),ext) (291)
plus(plus(0(X),0(Y)),ext) plus(U131(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) (292)
plus(plus(0(X),1(Y)),ext) plus(U141(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) (293)
plus(plus(1(X),1(Y)),ext) plus(U151(and(and(isBin(X),isBinKind(X)),and(isBin(Y),isBinKind(Y))),X,Y),ext) (294)
union(union(X,empty),ext) union(X,ext) (295)
union(union(empty,X),ext) union(X,ext) (296)
give rise to even more dependency pairs (by sharping the root symbols of each rule). Finiteness for all DPs in combination with the equational DPs is proven as follows.

1.1 Dependency Graph Processor

The dependency pairs are split into 7 components.