Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex49_GM04_Z)

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(div(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)
activate(n__0) 0 (12)
activate(n__s(X)) s(X) (13)
activate(X) X (14)

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) (15)
activate#(n__0) 0# (16)
div#(s(X),n__s(Y)) activate#(Y) (17)
div#(s(X),n__s(Y)) activate#(Y) (17)
div#(s(X),n__s(Y)) minus#(X,activate(Y)) (18)
div#(s(X),n__s(Y)) activate#(Y) (17)
geq#(n__s(X),n__s(Y)) geq#(activate(X),activate(Y)) (19)
div#(s(X),n__s(Y)) if#(geq(X,activate(Y)),n__s(div(minus(X,activate(Y)),n__s(activate(Y)))),n__0) (20)
div#(s(X),n__s(Y)) div#(minus(X,activate(Y)),n__s(activate(Y))) (21)
if#(false,X,Y) activate#(Y) (22)
minus#(n__0,Y) 0# (23)
geq#(n__s(X),n__s(Y)) activate#(Y) (24)
minus#(n__s(X),n__s(Y)) activate#(Y) (25)
minus#(n__s(X),n__s(Y)) minus#(activate(X),activate(Y)) (26)
div#(s(X),n__s(Y)) geq#(X,activate(Y)) (27)
geq#(n__s(X),n__s(Y)) activate#(X) (28)
activate#(n__s(X)) s#(X) (29)
if#(true,X,Y) activate#(X) (30)

1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.