Certification Problem

Input (TPDB TRS_Standard/Secret_06_TRS/division)

The rewrite relation of the following TRS is considered.

division(x,y) div(x,y,0) (1)
div(x,y,z) if(lt(x,y),x,y,inc(z)) (2)
if(true,x,y,z) z (3)
if(false,x,s(y),z) div(minus(x,s(y)),s(y),z) (4)
minus(x,0) x (5)
minus(s(x),s(y)) minus(x,y) (6)
lt(x,0) false (7)
lt(0,s(y)) true (8)
lt(s(x),s(y)) lt(x,y) (9)
inc(0) s(0) (10)
inc(s(x)) s(inc(x)) (11)

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.
division#(x,y) div#(x,y,0) (12)
div#(x,y,z) if#(lt(x,y),x,y,inc(z)) (13)
div#(x,y,z) lt#(x,y) (14)
div#(x,y,z) inc#(z) (15)
if#(false,x,s(y),z) div#(minus(x,s(y)),s(y),z) (16)
if#(false,x,s(y),z) minus#(x,s(y)) (17)
minus#(s(x),s(y)) minus#(x,y) (18)
lt#(s(x),s(y)) lt#(x,y) (19)
inc#(s(x)) inc#(x) (20)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 4 components.