Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

lt#( s( X ) , s( Y ) ) lt#( X , Y )
append#( add( N , X ) , Y ) append#( X , Y )
split#( N , add( M , Y ) ) f_1#( split( N , Y ) , N , M , Y )
split#( N , add( M , Y ) ) split#( N , Y )
f_1#( pair( X , Z ) , N , M , Y ) f_2#( lt( N , M ) , N , M , Y , X , Z )
f_1#( pair( X , Z ) , N , M , Y ) lt#( N , M )
qsort#( add( N , X ) ) f_3#( split( N , X ) , N , X )
qsort#( add( N , X ) ) split#( N , X )
f_3#( pair( Y , Z ) , N , X ) append#( qsort( Y ) , add( X , qsort( Z ) ) )
f_3#( pair( Y , Z ) , N , X ) qsort#( Y )
f_3#( pair( Y , Z ) , N , X ) qsort#( Z )

1.1: dependency graph processor

The dependency pairs are split into 4 component(s).