Certification Problem

Input (TPDB TRS_Standard/AProVE_07/thiemann01)

The rewrite relation of the following TRS is considered.

minus(0,y) 0 (1)
minus(x,0) x (2)
minus(s(x),s(y)) minus(x,y) (3)
plus(0,y) y (4)
plus(s(x),y) plus(x,s(y)) (5)
zero(s(x)) false (6)
zero(0) true (7)
p(s(x)) x (8)
div(x,y) quot(x,y,0) (9)
quot(x,y,z) if(zero(x),x,y,plus(z,s(0))) (10)
if(true,x,y,z) p(z) (11)
if(false,x,s(y),z) quot(minus(x,s(y)),s(y),z) (12)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Switch to Innermost Termination

The TRS is overlay and locally confluent:

10

Hence, it suffices to show innermost termination in the following.

1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
minus#(s(x),s(y)) minus#(x,y) (13)
plus#(s(x),y) plus#(x,s(y)) (14)
div#(x,y) quot#(x,y,0) (15)
quot#(x,y,z) if#(zero(x),x,y,plus(z,s(0))) (16)
quot#(x,y,z) zero#(x) (17)
quot#(x,y,z) plus#(z,s(0)) (18)
if#(true,x,y,z) p#(z) (19)
if#(false,x,s(y),z) quot#(minus(x,s(y)),s(y),z) (20)
if#(false,x,s(y),z) minus#(x,s(y)) (21)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.