package libsail
Module Libsail.StateSource
Source
val generate_regstate :
Type_check.Env.t ->
(Ast.typ * Ast.id * 'a) list ->
(Ast_util.uannot, unit) Ast.def listSource
val generate_initial_regstate :
Initial_check.ctx ->
Type_check.env ->
Type_check.typed_ast ->
Ast_util.untyped_def list listSource
val generate_regval_typ :
Initial_check.ctx ->
'a ->
Ast.typ Ast_util.Bindings.t ->
Ast_util.untyped_def list * Initial_check.ctxSource
val add_regval_conv :
Initial_check.ctx ->
Type_check.Env.t ->
'a ->
Ast.typ ->
(Ast_util.uannot, unit) Ast.def list ->
(Ast_util.uannot, unit) Ast.def listSource
val register_refs_lem :
(Ast.typ -> PPrint.document) ->
Type_check.Env.t ->
(Ast.typ * Ast.id * 'a) list ->
PPrint.documentSource
val generate_isa_lemmas :
Type_check.Env.t ->
(Type_check.tannot, 'a) Ast.def list ->
PPrint.documentSource
val register_refs_coq :
('a -> PPrint.document) ->
bool ->
'b ->
(Ast.typ * 'a * 'c) list ->
PPrint.documentSource
val generate_regstate_defs :
Initial_check.ctx ->
Type_check.Env.t ->
(Type_check.tannot, Type_check.env) Ast_defs.ast ->
(Ast_util.uannot, unit) Ast.def list * Initial_check.ctxSource
val add_regstate_defs :
'a ->
Initial_check.ctx ->
Type_check.Env.t ->
(Type_check.tannot, Type_check.env) Ast_defs.ast ->
Initial_check.ctx
* Type_check.Env.t
* (Type_check.tannot, Type_check.env) Ast_defs.astSource
val add_register_init_function :
'a ->
Type_check.Env.t ->
(Type_check.tannot, Type_check.env) Ast_defs.ast ->
(Type_check.tannot, Type_check.env) Ast_defs.ast * 'a * Type_check.Env.t