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 Nats.Nats.():void
public static Nats.Nats.zero():Nats.Nats
public static Nats.Nats.succ(Nats.Nats):Nats.Nats
[loop,structural,local_bds] public static Nats.DivMinus.minus(Nats.Nats,Nats.Nats):Nats.Nats
[loop,structural,local_bds] public Nats.Nats.copy():Nats.Nats
[loop,numerical,local_bds] public Nats.Nats.(int):void
[loop,structural,local_bds] public static Nats.DivMinus.div(Nats.Nats,Nats.Nats):Nats.Nats
public static Nats.DivMinus.main(java.lang.String[]):void
public Nats.Nats.isZero():boolean
There is at least a diverging computation for these methods:
none
Nothing is known about these methods:
none
There are no warnings