public final class Terminates
extends java.lang.Object
Constructor and Description |
---|
Terminates(ParamSymbol method,
StateType stype,
TaskFolder tasks,
java.util.Vector<TheorySymbol> theories,
Declaration[][] decls,
ErrorStream out)
Create a termination judgement processor.
|
Modifier and Type | Method and Description |
---|---|
Formula |
derive(Statement C,
ValueSymbol[] J,
Formula F)
Apply the judgement
se, Is, Vs |- C |v J F
to prove that command C terminates when executed in a state in which
F[J] holds where J is a vector of free variables in F that denotes the
measure of the recursive methods in Is that may be called in C
(J may be null which indicates that the current method is not recursive).
|
public Terminates(ParamSymbol method, StateType stype, TaskFolder tasks, java.util.Vector<TheorySymbol> theories, Declaration[][] decls, ErrorStream out)
method
- the method in which the judged commands arise.stype
- the type of the state for the context of a command.tasks
- the folder to which to add termination-related tasks.theories
- the referenced theories (first is base theory)decls
- a sequence of declaration lists.out
- the stream to which to write error messages.public Formula derive(Statement C, ValueSymbol[] J, Formula F)
C
- the command CJ
- the variable vector representing the termination measureF
- the condition on the state in which C is called