Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex4_7_37_Bor03_GM)

The rewrite relation of the following TRS is considered.

a__from(X) cons(mark(X),from(s(X))) (1)
a__sel(0,cons(X,XS)) mark(X) (2)
a__sel(s(N),cons(X,XS)) a__sel(mark(N),mark(XS)) (3)
a__minus(X,0) 0 (4)
a__minus(s(X),s(Y)) a__minus(mark(X),mark(Y)) (5)
a__quot(0,s(Y)) 0 (6)
a__quot(s(X),s(Y)) s(a__quot(a__minus(mark(X),mark(Y)),s(mark(Y)))) (7)
a__zWquot(XS,nil) nil (8)
a__zWquot(nil,XS) nil (9)
a__zWquot(cons(X,XS),cons(Y,YS)) cons(a__quot(mark(X),mark(Y)),zWquot(XS,YS)) (10)
mark(from(X)) a__from(mark(X)) (11)
mark(sel(X1,X2)) a__sel(mark(X1),mark(X2)) (12)
mark(minus(X1,X2)) a__minus(mark(X1),mark(X2)) (13)
mark(quot(X1,X2)) a__quot(mark(X1),mark(X2)) (14)
mark(zWquot(X1,X2)) a__zWquot(mark(X1),mark(X2)) (15)
mark(cons(X1,X2)) cons(mark(X1),X2) (16)
mark(s(X)) s(mark(X)) (17)
mark(0) 0 (18)
mark(nil) nil (19)
a__from(X) from(X) (20)
a__sel(X1,X2) sel(X1,X2) (21)
a__minus(X1,X2) minus(X1,X2) (22)
a__quot(X1,X2) quot(X1,X2) (23)
a__zWquot(X1,X2) zWquot(X1,X2) (24)

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.
mark#(minus(X1,X2)) a__minus#(mark(X1),mark(X2)) (25)
a__from#(X) mark#(X) (26)
mark#(from(X)) mark#(X) (27)
a__quot#(s(X),s(Y)) a__quot#(a__minus(mark(X),mark(Y)),s(mark(Y))) (28)
mark#(sel(X1,X2)) mark#(X2) (29)
mark#(quot(X1,X2)) mark#(X1) (30)
mark#(s(X)) mark#(X) (31)
a__minus#(s(X),s(Y)) mark#(Y) (32)
mark#(quot(X1,X2)) mark#(X2) (33)
mark#(zWquot(X1,X2)) mark#(X1) (34)
a__quot#(s(X),s(Y)) a__minus#(mark(X),mark(Y)) (35)
mark#(zWquot(X1,X2)) a__zWquot#(mark(X1),mark(X2)) (36)
mark#(cons(X1,X2)) mark#(X1) (37)
a__zWquot#(cons(X,XS),cons(Y,YS)) mark#(Y) (38)
mark#(sel(X1,X2)) a__sel#(mark(X1),mark(X2)) (39)
mark#(quot(X1,X2)) a__quot#(mark(X1),mark(X2)) (40)
mark#(from(X)) a__from#(mark(X)) (41)
a__sel#(s(N),cons(X,XS)) mark#(XS) (42)
a__minus#(s(X),s(Y)) mark#(X) (43)
a__sel#(s(N),cons(X,XS)) mark#(N) (44)
a__quot#(s(X),s(Y)) mark#(Y) (45)
mark#(zWquot(X1,X2)) mark#(X2) (46)
a__zWquot#(cons(X,XS),cons(Y,YS)) mark#(X) (47)
a__sel#(s(N),cons(X,XS)) a__sel#(mark(N),mark(XS)) (48)
a__minus#(s(X),s(Y)) a__minus#(mark(X),mark(Y)) (49)
a__quot#(s(X),s(Y)) mark#(Y) (45)
mark#(minus(X1,X2)) mark#(X1) (50)
a__sel#(0,cons(X,XS)) mark#(X) (51)
mark#(sel(X1,X2)) mark#(X1) (52)
a__quot#(s(X),s(Y)) mark#(X) (53)
mark#(minus(X1,X2)) mark#(X2) (54)
a__zWquot#(cons(X,XS),cons(Y,YS)) a__quot#(mark(X),mark(Y)) (55)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.