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 Configuration.changePlayer():void
public Player.getOpponent():Player
public LinkedList.getFirst():Configuration
[loop,numerical,structural,local_sct] private Configuration.possibleMoves():LinkedList
[loop,numerical,structural,local_sct] private Configuration.openRows(Player):int
private Configuration.min(int,int):int
[loop,numerical,structural,local_sct] private Configuration.winningConfiguration(Player):boolean
public static Game.nbWin():int
public Configuration.win():boolean
[loop,numerical,structural,local_sct] private Configuration.alphabeta(int,int,int):int
[loop,numerical,structural,local_sct] public Configuration.init(int,Player):void
[loop,numerical,structural,local_sct] public Configuration.copy():Configuration
public static Game.isPossibleMove(Player[][],int,int):boolean
public Configuration.isMaxDepth():boolean
public static Game.nbRows():int
public LinkedList.getTail():LinkedList
public Player.(char):void
public static Game.nbColumns():int
[loop,numerical,local_bds] public static TicTacToe.main(java.lang.String[]):void
public Configuration.lose():boolean
[loop,numerical,local_bds] private Configuration.bestChoice():Configuration
public Player.setOpponent(Player):void
private Configuration.partialEvaluation():int
public static Game.maxMoves():int
public Configuration.():void
public LinkedList.(Configuration,LinkedList):void
private Configuration.max(int,int):int
public LinkedList.length():int
[loop,numerical,structural,local_sct] public Configuration.play():void
There is at least a diverging computation for these methods:
none
Nothing is known about these methods:
none
There are no warnings