Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex49_GM04_FR)

The rewrite relation of the following TRS is considered.

minus(n__0,Y) 0 (1)
minus(n__s(X),n__s(Y)) minus(activate(X),activate(Y)) (2)
geq(X,n__0) true (3)
geq(n__0,n__s(Y)) false (4)
geq(n__s(X),n__s(Y)) geq(activate(X),activate(Y)) (5)
div(0,n__s(Y)) 0 (6)
div(s(X),n__s(Y)) if(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0) (7)
if(true,X,Y) activate(X) (8)
if(false,X,Y) activate(Y) (9)
0 n__0 (10)
s(X) n__s(X) (11)
div(X1,X2) n__div(X1,X2) (12)
minus(X1,X2) n__minus(X1,X2) (13)
activate(n__0) 0 (14)
activate(n__s(X)) s(activate(X)) (15)
activate(n__div(X1,X2)) div(activate(X1),X2) (16)
activate(n__minus(X1,X2)) minus(X1,X2) (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.
minus#(n__s(X),n__s(Y)) activate#(X) (19)
div#(s(X),n__s(Y)) if#(geq(X,activate(Y)),n__s(n__div(n__minus(X,activate(Y)),n__s(activate(Y)))),n__0) (20)
geq#(n__s(X),n__s(Y)) activate#(Y) (21)
div#(s(X),n__s(Y)) activate#(Y) (22)
geq#(n__s(X),n__s(Y)) geq#(activate(X),activate(Y)) (23)
geq#(n__s(X),n__s(Y)) activate#(X) (24)
activate#(n__minus(X1,X2)) minus#(X1,X2) (25)
activate#(n__s(X)) activate#(X) (26)
div#(s(X),n__s(Y)) geq#(X,activate(Y)) (27)
div#(s(X),n__s(Y)) activate#(Y) (22)
activate#(n__0) 0# (28)
minus#(n__0,Y) 0# (29)
activate#(n__s(X)) s#(activate(X)) (30)
activate#(n__div(X1,X2)) activate#(X1) (31)
minus#(n__s(X),n__s(Y)) activate#(Y) (32)
minus#(n__s(X),n__s(Y)) minus#(activate(X),activate(Y)) (33)
div#(s(X),n__s(Y)) activate#(Y) (22)
activate#(n__div(X1,X2)) div#(activate(X1),X2) (34)
if#(false,X,Y) activate#(Y) (35)
if#(true,X,Y) activate#(X) (36)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.