Certification Problem

Input (TPDB TRS_Standard/AProVE_07/thiemann12)

The rewrite relation of the following TRS is considered.

half(0) 0 (1)
half(s(0)) 0 (2)
half(s(s(x))) s(half(x)) (3)
le(0,y) true (4)
le(s(x),0) false (5)
le(s(x),s(y)) le(x,y) (6)
inc(0) 0 (7)
inc(s(x)) s(inc(x)) (8)
log(x) log2(x,0) (9)
log2(x,y) if(le(x,s(0)),x,inc(y)) (10)
if(true,x,s(y)) y (11)
if(false,x,y) log2(half(x),y) (12)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by ttt2 @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
half#(s(s(x))) half#(x) (13)
le#(s(x),s(y)) le#(x,y) (14)
inc#(s(x)) inc#(x) (15)
log#(x) log2#(x,0) (16)
log2#(x,y) inc#(y) (17)
log2#(x,y) le#(x,s(0)) (18)
log2#(x,y) if#(le(x,s(0)),x,inc(y)) (19)
if#(false,x,y) half#(x) (20)
if#(false,x,y) log2#(half(x),y) (21)

1.1 Dependency Graph Processor

The dependency pairs are split into 4 components.