Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex15_Luc98_Z)

The rewrite relation of the following TRS is considered.

and(true,X) activate(X) (1)
and(false,Y) false (2)
if(true,X,Y) activate(X) (3)
if(false,X,Y) activate(Y) (4)
add(0,X) activate(X) (5)
add(s(X),Y) s(n__add(activate(X),activate(Y))) (6)
first(0,X) nil (7)
first(s(X),cons(Y,Z)) cons(activate(Y),n__first(activate(X),activate(Z))) (8)
from(X) cons(activate(X),n__from(n__s(activate(X)))) (9)
add(X1,X2) n__add(X1,X2) (10)
first(X1,X2) n__first(X1,X2) (11)
from(X) n__from(X) (12)
s(X) n__s(X) (13)
activate(n__add(X1,X2)) add(X1,X2) (14)
activate(n__first(X1,X2)) first(X1,X2) (15)
activate(n__from(X)) from(X) (16)
activate(n__s(X)) s(X) (17)
activate(X) X (18)

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.
add#(s(X),Y) activate#(X) (19)
activate#(n__add(X1,X2)) add#(X1,X2) (20)
first#(s(X),cons(Y,Z)) activate#(X) (21)
activate#(n__from(X)) from#(X) (22)
and#(true,X) activate#(X) (23)
first#(s(X),cons(Y,Z)) activate#(Y) (24)
first#(s(X),cons(Y,Z)) activate#(Z) (25)
add#(0,X) activate#(X) (26)
if#(true,X,Y) activate#(X) (27)
from#(X) activate#(X) (28)
if#(false,X,Y) activate#(Y) (29)
add#(s(X),Y) activate#(Y) (30)
add#(s(X),Y) s#(n__add(activate(X),activate(Y))) (31)
activate#(n__s(X)) s#(X) (32)
activate#(n__first(X1,X2)) first#(X1,X2) (33)
from#(X) activate#(X) (28)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.