Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex3_2_Luc97_FR)

The rewrite relation of the following TRS is considered.

dbl(0) 0 (1)
dbl(s(X)) s(n__s(n__dbl(activate(X)))) (2)
dbls(nil) nil (3)
dbls(cons(X,Y)) cons(n__dbl(activate(X)),n__dbls(activate(Y))) (4)
sel(0,cons(X,Y)) activate(X) (5)
sel(s(X),cons(Y,Z)) sel(activate(X),activate(Z)) (6)
indx(nil,X) nil (7)
indx(cons(X,Y),Z) cons(n__sel(activate(X),activate(Z)),n__indx(activate(Y),activate(Z))) (8)
from(X) cons(activate(X),n__from(n__s(activate(X)))) (9)
s(X) n__s(X) (10)
dbl(X) n__dbl(X) (11)
dbls(X) n__dbls(X) (12)
sel(X1,X2) n__sel(X1,X2) (13)
indx(X1,X2) n__indx(X1,X2) (14)
from(X) n__from(X) (15)
activate(n__s(X)) s(X) (16)
activate(n__dbl(X)) dbl(activate(X)) (17)
activate(n__dbls(X)) dbls(activate(X)) (18)
activate(n__sel(X1,X2)) sel(activate(X1),activate(X2)) (19)
activate(n__indx(X1,X2)) indx(activate(X1),X2) (20)
activate(n__from(X)) from(X) (21)
activate(X) X (22)

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.
dbl#(s(X)) activate#(X) (23)
from#(X) activate#(X) (24)
activate#(n__sel(X1,X2)) sel#(activate(X1),activate(X2)) (25)
activate#(n__indx(X1,X2)) activate#(X1) (26)
activate#(n__dbl(X)) dbl#(activate(X)) (27)
activate#(n__dbls(X)) dbls#(activate(X)) (28)
dbls#(cons(X,Y)) activate#(Y) (29)
activate#(n__dbl(X)) activate#(X) (30)
activate#(n__sel(X1,X2)) activate#(X1) (31)
activate#(n__dbls(X)) activate#(X) (32)
indx#(cons(X,Y),Z) activate#(Y) (33)
from#(X) activate#(X) (24)
sel#(0,cons(X,Y)) activate#(X) (34)
sel#(s(X),cons(Y,Z)) activate#(Z) (35)
dbls#(cons(X,Y)) activate#(X) (36)
activate#(n__s(X)) s#(X) (37)
indx#(cons(X,Y),Z) activate#(Z) (38)
indx#(cons(X,Y),Z) activate#(Z) (38)
activate#(n__from(X)) from#(X) (39)
sel#(s(X),cons(Y,Z)) sel#(activate(X),activate(Z)) (40)
dbl#(s(X)) s#(n__s(n__dbl(activate(X)))) (41)
activate#(n__indx(X1,X2)) indx#(activate(X1),X2) (42)
activate#(n__sel(X1,X2)) activate#(X2) (43)
sel#(s(X),cons(Y,Z)) activate#(X) (44)
indx#(cons(X,Y),Z) activate#(X) (45)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.