Meaning of the annotations for the proof of each method:
- loop: the method seems to be part of a loop or recursion
- may_diverge: proved the existence of at least a diverging execution
- local_polyh: proved to terminate by using a local linear ranking function for the binary unfolding with polyhedra
- local_bds: proved to terminate by using local linear ranking functions for the binary unfolding with bounded difference shapes
- local_sct: proved to terminate via the size change termination principle with monotonicity constraints
- global_lex_aff_rnkfn: proved to terminate by using a global lexicographic affine ranking function
  * numerical: the ranking function uses numerical variables or fields
  * structural: the ranking function uses reference variables or fields

All calls to these methods terminate:
[loop,local_bds]                             public static QuicksortRec.QuicksortRec.append(QuicksortRec.List,QuicksortRec.List):QuicksortRec.List
                                             static QuicksortRec.Random.():void
                                             public static QuicksortRec.QuicksortRec.main(java.lang.String[]):void
                                             public static QuicksortRec.QuicksortRec.sortedHigh(QuicksortRec.List,int):QuicksortRec.List
                                             public static QuicksortRec.QuicksortRec.sortedLow(QuicksortRec.List,int):QuicksortRec.List
                                             public static QuicksortRec.Random.random():int
[loop,numerical,local_bds]                   public static QuicksortRec.QuicksortRec.createList(int):QuicksortRec.List
                                             public QuicksortRec.List.(int,QuicksortRec.List):void
[loop,structural,local_bds]                  public static QuicksortRec.QuicksortRec.quicksort(QuicksortRec.List):QuicksortRec.List

There is at least a diverging computation for these methods:
  none

Nothing is known about these methods:
  none

There are no warnings