Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex15_Luc98_FR)

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

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.