Certification Problem

Input (TPDB TRS_Standard/SK90/4.59)

The rewrite relation of the following TRS is considered.

qsort(nil) nil (1)
qsort(.(x,y)) ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y)))) (2)
lowers(x,nil) nil (3)
lowers(x,.(y,z)) if(<=(y,x),.(y,lowers(x,z)),lowers(x,z)) (4)
greaters(x,nil) nil (5)
greaters(x,.(y,z)) if(<=(y,x),greaters(x,z),.(y,greaters(x,z))) (6)

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.
qsort#(.(x,y)) greaters#(x,y) (7)
qsort#(.(x,y)) qsort#(greaters(x,y)) (8)
qsort#(.(x,y)) lowers#(x,y) (9)
qsort#(.(x,y)) qsort#(lowers(x,y)) (10)
lowers#(x,.(y,z)) lowers#(x,z) (11)
greaters#(x,.(y,z)) greaters#(x,z) (12)

1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.