Astral_internal.GlobalSIDval sid_original : SID.t Stdlib.refval sid_updated : SID.t Stdlib.refval cache : PredicateAbstraction.M.t Stdlib.refval select : bool -> SID.tval register_builtin : (module ID_sig.BUILTIN) -> unitval register_user_defined : InductiveDefinition.t -> unitval update_user_defined : InductiveDefinition.t -> unitval find : ?original:bool -> string -> SID.ID.tval find_user_defined : ?original:bool -> string -> InductiveDefinition.tval fold_user_defined :
?original:bool ->
(InductiveDefinition.t -> 'a -> 'a) ->
'a ->
'aval get_user_defined : ?original:bool -> unit -> InductiveDefinition.t listval dependencies : ?original:bool -> string -> InductiveDefinition.t listval dependency_graph : unit -> DependencyGraph.tval get : unit -> SID.tval get_signatures :
unit ->
(string * Astral_internal.SL.Variable.Sort.t list) list==== Context ====
module S : sig ... endmodule M : sig ... endval builtin_sorts : MemoryModel.StructDef.t M.t -> Sort.t M.tval builtin_structs : unit -> MemoryModel.StructDef.t M.tval builtin_heap_sort : unit -> HeapSort.tval builtin_ids : unit -> S.tval builtin_context : unit -> ParserContext.t==== Preprocessing ====
val preprocess_user_definitions :
(InductiveDefinition.t -> InductiveDefinition.t option) ->
unitApply the function to each inductive definition
==== Syntactic queries ====
val get_structs :
Stdlib.String.t list ->
(Stdlib.String.t list -> SL.t -> MemoryModel.StructDef.t list) ->
Stdlib.String.t ->
MemoryModel.StructDef.t list==== Semantics queries ====
==== BUILTINS: General ====
val instantiate :
HeapSort.t ->
string ->
SL.Term.t list ->
(SL.t, string) Stdlib.Result.t==== BUILTINS: Model checking ====
val model_check :
string ->
(SL.Term.t list * MemoryModel.StructDef.t list) ->
StackHeapModel.t ->
boolval compute_footprints :
string ->
(SL.Term.t list * MemoryModel.StructDef.t list) ->
StackHeapModel.t ->
StackHeapModel.Footprint.t==== BUILTINS: Translation ====
module Translation (E : Translation_sig.ENCODING) : sig ... end==== Abstraction of predicates ====
val existentials :
?visited:InductiveDefinition.t list ->
InductiveDefinition.t ->
SL.Variable.t list==== Location bound computation ====
val compute_aux :
SL.t ->
SL_graph0.G.t ->
InductiveDefinition.t ->
SL.Term.t ->
PredicateAbstraction.t ->
floatval term_bound : SL.t -> SL_graph0.G.t -> HeapSort.t -> SL.Term.t -> floatval alloc :
string ->
SL.t ->
SL_graph0.G.t ->
HeapSort.t ->
SL.Term.t list ->
floatval additional_bounds : SL.t -> LocationBounds0.tval sl_graph :
string ->
(SL.Term.t list * MemoryModel.StructDef.t list) ->
SL_graph0.tTODO: compute some must-relations