Certification Problem

Input (TPDB TRS_Standard/GTSSK07/cade16)

The rewrite relation of the following TRS is considered.

nthtail(n,l) cond(ge(n,length(l)),n,l) (1)
cond(true,n,l) l (2)
cond(false,n,l) tail(nthtail(s(n),l)) (3)
tail(nil) nil (4)
tail(cons(x,l)) l (5)
length(nil) 0 (6)
length(cons(x,l)) s(length(l)) (7)
ge(u,0) true (8)
ge(0,s(v)) false (9)
ge(s(u),s(v)) ge(u,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.
nthtail#(n,l) cond#(ge(n,length(l)),n,l) (11)
nthtail#(n,l) ge#(n,length(l)) (12)
nthtail#(n,l) length#(l) (13)
cond#(false,n,l) tail#(nthtail(s(n),l)) (14)
cond#(false,n,l) nthtail#(s(n),l) (15)
length#(cons(x,l)) length#(l) (16)
ge#(s(u),s(v)) ge#(u,v) (17)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.