You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
<!DOCTYPE html>
< html xmlns = "http://www.w3.org/1999/xhtml" > < head > < title > BufferOverrunSemantics (infer.InferModules.BufferOverrunSemantics)< / title > < link rel = "stylesheet" href = "../../../odoc.css" / > < meta charset = "utf-8" / > < meta name = "generator" content = "odoc %%VERSION%%" / > < meta name = "viewport" content = "width=device-width,initial-scale=1.0" / > < script src = "../../../highlight.pack.js" > < / script > < script > hljs . initHighlightingOnLoad ( ) ; < / script > < / head > < body > < div class = "content" > < header > < nav > < a href = "../index.html" > Up< / a > – < a href = "../../index.html" > infer< / a > » < a href = "../index.html" > InferModules< / a > » BufferOverrunSemantics< / nav > < h1 > Module < code > InferModules.BufferOverrunSemantics< / code > < / h1 > < / header > < dl > < dt class = "spec value" id = "val-eval_const" > < a href = "#val-eval_const" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_const : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Const/index.html#type-t" > InferIR.Const.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-must_alias" > < a href = "#val-must_alias" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > must_alias : < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > bool< / code > < / dt > < dt class = "spec value" id = "val-must_alias_opt" > < a href = "#val-must_alias_opt" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > must_alias_opt : < span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > option< / span > < span > - > < / span > < span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > option< / span > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > bool< / code > < / dt > < dt class = "spec value" id = "val-comp_rev" > < a href = "#val-comp_rev" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > comp_rev : < a href = "../../../InferIR/InferIR/Binop/index.html#type-t" > InferIR.Binop.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Binop/index.html#type-t" > InferIR.Binop.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-comp_not" > < a href = "#val-comp_not" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > comp_not : < a href = "../../../InferIR/InferIR/Binop/index.html#type-t" > InferIR.Binop.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Binop/index.html#type-t" > InferIR.Binop.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-must_alias_cmp" > < a href = "#val-must_alias_cmp" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > must_alias_cmp : < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > bool< / code > < / dt > < dt class = "spec value" id = "val-set_array_stride" > < a href = "#val-set_array_stride" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > set_array_stride : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Typ/index.html#type-t" > InferIR.Typ.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-eval" > < a href = "#val-eval" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-eval_lindex" > < a href = "#val-eval_lindex" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_lindex : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-eval_unop" > < a href = "#val-eval_unop" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_unop : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Unop/index.html#type-t" > InferIR.Unop.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-eval_binop" > < a href = "#val-eval_binop" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_binop : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Binop/index.html#type-t" > InferIR.Binop.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-eval_locs" > < a href = "#val-eval_locs" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_locs : < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../AbsLoc/PowLoc/index.html#type-t" > AbsLoc.PowLoc.t< / a > < / code > < / dt > < dd > < p > < code > eval_locs exp mem< / code > is like < code > eval exp mem |> Val.get_all_locs< / code > but takes some shortcuts to avoid computing useless and/or problematic intermediate values< / p > < / dd > < / dl > < dl > < dt class = "spec value" id = "val-eval_arr" > < a href = "#val-eval_arr" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_arr : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-is_stack_exp" > < a href = "#val-is_stack_exp" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > is_stack_exp : < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > bool< / code > < / dt > < / dl > < div class = "spec module" id = "module-ParamBindings" > < a href = "#module-ParamBindings" class = "anchor" > < / a > < code > < span class = "keyword" > module< / span > < a href = "ParamBindings/index.html" > ParamBindings< / a > : < span class = "keyword" > sig< / span > ... < span class = "keyword" > end< / span > < / code > < / div > < dl > < dt class = "spec type" id = "type-eval_mode" > < a href = "#type-eval_mode" class = "anchor" > < / a > < code > < span class = "keyword" > type< / span > eval_mode< / code > < code > = < / code > < table class = "variant" > < tr id = "type-eval_mode.EvalNormal" class = "anchored" > < td class = "def constructor" > < a href = "#type-eval_mode.EvalNormal" class = "anchor" > < / a > < code > | < / code > < code > < span class = "constructor" > EvalNormal< / span > < / code > < / td > < / tr > < tr id = "type-eval_mode.EvalPOCond" class = "anchored" > < td class = "def constructor" > < a href = "#type-eval_mode.EvalPOCond" class = "anchor" > < / a > < code > | < / code > < code > < span class = "constructor" > EvalPOCond< / span > < / code > < / td > < / tr > < tr id = "type-eval_mode.EvalPOReachability" class = "anchored" > < td class = "def constructor" > < a href = "#type-eval_mode.EvalPOReachability" class = "anchor" > < / a > < code > | < / code > < code > < span class = "constructor" > EvalPOReachability< / span > < / code > < / td > < / tr > < / table > < / dt > < / dl > < dl > < dt class = "spec value" id = "val-eval_sympath_modeled_partial" > < a href = "#val-eval_sympath_modeled_partial" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_sympath_modeled_partial : < span > mode:< a href = "index.html#type-eval_mode" > eval_mode< / a > < / span > < span > - > < / span > < a href = "../Symb/SymbolPath/index.html#type-partial" > Symb.SymbolPath.partial< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-eval_sympath_partial" > < a href = "#val-eval_sympath_partial" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_sympath_partial : < span > mode:< a href = "index.html#type-eval_mode" > eval_mode< / a > < / span > < span > - > < / span > < span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < a href = "ParamBindings/index.html#type-t" > ParamBindings.t< / a > < / span > < span > - > < / span > < a href = "../Symb/SymbolPath/index.html#type-partial" > Symb.SymbolPath.partial< / a > < span > - > < / span > < span > < span class = "type-var" > 'a< / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t0" > BufferOverrunDomain.Mem.t0< / a > < / span > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-eval_locpath" > < a href = "#val-eval_locpath" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_locpath : < span > mode:< a href = "index.html#type-eval_mode" > eval_mode< / a > < / span > < span > - > < / span > < span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < a href = "ParamBindings/index.html#type-t" > ParamBindings.t< / a > < / span > < span > - > < / span > < a href = "../Symb/SymbolPath/index.html#type-partial" > Symb.SymbolPath.partial< / a > < span > - > < / span > < span > < span class = "type-var" > 'a< / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t0" > BufferOverrunDomain.Mem.t0< / a > < / span > < span > - > < / span > < a href = "../AbsLoc/PowLoc/index.html#type-t" > AbsLoc.PowLoc.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-eval_sympath" > < a href = "#val-eval_sympath" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > eval_sympath : < span > mode:< a href = "index.html#type-eval_mode" > eval_mode< / a > < / span > < span > - > < / span > < span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < a href = "ParamBindings/index.html#type-t" > ParamBindings.t< / a > < / span > < span > - > < / span > < a href = "../Symb/SymbolPath/index.html#type-t" > Symb.SymbolPath.t< / a > < span > - > < / span > < span > < span class = "type-var" > 'a< / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t0" > BufferOverrunDomain.Mem.t0< / a > < / span > < span > - > < / span > < a href = "../Itv/index.html#type-t" > Itv.t< / a > * < a href = "../../InferModules__BufferOverrunTrace/Set/index.html#type-t" > InferModules__BufferOverrunDomain.TraceSet.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-mk_eval_sym_trace" > < a href = "#val-mk_eval_sym_trace" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > mk_eval_sym_trace : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < span > < span > (< a href = "ParamBindings/index.html#type-key" > ParamBindings.key< / a > * < span class = "type-var" > 'a< / span > )< / span > list< / span > < span > - > < / span > < span > < span > (< a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > * < span class = "type-var" > 'b< / span > )< / span > < a href = "../../../InferStdlib/InferStdlib/index.html#module-IStd" > InferStdlib.IStd< / a > .List.t< / span > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < span > mode:< a href = "index.html#type-eval_mode" > eval_mode< / a > < / span > < span > - > < / span > < a href = "../BufferOverrunDomain/index.html#type-eval_sym_trace" > BufferOverrunDomain.eval_sym_trace< / a > < / code > < / dt > < dt class = "spec value" id = "val-mk_eval_sym" > < a href = "#val-mk_eval_sym" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > mk_eval_sym : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < span > < span > (< a href = "ParamBindings/index.html#type-key" > ParamBindings.key< / a > * < span class = "type-var" > 'a< / span > )< / span > list< / span > < span > - > < / span > < span > < span > (< a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > * < span class = "type-var" > 'b< / span > )< / span > < a href = "../../../InferStdlib/InferStdlib/index.html#module-IStd" > InferStdlib.IStd< / a > .List.t< / span > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../Bounds/Bound/index.html#type-eval_sym" > Bounds.Bound.eval_sym< / a > < / code > < / dt > < dt class = "spec value" id = "val-get_sym_f" > < a href = "#val-get_sym_f" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > get_sym_f : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../../InferModules__BufferOverrunDomainRelation/Sym/index.html#type-t" > InferModules__BufferOverrunDomain.Relation.Sym.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-get_offset_sym_f" > < a href = "#val-get_offset_sym_f" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > get_offset_sym_f : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../../InferModules__BufferOverrunDomainRelation/Sym/index.html#type-t" > InferModules__BufferOverrunDomain.Relation.Sym.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-get_size_sym_f" > < a href = "#val-get_size_sym_f" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > get_size_sym_f : < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > < span > - > < / span > < a href = "../../InferModules__BufferOverrunDomainRelation/Sym/index.html#type-t" > InferModules__BufferOverrunDomain.Relation.Sym.t< / a > < / code > < / dt > < / dl > < div class = "spec module" id = "module-Prune" > < a href = "#module-Prune" class = "anchor" > < / a > < code > < span class = "keyword" > module< / span > < a href = "Prune/index.html" > Prune< / a > : < span class = "keyword" > sig< / span > ... < span class = "keyword" > end< / span > < / code > < / div > < dl > < dt class = "spec value" id = "val-get_matching_pairs" > < a href = "#val-get_matching_pairs" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > get_matching_pairs : < a href = "../../../InferIR/InferIR/Tenv/index.html#type-t" > InferIR.Tenv.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > < span > - > < / span > < span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > option< / span > < span > - > < / span > < a href = "../../../InferIR/InferIR/Typ/index.html#type-t" > InferIR.Typ.t< / a > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < span > < span class = "type-var" > 'a< / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t0" > BufferOverrunDomain.Mem.t0< / a > < / span > < span > - > < / span > < span > < span > (< a href = "../../InferModules__BufferOverrunDomainRelation/Var/index.html#type-t" > BufferOverrunDomain.Relation.Var.t< / a > * < span > < a href = "../../InferModules__BufferOverrunDomainRelation/SymExp/index.html#type-t" > BufferOverrunDomain.Relation.SymExp.t< / a > option< / span > )< / span > list< / span > < / code > < / dt > < dt class = "spec value" id = "val-subst_map_of_rel_pairs" > < a href = "#val-subst_map_of_rel_pairs" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > subst_map_of_rel_pairs : < span > < span > (< a href = "../../InferModules__BufferOverrunDomainRelation/Var/index.html#type-t" > BufferOverrunDomain.Relation.Var.t< / a > * < span > < a href = "../../InferModules__BufferOverrunDomainRelation/SymExp/index.html#type-t" > BufferOverrunDomain.Relation.SymExp.t< / a > option< / span > )< / span > list< / span > < span > - > < / span > < a href = "../../InferModules__BufferOverrunDomainRelation/SubstMap/index.html#type-t" > BufferOverrunDomain.Relation.SubstMap.t< / a > < / code > < / dt > < dt class = "spec value" id = "val-list_fold2_def" > < a href = "#val-list_fold2_def" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > list_fold2_def : < span > default:< span > (< a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > * < span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > option< / span > )< / span > < / span > < span > - > < / span > < span > f:< span > (< span class = "type-var" > 'a< / span > < span > - > < / span > < span > (< a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > * < span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > option< / span > )< / span > < span > - > < / span > < span class = "type-var" > 'b< / span > < span > - > < / span > < span class = "type-var" > 'b< / span > )< / span > < / span > < span > - > < / span > < span > < span class = "type-var" > 'a< / span > list< / span > < span > - > < / span > < span > < span > (< a href = "../BufferOverrunDomain/Val/index.html#type-t" > BufferOverrunDomain.Val.t< / a > * < span > < a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > option< / span > )< / span > list< / span > < span > - > < / span > < span > init:< span class = "type-var" > 'b< / span > < / span > < span > - > < / span > < span class = "type-var" > 'b< / span > < / code > < / dt > < dt class = "spec value" id = "val-get_subst_map" > < a href = "#val-get_subst_map" class = "anchor" > < / a > < code > < span class = "keyword" > val< / span > get_subst_map : < a href = "../../../InferIR/InferIR/Tenv/index.html#type-t" > InferIR.Tenv.t< / a > < span > - > < / span > < a href = "../../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t" > InferIR.Typ.IntegerWidths.t< / a > < span > - > < / span > < span > < span > (< a href = "../../../InferIR/InferIR/Pvar/index.html#type-t" > InferIR.Pvar.t< / a > * < a href = "../../../InferIR/InferIR/Typ/index.html#type-t" > InferIR.Typ.t< / a > )< / span > list< / span > < span > - > < / span > < span > < span > (< a href = "../../../InferIR/InferIR/Exp/index.html#type-t" > InferIR.Exp.t< / a > * < span class = "type-var" > 'a< / span > )< / span > list< / span > < span > - > < / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t" > BufferOverrunDomain.Mem.t< / a > < span > - > < / span > < span > < span class = "type-var" > 'b< / span > < a href = "../BufferOverrunDomain/Mem/index.html#type-t0" > BufferOverrunDomain.Mem.t0< / a > < / span > < span > - > < / span > < a href = "../../InferModules__BufferOverrunDomainRelation/SubstMap/index.html#type-t" > BufferOverrunDomain.Relation.SubstMap.t< / a > < / code > < / dt > < / dl > < / div > < / body > < / html >