Certification Problem

Input (TPDB TRS_Innermost/Transformed_CSR_innermost_04/Ex3_3_25_Bor03_iGM)

The rewrite relation of the following TRS is considered.

active(app(nil,YS)) mark(YS) (1)
active(app(cons(X,XS),YS)) mark(cons(X,app(XS,YS))) (2)
active(from(X)) mark(cons(X,from(s(X)))) (3)
active(zWadr(nil,YS)) mark(nil) (4)
active(zWadr(XS,nil)) mark(nil) (5)
active(zWadr(cons(X,XS),cons(Y,YS))) mark(cons(app(Y,cons(X,nil)),zWadr(XS,YS))) (6)
active(prefix(L)) mark(cons(nil,zWadr(L,prefix(L)))) (7)
mark(app(X1,X2)) active(app(mark(X1),mark(X2))) (8)
mark(nil) active(nil) (9)
mark(cons(X1,X2)) active(cons(mark(X1),X2)) (10)
mark(from(X)) active(from(mark(X))) (11)
mark(s(X)) active(s(mark(X))) (12)
mark(zWadr(X1,X2)) active(zWadr(mark(X1),mark(X2))) (13)
mark(prefix(X)) active(prefix(mark(X))) (14)
app(mark(X1),X2) app(X1,X2) (15)
app(X1,mark(X2)) app(X1,X2) (16)
app(active(X1),X2) app(X1,X2) (17)
app(X1,active(X2)) app(X1,X2) (18)
cons(mark(X1),X2) cons(X1,X2) (19)
cons(X1,mark(X2)) cons(X1,X2) (20)
cons(active(X1),X2) cons(X1,X2) (21)
cons(X1,active(X2)) cons(X1,X2) (22)
from(mark(X)) from(X) (23)
from(active(X)) from(X) (24)
s(mark(X)) s(X) (25)
s(active(X)) s(X) (26)
zWadr(mark(X1),X2) zWadr(X1,X2) (27)
zWadr(X1,mark(X2)) zWadr(X1,X2) (28)
zWadr(active(X1),X2) zWadr(X1,X2) (29)
zWadr(X1,active(X2)) zWadr(X1,X2) (30)
prefix(mark(X)) prefix(X) (31)
prefix(active(X)) prefix(X) (32)
The evaluation strategy is innermost.

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
active#(app(nil,YS)) mark#(YS) (33)
active#(app(cons(X,XS),YS)) mark#(cons(X,app(XS,YS))) (34)
active#(app(cons(X,XS),YS)) cons#(X,app(XS,YS)) (35)
active#(app(cons(X,XS),YS)) app#(XS,YS) (36)
active#(from(X)) mark#(cons(X,from(s(X)))) (37)
active#(from(X)) cons#(X,from(s(X))) (38)
active#(from(X)) from#(s(X)) (39)
active#(from(X)) s#(X) (40)
active#(zWadr(nil,YS)) mark#(nil) (41)
active#(zWadr(XS,nil)) mark#(nil) (42)
active#(zWadr(cons(X,XS),cons(Y,YS))) mark#(cons(app(Y,cons(X,nil)),zWadr(XS,YS))) (43)
active#(zWadr(cons(X,XS),cons(Y,YS))) cons#(app(Y,cons(X,nil)),zWadr(XS,YS)) (44)
active#(zWadr(cons(X,XS),cons(Y,YS))) app#(Y,cons(X,nil)) (45)
active#(zWadr(cons(X,XS),cons(Y,YS))) cons#(X,nil) (46)
active#(zWadr(cons(X,XS),cons(Y,YS))) zWadr#(XS,YS) (47)
active#(prefix(L)) mark#(cons(nil,zWadr(L,prefix(L)))) (48)
active#(prefix(L)) cons#(nil,zWadr(L,prefix(L))) (49)
active#(prefix(L)) zWadr#(L,prefix(L)) (50)
mark#(app(X1,X2)) active#(app(mark(X1),mark(X2))) (51)
mark#(app(X1,X2)) app#(mark(X1),mark(X2)) (52)
mark#(app(X1,X2)) mark#(X1) (53)
mark#(app(X1,X2)) mark#(X2) (54)
mark#(nil) active#(nil) (55)
mark#(cons(X1,X2)) active#(cons(mark(X1),X2)) (56)
mark#(cons(X1,X2)) cons#(mark(X1),X2) (57)
mark#(cons(X1,X2)) mark#(X1) (58)
mark#(from(X)) active#(from(mark(X))) (59)
mark#(from(X)) from#(mark(X)) (60)
mark#(from(X)) mark#(X) (61)
mark#(s(X)) active#(s(mark(X))) (62)
mark#(s(X)) s#(mark(X)) (63)
mark#(s(X)) mark#(X) (64)
mark#(zWadr(X1,X2)) active#(zWadr(mark(X1),mark(X2))) (65)
mark#(zWadr(X1,X2)) zWadr#(mark(X1),mark(X2)) (66)
mark#(zWadr(X1,X2)) mark#(X1) (67)
mark#(zWadr(X1,X2)) mark#(X2) (68)
mark#(prefix(X)) active#(prefix(mark(X))) (69)
mark#(prefix(X)) prefix#(mark(X)) (70)
mark#(prefix(X)) mark#(X) (71)
app#(mark(X1),X2) app#(X1,X2) (72)
app#(X1,mark(X2)) app#(X1,X2) (73)
app#(active(X1),X2) app#(X1,X2) (74)
app#(X1,active(X2)) app#(X1,X2) (75)
cons#(mark(X1),X2) cons#(X1,X2) (76)
cons#(X1,mark(X2)) cons#(X1,X2) (77)
cons#(active(X1),X2) cons#(X1,X2) (78)
cons#(X1,active(X2)) cons#(X1,X2) (79)
from#(mark(X)) from#(X) (80)
from#(active(X)) from#(X) (81)
s#(mark(X)) s#(X) (82)
s#(active(X)) s#(X) (83)
zWadr#(mark(X1),X2) zWadr#(X1,X2) (84)
zWadr#(X1,mark(X2)) zWadr#(X1,X2) (85)
zWadr#(active(X1),X2) zWadr#(X1,X2) (86)
zWadr#(X1,active(X2)) zWadr#(X1,X2) (87)
prefix#(mark(X)) prefix#(X) (88)
prefix#(active(X)) prefix#(X) (89)

1.1 Dependency Graph Processor

The dependency pairs are split into 7 components.