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: public static MysteriousProgram.swap2(int,int):void [loop,numerical,structural,local_bds] public static MysteriousProgram.mysterious(int[],int):void [loop,numerical,structural,local_bds] public static MysteriousProgram.init(int[]):void [loop,numerical,structural,local_sct] public static MysteriousProgram.mysteriousRecursive(int[],int):void [loop,numerical,structural,local_bds] public static MysteriousProgram.display(int[]):void [loop,numerical,structural,local_bds] public static MysteriousProgram.main(java.lang.String[]):void public static MysteriousProgram.swap3(int[],int,int):void There is at least a diverging computation for these methods: none Nothing is known about these methods: none There are no warnings