Certification Problem

Input (TPDB TRS_Standard/AProVE_07/thiemann36)

The rewrite relation of the following TRS is considered.

le(0,y) true (1)
le(s(x),0) false (2)
le(s(x),s(y)) le(x,y) (3)
quot(x,0) quotZeroErro (4)
quot(x,s(y)) quotIter(x,s(y),0,0,0) (5)
quotIter(x,s(y),z,u,v) if(le(x,z),x,s(y),z,u,v) (6)
if(true,x,y,z,u,v) v (7)
if(false,x,y,z,u,v) if2(le(y,s(u)),x,y,s(z),s(u),v) (8)
if2(false,x,y,z,u,v) quotIter(x,y,z,u,v) (9)
if2(true,x,y,z,u,v) quotIter(x,y,z,0,s(v)) (10)

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.
le#(s(x),s(y)) le#(x,y) (11)
quot#(x,s(y)) quotIter#(x,s(y),0,0,0) (12)
quotIter#(x,s(y),z,u,v) if#(le(x,z),x,s(y),z,u,v) (13)
quotIter#(x,s(y),z,u,v) le#(x,z) (14)
if#(false,x,y,z,u,v) if2#(le(y,s(u)),x,y,s(z),s(u),v) (15)
if#(false,x,y,z,u,v) le#(y,s(u)) (16)
if2#(false,x,y,z,u,v) quotIter#(x,y,z,u,v) (17)
if2#(true,x,y,z,u,v) quotIter#(x,y,z,0,s(v)) (18)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.