Certification Problem

Input (TPDB TRS_Standard/AProVE_07/thiemann13)

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)
inc(0) 0 (4)
inc(s(x)) s(inc(x)) (5)
minus(0,y) 0 (6)
minus(x,0) x (7)
minus(s(x),s(y)) minus(x,y) (8)
quot(0,s(y)) 0 (9)
quot(s(x),s(y)) s(quot(minus(x,y),s(y))) (10)
log(x) log2(x,0) (11)
log2(x,y) if(le(x,0),le(x,s(0)),x,inc(y)) (12)
if(true,b,x,y) log_undefined (13)
if(false,b,x,y) if2(b,x,y) (14)
if2(true,x,s(y)) y (15)
if2(false,x,y) log2(quot(x,s(s(0))),y) (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)
inc#(s(x)) inc#(x) (18)
minus#(s(x),s(y)) minus#(x,y) (19)
quot#(s(x),s(y)) quot#(minus(x,y),s(y)) (20)
quot#(s(x),s(y)) minus#(x,y) (21)
log#(x) log2#(x,0) (22)
log2#(x,y) if#(le(x,0),le(x,s(0)),x,inc(y)) (23)
log2#(x,y) le#(x,0) (24)
log2#(x,y) le#(x,s(0)) (25)
log2#(x,y) inc#(y) (26)
if#(false,b,x,y) if2#(b,x,y) (27)
if2#(false,x,y) log2#(quot(x,s(s(0))),y) (28)
if2#(false,x,y) quot#(x,s(s(0))) (29)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 5 components.