Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/MYNAT_nosorts_noand_iGM)

The rewrite relation of the following TRS is considered.

active(U11(tt,M,N)) mark(U12(tt,M,N)) (1)
active(U12(tt,M,N)) mark(s(plus(N,M))) (2)
active(U21(tt,M,N)) mark(U22(tt,M,N)) (3)
active(U22(tt,M,N)) mark(plus(x(N,M),N)) (4)
active(plus(N,0)) mark(N) (5)
active(plus(N,s(M))) mark(U11(tt,M,N)) (6)
active(x(N,0)) mark(0) (7)
active(x(N,s(M))) mark(U21(tt,M,N)) (8)
mark(U11(X1,X2,X3)) active(U11(mark(X1),X2,X3)) (9)
mark(tt) active(tt) (10)
mark(U12(X1,X2,X3)) active(U12(mark(X1),X2,X3)) (11)
mark(s(X)) active(s(mark(X))) (12)
mark(plus(X1,X2)) active(plus(mark(X1),mark(X2))) (13)
mark(U21(X1,X2,X3)) active(U21(mark(X1),X2,X3)) (14)
mark(U22(X1,X2,X3)) active(U22(mark(X1),X2,X3)) (15)
mark(x(X1,X2)) active(x(mark(X1),mark(X2))) (16)
mark(0) active(0) (17)
U11(mark(X1),X2,X3) U11(X1,X2,X3) (18)
U11(X1,mark(X2),X3) U11(X1,X2,X3) (19)
U11(X1,X2,mark(X3)) U11(X1,X2,X3) (20)
U11(active(X1),X2,X3) U11(X1,X2,X3) (21)
U11(X1,active(X2),X3) U11(X1,X2,X3) (22)
U11(X1,X2,active(X3)) U11(X1,X2,X3) (23)
U12(mark(X1),X2,X3) U12(X1,X2,X3) (24)
U12(X1,mark(X2),X3) U12(X1,X2,X3) (25)
U12(X1,X2,mark(X3)) U12(X1,X2,X3) (26)
U12(active(X1),X2,X3) U12(X1,X2,X3) (27)
U12(X1,active(X2),X3) U12(X1,X2,X3) (28)
U12(X1,X2,active(X3)) U12(X1,X2,X3) (29)
s(mark(X)) s(X) (30)
s(active(X)) s(X) (31)
plus(mark(X1),X2) plus(X1,X2) (32)
plus(X1,mark(X2)) plus(X1,X2) (33)
plus(active(X1),X2) plus(X1,X2) (34)
plus(X1,active(X2)) plus(X1,X2) (35)
U21(mark(X1),X2,X3) U21(X1,X2,X3) (36)
U21(X1,mark(X2),X3) U21(X1,X2,X3) (37)
U21(X1,X2,mark(X3)) U21(X1,X2,X3) (38)
U21(active(X1),X2,X3) U21(X1,X2,X3) (39)
U21(X1,active(X2),X3) U21(X1,X2,X3) (40)
U21(X1,X2,active(X3)) U21(X1,X2,X3) (41)
U22(mark(X1),X2,X3) U22(X1,X2,X3) (42)
U22(X1,mark(X2),X3) U22(X1,X2,X3) (43)
U22(X1,X2,mark(X3)) U22(X1,X2,X3) (44)
U22(active(X1),X2,X3) U22(X1,X2,X3) (45)
U22(X1,active(X2),X3) U22(X1,X2,X3) (46)
U22(X1,X2,active(X3)) U22(X1,X2,X3) (47)
x(mark(X1),X2) x(X1,X2) (48)
x(X1,mark(X2)) x(X1,X2) (49)
x(active(X1),X2) x(X1,X2) (50)
x(X1,active(X2)) x(X1,X2) (51)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by NaTT @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
active#(U12(tt,M,N)) s#(plus(N,M)) (52)
U21#(active(X1),X2,X3) U21#(X1,X2,X3) (53)
U11#(X1,X2,active(X3)) U11#(X1,X2,X3) (54)
mark#(U21(X1,X2,X3)) active#(U21(mark(X1),X2,X3)) (55)
active#(x(N,s(M))) mark#(U21(tt,M,N)) (56)
active#(plus(N,0)) mark#(N) (57)
active#(x(N,0)) mark#(0) (58)
U11#(X1,X2,mark(X3)) U11#(X1,X2,X3) (59)
mark#(U21(X1,X2,X3)) mark#(X1) (60)
active#(U22(tt,M,N)) x#(N,M) (61)
U22#(X1,X2,mark(X3)) U22#(X1,X2,X3) (62)
plus#(mark(X1),X2) plus#(X1,X2) (63)
active#(U22(tt,M,N)) mark#(plus(x(N,M),N)) (64)
U12#(X1,active(X2),X3) U12#(X1,X2,X3) (65)
U11#(mark(X1),X2,X3) U11#(X1,X2,X3) (66)
x#(active(X1),X2) x#(X1,X2) (67)
mark#(x(X1,X2)) active#(x(mark(X1),mark(X2))) (68)
mark#(x(X1,X2)) mark#(X2) (69)
s#(mark(X)) s#(X) (70)
plus#(X1,active(X2)) plus#(X1,X2) (71)
mark#(x(X1,X2)) x#(mark(X1),mark(X2)) (72)
U12#(X1,X2,mark(X3)) U12#(X1,X2,X3) (73)
active#(x(N,s(M))) U21#(tt,M,N) (74)
U12#(X1,mark(X2),X3) U12#(X1,X2,X3) (75)
U12#(active(X1),X2,X3) U12#(X1,X2,X3) (76)
U21#(X1,X2,mark(X3)) U21#(X1,X2,X3) (77)
U21#(X1,X2,active(X3)) U21#(X1,X2,X3) (78)
U22#(X1,X2,active(X3)) U22#(X1,X2,X3) (79)
U11#(active(X1),X2,X3) U11#(X1,X2,X3) (80)
mark#(U11(X1,X2,X3)) mark#(X1) (81)
mark#(U22(X1,X2,X3)) mark#(X1) (82)
mark#(U11(X1,X2,X3)) U11#(mark(X1),X2,X3) (83)
plus#(X1,mark(X2)) plus#(X1,X2) (84)
mark#(U22(X1,X2,X3)) U22#(mark(X1),X2,X3) (85)
x#(mark(X1),X2) x#(X1,X2) (86)
mark#(s(X)) active#(s(mark(X))) (87)
U21#(mark(X1),X2,X3) U21#(X1,X2,X3) (88)
active#(plus(N,s(M))) mark#(U11(tt,M,N)) (89)
active#(U21(tt,M,N)) mark#(U22(tt,M,N)) (90)
U22#(active(X1),X2,X3) U22#(X1,X2,X3) (91)
mark#(0) active#(0) (92)
U11#(X1,active(X2),X3) U11#(X1,X2,X3) (93)
mark#(U12(X1,X2,X3)) active#(U12(mark(X1),X2,X3)) (94)
mark#(plus(X1,X2)) mark#(X1) (95)
U22#(X1,active(X2),X3) U22#(X1,X2,X3) (96)
x#(X1,mark(X2)) x#(X1,X2) (97)
U21#(X1,mark(X2),X3) U21#(X1,X2,X3) (98)
active#(U11(tt,M,N)) mark#(U12(tt,M,N)) (99)
mark#(s(X)) mark#(X) (100)
active#(U22(tt,M,N)) plus#(x(N,M),N) (101)
U12#(X1,X2,active(X3)) U12#(X1,X2,X3) (102)
mark#(tt) active#(tt) (103)
active#(U11(tt,M,N)) U12#(tt,M,N) (104)
U12#(mark(X1),X2,X3) U12#(X1,X2,X3) (105)
mark#(U11(X1,X2,X3)) active#(U11(mark(X1),X2,X3)) (106)
s#(active(X)) s#(X) (107)
mark#(U12(X1,X2,X3)) mark#(X1) (108)
mark#(x(X1,X2)) mark#(X1) (109)
x#(X1,active(X2)) x#(X1,X2) (110)
mark#(s(X)) s#(mark(X)) (111)
mark#(plus(X1,X2)) plus#(mark(X1),mark(X2)) (112)
active#(U21(tt,M,N)) U22#(tt,M,N) (113)
mark#(U12(X1,X2,X3)) U12#(mark(X1),X2,X3) (114)
mark#(U22(X1,X2,X3)) active#(U22(mark(X1),X2,X3)) (115)
mark#(U21(X1,X2,X3)) U21#(mark(X1),X2,X3) (116)
mark#(plus(X1,X2)) mark#(X2) (117)
U21#(X1,active(X2),X3) U21#(X1,X2,X3) (118)
active#(U12(tt,M,N)) plus#(N,M) (119)
active#(U12(tt,M,N)) mark#(s(plus(N,M))) (120)
U11#(X1,mark(X2),X3) U11#(X1,X2,X3) (121)
U22#(mark(X1),X2,X3) U22#(X1,X2,X3) (122)
active#(plus(N,s(M))) U11#(tt,M,N) (123)
U22#(X1,mark(X2),X3) U22#(X1,X2,X3) (124)
plus#(active(X1),X2) plus#(X1,X2) (125)
mark#(plus(X1,X2)) active#(plus(mark(X1),mark(X2))) (126)

1.1 Dependency Graph Processor

The dependency pairs are split into 8 components.