package archetype

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Archetype.Gen_why3Source

Sourcemodule M = Model
Sourcetype error_desc =
  1. | NotSupported of string
  2. | TODONotTranslated of string
Sourceval pp_error_desc : Format.formatter -> error_desc -> unit
Sourceval emit_error : (Location.t * error_desc) -> unit
Sourceval dl : 'a -> 'a Mlwtree.with_loc
Sourceval gArchetypeDir : string
Sourceval gArchetypeLib : string
Sourceval gArchetypeField : string
Sourceval gArchetypeView : string
Sourceval gArchetypeColl : string
Sourceval gArchetypeAgg : string
Sourceval gArchetypeSum : string
Sourceval gArchetypeSort : string
Sourceval gArchetypeTrace : string
Sourceval gArchetypeSet : string
Sourceval gArchetypeList : string
Sourceval gOperations : string
Sourceval gListAs : string
Sourceval gFieldAs : string
Sourceval gViewAs : string
Sourceval mk_module_name : string -> string
Sourceval mk_id : string -> string
Sourceval mk_param_value : string -> string
Sourceval mk_ac_id : string -> string
Sourceval mk_ac_added_id : string -> string
Sourceval mk_ac_rmed_id : string -> string
Sourceval mk_ac_unmvd_id : string -> string
Sourceval mk_aggregate_id : string -> string
Sourceval gs : string
Sourceval gsinit : string
Sourceval gsarg : string
Sourceval mk_ac_st : string -> string -> ('a, 'b, string) Mlwtree.abstract_term
Sourceval mk_ac_old_st : 'a -> string -> ((('b, 'c, 'a) Mlwtree.abstract_term, 'd, string) Mlwtree.abstract_term, 'e, 'f) Mlwtree.abstract_term
Sourceval mk_ac : string -> ('a, 'b, string) Mlwtree.abstract_term
Sourceval mk_ac_old : string -> ((('a, 'b, string) Mlwtree.abstract_term, 'c, string) Mlwtree.abstract_term, 'd, 'e) Mlwtree.abstract_term
Sourceval mk_ac_added_st : string -> string -> ('a, 'b, string) Mlwtree.abstract_term
Sourceval mk_ac_old_added_st : 'a -> string -> ((('b, 'c, 'a) Mlwtree.abstract_term, 'd, string) Mlwtree.abstract_term, 'e, 'f) Mlwtree.abstract_term
Sourceval mk_ac_added : string -> ('a, 'b, string) Mlwtree.abstract_term
Sourceval mk_ac_old_added : string -> ((('a, 'b, string) Mlwtree.abstract_term, 'c, string) Mlwtree.abstract_term, 'd, 'e) Mlwtree.abstract_term
Sourceval mk_ac_rmed_st : string -> string -> ('a, 'b, string) Mlwtree.abstract_term
Sourceval mk_ac_old_rmed_st : 'a -> string -> ((('b, 'c, 'a) Mlwtree.abstract_term, 'd, string) Mlwtree.abstract_term, 'e, 'f) Mlwtree.abstract_term
Sourceval mk_ac_rmed : string -> ('a, 'b, string) Mlwtree.abstract_term
Sourceval mk_ac_old_rmed : string -> ((('a, 'b, string) Mlwtree.abstract_term, 'c, string) Mlwtree.abstract_term, 'd, 'e) Mlwtree.abstract_term
Sourceval mk_field_id : string -> string
Sourceval mk_view_id : string -> string
Sourceval mk_use_euclidean_div : Ident.ident Location.loced Archetype__Model.model_gen -> (Mlwtree.loc_term, Mlwtree.loc_typ, Mlwtree.loc_ident) Mlwtree.abstract_decl list
Sourceval map_lident : M.lident -> Mlwtree.loc_ident
Sourceval map_btype : M.btyp -> ('a, 'b) Mlwtree.abstract_type
Sourceval get_type_idx : M.type_ -> M.type_ list -> int
Sourceval mk_map_name : Ident.ident Location.loced Archetype__Model.model_gen -> M.type_ -> string
Sourceval mk_set_name : Ident.ident Location.loced Archetype__Model.model_gen -> M.type_ -> string
Sourceval mk_list_name : Ident.ident Location.loced Archetype__Model.model_gen -> M.type_ -> string
Sourceval map_mtype : Ident.ident Location.loced Archetype__Model.model_gen -> M.type_ -> Mlwtree.loc_typ
Sourceval mk_list_name_from_mlwtype : Ident.ident Location.loced Archetype__Model.model_gen -> Mlwtree.typ -> string
Sourcetype change =
  1. | CAdd of Mlwtree.ident
  2. | CRm of Mlwtree.ident
  3. | CUpdate of Mlwtree.ident
  4. | CTransfer of Mlwtree.ident
  5. | CGet of Mlwtree.ident
  6. | CIterate of Mlwtree.ident
  7. | CCall of Mlwtree.ident
Sourcetype trace_id_type =
  1. | Asset
  2. | Entry
  3. | Field
Sourceval trace_value_type_to_string : trace_id_type -> string
Sourceval mk_trace_id : trace_id_type -> string -> string
Sourceval mk_change_term : change -> (('a, 'b, string) Mlwtree.abstract_term, 'c, 'd) Mlwtree.abstract_term
Sourceval mk_trace : change -> Mlwtree.loc_term
Sourceval mk_const_fields : Ident.ident Location.loced Archetype__Model.model_gen -> (('a, 'b, string) Mlwtree.abstract_term, (string, (string, 'c) Mlwtree.abstract_type) Mlwtree.abstract_type, string) Mlwtree.abstract_field list
Sourceval mk_sum_clone_id : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Ident.ident Location.loced Archetype__Model.mterm_gen -> string
Sourceval mk_sum_clone_from_id : string -> int -> string
Sourceval mk_get_sum_value_id : string -> int -> string
Sourceval mk_get_sum_value_from_pos_id : string -> int -> string
Sourceval mk_sum : string -> int -> 'a -> 'a -> ('a, 'b, string) Mlwtree.abstract_term
Sourceval mk_sum_from_col : string -> int -> 'a -> ('a, 'b, string) Mlwtree.abstract_term
Sourceval mk_sum_clone : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> string -> M.type_ -> Ident.ident Location.loced Archetype__Model.mterm_gen -> ('a, (Ident.ident, Mlwtree.typ) Mlwtree.abstract_type, string) Mlwtree.abstract_decl
Sourceval mk_partition_axiom : Mlwtree.ident -> Mlwtree.ident -> 'a -> Mlwtree.ident -> Mlwtree.typ -> Mlwtree.decl
Sourceval sort_kind_to_string : M.sort_kind -> string
Sourceval mk_cmp_function_id : string -> (string * M.sort_kind) list -> string
Sourceval mk_sort_clone_id : string -> (string * M.sort_kind) list -> string
Sourceval mk_sort_clone : 'a -> string -> (string * M.sort_kind) list -> ('b, (string, 'c) Mlwtree.abstract_type, string) Mlwtree.abstract_decl
Sourcetype filter =
  1. | Select
  2. | Removeif
Sourceval mk_afun_test : ((('a, 'b, string) Mlwtree.abstract_term, 'b, string) Mlwtree.abstract_term as 'a) -> (('a, 'b, string) Mlwtree.abstract_term, 'b, string) Mlwtree.abstract_term
Sourceval acc_has_id : 'a -> ('b * 'a * 'c) list -> bool
Sourceval extract_args : M.lident M.mterm_gen -> (M.mterm * string * ('a, 'b) Mlwtree.abstract_type) list
Sourceval mk_filter_name : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Ident.ident Location.loced Archetype__Model.mterm_gen -> filter -> string
Sourceval mk_select_name : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Ident.ident Location.loced Archetype__Model.mterm_gen -> string
Sourceval mk_removeif_name : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Ident.ident Location.loced Archetype__Model.mterm_gen -> string
Sourceval mk_filter_predicate : filter -> Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Ident.ident Location.loced Archetype__Model.mterm_gen -> ((('a, ('b, 'c) Mlwtree.abstract_type, string) Mlwtree.abstract_term, ('b, 'c) Mlwtree.abstract_type, string) Mlwtree.abstract_term as 'a) -> (string * M.type_) list -> (((('a, ('b, 'c) Mlwtree.abstract_type, string) Mlwtree.abstract_term, ('b, 'c) Mlwtree.abstract_type, string) Mlwtree.abstract_term, ('b, 'c) Mlwtree.abstract_type, string) Mlwtree.abstract_term, Mlwtree.typ, string) Mlwtree.abstract_decl
Sourceval get_definition_body : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> M.lident M.mterm_gen option
Sourceval get_predicate_body : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> M.lident M.mterm_gen option
Sourceval is_predicate : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> bool
Sourceval extract_def_args : Ident.ident Location.loced Archetype__Model.model_gen -> M.lident M.mterm_gen -> (('a, 'b, Ident.ident) Mlwtree.abstract_term * Ident.ident * Mlwtree.loc_typ) list
Sourceval get_def_params : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> ('a, 'b, Ident.ident) Mlwtree.abstract_term list
Sourceval get_pred_params : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> ('a, 'b, Ident.ident) Mlwtree.abstract_term list
Sourceval wdl : 'a list -> 'a Mlwtree.with_loc list
Sourceval deloc : 'a Mlwtree.with_loc list -> 'a list
Sourceval zip : 'a list -> 'a list -> 'a list -> 'a list -> 'a list -> 'a list -> 'a list -> 'a list -> 'a list
Sourceval cap : string Mlwtree.with_loc -> string Mlwtree.with_loc
Sourceval mk_map_clone : string -> 'a -> 'a -> ('b, 'a, string Mlwtree.with_loc) Mlwtree.abstract_decl
Sourceval mk_set_clone : string -> 'a -> ('b, 'a, string Mlwtree.with_loc) Mlwtree.abstract_decl
Sourceval mk_list_clone : string -> 'a -> ('b, 'a, string Mlwtree.with_loc) Mlwtree.abstract_decl
Sourceval map_record_fields : Ident.ident Location.loced Archetype__Model.model_gen -> M.record_field list -> (Mlwtree.loc_term, Mlwtree.loc_typ, Mlwtree.loc_ident) Mlwtree.abstract_field list
Sourceval map_lidents : M.lident list -> Mlwtree.loc_ident list
Sourceval type_to_init : Ident.ident Location.loced Archetype__Model.model_gen -> Mlwtree.loc_typ -> Mlwtree.loc_term
Sourceval is_local_invariant : 'a -> Ident.ident -> M.lident M.mterm_gen -> bool
Sourceval adds_asset : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> M.lident M.mterm_gen -> bool
Sourceval is_only_security : M.security_predicate -> bool
Sourceval map_action_to_change : M.entry_description -> change
Sourceval map_security_pred : [< `Loop | `Storage ] -> M.security_predicate -> ((('a, ('b, 'c) Mlwtree.abstract_type, Ident.ident) Mlwtree.abstract_term as 'a, ('b, 'c) Mlwtree.abstract_type, Ident.ident) Mlwtree.abstract_term, 'd, 'e) Mlwtree.abstract_term
Sourceval mk_spec_invariant : [< `Loop | `Storage ] -> M.security_item -> (Mlwtree.loc_term, Mlwtree.loc_ident) Mlwtree.abstract_formula list
Sourceval mk_invariant : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident Location.loced -> [> `Axiom | `Axiom2 | `Loop | `Preasset of Mlwtree.ident | `Precoll of Mlwtree.ident | `Prelist of Mlwtree.ident | `Storage ] -> Mlwtree.loc_term -> Mlwtree.loc_term
Sourceval mk_pre_coll : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Mlwtree.ident -> Mlwtree.loc_term -> Mlwtree.loc_term
Sourceval mk_pre_asset : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Mlwtree.ident -> Mlwtree.loc_term -> Mlwtree.loc_term
Sourceval mk_loop_invariant : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Mlwtree.loc_term -> Mlwtree.loc_term
Sourceval mk_axiom_invariant : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Mlwtree.loc_term -> Mlwtree.loc_term
Sourceval mk_axiom2_invariant : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Mlwtree.loc_term -> Mlwtree.loc_term
Sourceval mk_eq_enums : Ident.ident Location.loced Archetype__Model.model_gen -> M.asset -> (Mlwtree.loc_term, Mlwtree.loc_typ, string Mlwtree.with_loc) Mlwtree.abstract_decl list
Sourceval get_fail_idx : Ident.ident Location.loced Archetype__Model.model_gen -> M.type_ -> int
Sourceval mk_field : Ident.ident Location.loced Archetype__Model.model_gen -> M.asset -> ('a, Mlwtree.loc_typ, string Mlwtree.with_loc) Mlwtree.abstract_decl
Sourceval mk_view : Ident.ident Location.loced Archetype__Model.model_gen -> M.asset -> ('a, Mlwtree.loc_typ, string Mlwtree.with_loc) Mlwtree.abstract_decl
Sourceval mk_set_field_id : string -> string
Sourceval get_record : 'a -> ('b, 'c, 'a) Mlwtree.abstract_decl list -> ('b, 'c, 'a) Mlwtree.abstract_decl
Sourceval get_record_name : ('a, 'b, 'c) Mlwtree.abstract_decl -> 'c
Sourceval mk_lbl_before : string option -> string
Sourceval mk_inv_lbl : string option -> string -> string
Sourceval mk_storage_loop_inv : string option -> Mlwtree.ident -> Mlwtree.ident -> (Mlwtree.loc_term, string Mlwtree.with_loc) Mlwtree.abstract_formula
Sourceval is_identical : Tools.String.t -> M.effect list -> bool
Sourceval mk_vars_loop_invariants : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident option -> string option -> Mlwtree.ident -> Ident.ident Location.loced Archetype__Model.mterm_gen -> (Mlwtree.loc_term, string Mlwtree.with_loc) Mlwtree.abstract_formula list
Sourcetype mode =
  1. | Inv
  2. | Logic
  3. | Exec
  4. | Def
Sourcetype logical_context = {
  1. lctx : mode;
  2. entry_id : Mlwtree.ident option;
  3. locals : Mlwtree.ident list;
  4. loop_id : Mlwtree.ident option;
  5. fun_ : bool;
  6. fails : bool;
}
Sourceval init_ctx : logical_context
Sourceval mk_sid : logical_context -> string
Sourceval is_coll_field : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> bool
Sourceval is_exec_divergent : ('a, 'b) M.mterm_node -> bool
Sourceval get_tuple_size : M.ntype -> int
Sourceval cp_storage : string -> (('a, 'b, string) Mlwtree.abstract_term, 'c, 'd) Mlwtree.abstract_term
Sourceval is_partition : Ident.ident Location.loced Archetype__Model.model_gen -> Ident.ident -> Ident.ident -> bool
Sourceval mk_storage_id : logical_context -> string
Sourceval mk_coll_term : string -> logical_context -> (M.temp * M.delta) -> ((('a, 'b, string) Mlwtree.abstract_term, 'c, string) Mlwtree.abstract_term, 'd, Ident.ident) Mlwtree.abstract_term
Sourceval mk_loc_coll_term : string -> logical_context -> (M.temp * M.delta) -> Mlwtree.loc_term
Sourceval mk_lc_term : string -> logical_context -> Mlwtree.loc_term
Sourceval mk_temp_delta : 'a M.container_kind_gen -> M.temp * M.delta
Sourceval map_mterm : Ident.ident Location.loced Archetype__Model.model_gen -> logical_context -> M.mterm -> Mlwtree.loc_term
Sourceval mk_filter_args : Ident.ident Location.loced Archetype__Model.model_gen -> logical_context -> (Mlwtree.ident * M.type_) list -> M.lident M.mterm_gen -> Mlwtree.loc_term list
Sourceval mk_asset_key_value : Ident.ident Location.loced Archetype__Model.model_gen -> logical_context -> Ident.ident -> M.lident M.mterm_gen -> Mlwtree.loc_term
Sourceval map_asset_values : Ident.ident Location.loced Archetype__Model.model_gen -> M.asset_item list -> (Mlwtree.loc_term, Mlwtree.loc_typ, Mlwtree.loc_ident) Mlwtree.abstract_field list
Sourceval map_init_mterm : Ident.ident Location.loced Archetype__Model.model_gen -> logical_context -> M.mterm -> Mlwtree.loc_term
Sourceval mk_asset_invariants : Ident.ident Location.loced Archetype__Model.model_gen -> logical_context -> (Mlwtree.loc_term, Mlwtree.loc_ident) Mlwtree.abstract_formula list
Sourceval mk_contract_invariants : Ident.ident Location.loced Archetype__Model.model_gen -> logical_context -> (Mlwtree.loc_term, Mlwtree.loc_ident) Mlwtree.abstract_formula list
Sourceval mk_variable_invariants : Ident.ident Location.loced Archetype__Model.model_gen -> logical_context -> (Mlwtree.loc_term, Mlwtree.loc_ident) Mlwtree.abstract_formula list
Sourceval mk_security_invariants : M.model -> 'a -> (Mlwtree.loc_term, Mlwtree.loc_ident) Mlwtree.abstract_formula list
Sourceval mk_api_precond : Ident.ident Location.loced Archetype__Model.model_gen -> string -> Ident.ident -> [> `Axiom | `Axiom2 | `Loop | `Preasset of Mlwtree.ident | `Precoll of Mlwtree.ident | `Prelist of Mlwtree.ident | `Storage ] -> (Mlwtree.term, string) Mlwtree.abstract_formula list
Sourceval mk_key_found_cond : [< `Curr | `Old ] -> string -> ((('a, 'b, string) Mlwtree.abstract_term, 'c, string) Mlwtree.abstract_term, 'd, string) Mlwtree.abstract_term -> ((((('a, 'b, string) Mlwtree.abstract_term, 'c, string) Mlwtree.abstract_term, 'd, string) Mlwtree.abstract_term, 'e, string) Mlwtree.abstract_term, ('f, 'g) Mlwtree.abstract_type, 'h) Mlwtree.abstract_term
Sourceval mk_not_found_cond : [< `Curr | `Old ] -> string -> ((('a, 'b, string) Mlwtree.abstract_term, 'c, string) Mlwtree.abstract_term, 'd, string) Mlwtree.abstract_term -> ((((('a, 'b, string) Mlwtree.abstract_term, 'c, string) Mlwtree.abstract_term, 'd, string) Mlwtree.abstract_term, 'e, string) Mlwtree.abstract_term, ('f, 'g) Mlwtree.abstract_type, 'h) Mlwtree.abstract_term
Sourceval mk_get_sum_value_from_pos : string -> int -> ((('a, 'b, string) Mlwtree.abstract_term, 'b, string) Mlwtree.abstract_term as 'a) -> ((((('a, 'b, string) Mlwtree.abstract_term, 'b, string) Mlwtree.abstract_term, 'b, string) Mlwtree.abstract_term, 'b, string) Mlwtree.abstract_term, (string, 'c) Mlwtree.abstract_type, string) Mlwtree.abstract_decl
Sourceval mk_get_sum_value : string -> int -> ((('a, 'b, string) Mlwtree.abstract_term, 'b, string) Mlwtree.abstract_term as 'a) -> ((('a, 'b, string) Mlwtree.abstract_term, 'b, string) Mlwtree.abstract_term, (string, 'c) Mlwtree.abstract_type, string) Mlwtree.abstract_decl
Sourceval mk_storage_api_before_storage : M.model -> 'a -> (Mlwtree.loc_term, Mlwtree.loc_typ, Mlwtree.loc_ident) Mlwtree.abstract_decl list
Sourceval fold_fails : Ident.ident Location.loced Archetype__Model.model_gen -> logical_context -> M.lident M.mterm_gen -> Mlwtree.struct_fail list
Sourceval fold_exns : Ident.ident Location.loced Archetype__Model.model_gen -> M.lident M.mterm_gen -> Mlwtree.term list
Sourceval is_fail : M.mterm -> bool
Sourceval flatten_if_fail : Ident.ident Location.loced Archetype__Model.model_gen -> logical_context -> M.mterm -> Mlwtree.loc_term
Sourceval mk_delta_requires : Ident.ident Location.loced Archetype__Model.model_gen -> (Mlwtree.loc_term, string Mlwtree.with_loc) Mlwtree.abstract_formula list
Sourceval mk_entry_require : Ident.ident Location.loced Archetype__Model.model_gen -> string list -> (Mlwtree.loc_term, string Mlwtree.with_loc) Mlwtree.abstract_formula list
Sourceval rm_fail_exn : Mlwtree.loc_term list -> Mlwtree.loc_term list
Sourcetype desc_container =
  1. | Dset of M.type_
  2. | Dlist of M.type_
  3. | Dmap of M.type_
  4. | Dasset of M.asset
  5. | Denum of M.enum
  6. | Drecord of M.record
Sourceval pp_desc_container : Format.formatter -> desc_container -> unit
Sourceval cmp_desc_container : desc_container -> desc_container -> bool
OCaml

Innovation. Community. Security.