Meaning of the annotations for the proof of each method:
- loop: the method seems to be part of a loop or recursion
- inherits: the method seems to call a method that possibly diverges
- 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
- finite_unfoldings: proved to terminate since there is a finite number of undoldings
* numerical: the ranking function uses numerical variables or fields
* structural: the ranking function uses reference variables or fields
These methods do not introduce divergence:
OrderedCollection.Node.(OrderedCollection.Value,OrderedCollection.Node,OrderedCollection.Node):void
OrderedCollection.IntValue.(int):void
OrderedCollection.List.():void
OrderedCollection.Element.(OrderedCollection.Value):void
OrderedCollection.Node.getLeft():OrderedCollection.Node
OrderedCollection.Node.setRight(OrderedCollection.Node):void
OrderedCollection.IntValue.isSmaller(OrderedCollection.Value):boolean
OrderedCollection.Tree.minimum():OrderedCollection.Value
OrderedCollection.Random.random():int
[loop,structural,local_bds] OrderedCollection.Tree.insert(OrderedCollection.Node,OrderedCollection.Value):OrderedCollection.Node
OrderedCollection.ListElement.(OrderedCollection.Value,OrderedCollection.ListElement):void
OrderedCollection.ListElement.setNext(OrderedCollection.ListElement):void
[loop,structural,local_bds] OrderedCollection.List.insert(OrderedCollection.ListElement,OrderedCollection.Value):OrderedCollection.ListElement
OrderedCollection.List.minimum():OrderedCollection.Value
OrderedCollection.OrderedCollection.():void
OrderedCollection.Node.getRight():OrderedCollection.Node
OrderedCollection.Main.main(java.lang.String[]):void
[loop,numerical,local_bds] OrderedCollection.Main.createCollection():OrderedCollection.OrderedCollection
OrderedCollection.Random.():void
OrderedCollection.Element.getValue():OrderedCollection.Value
OrderedCollection.Tree.():void
[loop,structural,local_bds] OrderedCollection.Tree.minimum(OrderedCollection.Node):OrderedCollection.Value
OrderedCollection.List.insert(OrderedCollection.Value):void
OrderedCollection.Node.setLeft(OrderedCollection.Node):void
OrderedCollection.Tree.insert(OrderedCollection.Value):void
OrderedCollection.ListElement.getNext():OrderedCollection.ListElement
There is at least a diverging computation for these methods:
none
Nothing is known about these methods:
none
Methods that might introduce divergence: 0/26 ( 0.00%)
Methods that do might introduce or inherit divergence: 0/26 ( 0.00%)
Methods that definitely terminate: 26/26 (100.00%)
There are no warnings