Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/MYNAT_nosorts_noand_GM)

The rewrite relation of the following TRS is considered.

a__U11(tt,M,N) a__U12(tt,M,N) (1)
a__U12(tt,M,N) s(a__plus(mark(N),mark(M))) (2)
a__U21(tt,M,N) a__U22(tt,M,N) (3)
a__U22(tt,M,N) a__plus(a__x(mark(N),mark(M)),mark(N)) (4)
a__plus(N,0) mark(N) (5)
a__plus(N,s(M)) a__U11(tt,M,N) (6)
a__x(N,0) 0 (7)
a__x(N,s(M)) a__U21(tt,M,N) (8)
mark(U11(X1,X2,X3)) a__U11(mark(X1),X2,X3) (9)
mark(U12(X1,X2,X3)) a__U12(mark(X1),X2,X3) (10)
mark(plus(X1,X2)) a__plus(mark(X1),mark(X2)) (11)
mark(U21(X1,X2,X3)) a__U21(mark(X1),X2,X3) (12)
mark(U22(X1,X2,X3)) a__U22(mark(X1),X2,X3) (13)
mark(x(X1,X2)) a__x(mark(X1),mark(X2)) (14)
mark(tt) tt (15)
mark(s(X)) s(mark(X)) (16)
mark(0) 0 (17)
a__U11(X1,X2,X3) U11(X1,X2,X3) (18)
a__U12(X1,X2,X3) U12(X1,X2,X3) (19)
a__plus(X1,X2) plus(X1,X2) (20)
a__U21(X1,X2,X3) U21(X1,X2,X3) (21)
a__U22(X1,X2,X3) U22(X1,X2,X3) (22)
a__x(X1,X2) x(X1,X2) (23)

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.
a__U12#(tt,M,N) mark#(N) (24)
mark#(U22(X1,X2,X3)) mark#(X1) (25)
mark#(U21(X1,X2,X3)) mark#(X1) (26)
mark#(plus(X1,X2)) a__plus#(mark(X1),mark(X2)) (27)
mark#(plus(X1,X2)) mark#(X2) (28)
a__U22#(tt,M,N) a__plus#(a__x(mark(N),mark(M)),mark(N)) (29)
a__x#(N,s(M)) a__U21#(tt,M,N) (30)
mark#(U21(X1,X2,X3)) a__U21#(mark(X1),X2,X3) (31)
mark#(x(X1,X2)) a__x#(mark(X1),mark(X2)) (32)
a__U22#(tt,M,N) a__x#(mark(N),mark(M)) (33)
mark#(s(X)) mark#(X) (34)
mark#(U11(X1,X2,X3)) a__U11#(mark(X1),X2,X3) (35)
mark#(plus(X1,X2)) mark#(X1) (36)
mark#(U22(X1,X2,X3)) a__U22#(mark(X1),X2,X3) (37)
a__U22#(tt,M,N) mark#(N) (38)
a__U11#(tt,M,N) a__U12#(tt,M,N) (39)
a__U22#(tt,M,N) mark#(M) (40)
mark#(U12(X1,X2,X3)) a__U12#(mark(X1),X2,X3) (41)
a__plus#(N,0) mark#(N) (42)
a__U22#(tt,M,N) mark#(N) (38)
a__U21#(tt,M,N) a__U22#(tt,M,N) (43)
mark#(x(X1,X2)) mark#(X2) (44)
a__U12#(tt,M,N) mark#(M) (45)
a__U12#(tt,M,N) a__plus#(mark(N),mark(M)) (46)
mark#(U11(X1,X2,X3)) mark#(X1) (47)
mark#(x(X1,X2)) mark#(X1) (48)
a__plus#(N,s(M)) a__U11#(tt,M,N) (49)
mark#(U12(X1,X2,X3)) mark#(X1) (50)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.