Certification Problem

Input (TPDB TRS_Standard/AProVE_07/thiemann11)

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)
zero(0) true (4)
zero(s(x)) false (5)
id(0) 0 (6)
id(s(x)) s(id(x)) (7)
minus(x,0) x (8)
minus(s(x),s(y)) minus(x,y) (9)
mod(x,y) if_mod(zero(x),zero(y),le(y,x),id(x),id(y)) (10)
if_mod(true,b1,b2,x,y) 0 (11)
if_mod(false,b1,b2,x,y) if2(b1,b2,x,y) (12)
if2(true,b2,x,y) 0 (13)
if2(false,b2,x,y) if3(b2,x,y) (14)
if3(true,x,y) mod(minus(x,y),s(y)) (15)
if3(false,x,y) x (16)

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) (17)
id#(s(x)) id#(x) (18)
minus#(s(x),s(y)) minus#(x,y) (19)
mod#(x,y) if_mod#(zero(x),zero(y),le(y,x),id(x),id(y)) (20)
mod#(x,y) zero#(x) (21)
mod#(x,y) zero#(y) (22)
mod#(x,y) le#(y,x) (23)
mod#(x,y) id#(x) (24)
mod#(x,y) id#(y) (25)
if_mod#(false,b1,b2,x,y) if2#(b1,b2,x,y) (26)
if2#(false,b2,x,y) if3#(b2,x,y) (27)
if3#(true,x,y) mod#(minus(x,y),s(y)) (28)
if3#(true,x,y) minus#(x,y) (29)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 4 components.