module Tycheck: sig
.. end
Type checking & conversion into command language
val args : (Arg.key * Arg.spec * Arg.doc) list
type
state_predecessor = string * Exp.Id.t list * Assertions.cprop
type
protocol_state = string * Exp.Id.t list * state_predecessor list * Exp.Id.t *
Assertions.cprop
type
protocol_item = {
|
protocol_name : string ; |
|
protocol_states : protocol_state Misc.StringMap.t ; |
|
protocol_successors : Misc.StringSet.t Misc.StringMap.t ; |
}
type
escrow_item = {
}
val convert : Parsetree.p_item list ->
(string list * Misc.StringSet.t * Exp.IdSet.t *
(string, protocol_item) Hashtbl.t *
(string, escrow_item) Hashtbl.t *
(string, Commands.fun_info) Hashtbl.t *
(Misc.component, Assertions.act list * Assertions.act list) Hashtbl.t *
(Misc.component * Commands.res_init) list *
(string * Commands.can_entailment) list)
option
Returns
(globals, protocols, fun_specifications, resources, res_initializers, fun_proofs)