States.PMapmodule type PMapImpl = sig ... endmodule type OpenPMapType = sig ... endmodule type PMapType = sig ... endmodule Make
(I_Cons : functor (S : MyMonadicSMemory.S) -> PMapImpl with type entry = S.t)
(S : MyMonadicSMemory.S) :
PMapType
with type entry = S.t
and type t = I_Cons(S).t * Gillian.Gil_syntax.Expr.t optionmodule MakeOpen
(I_Cons : functor (S : MyMonadicSMemory.S) -> PMapImpl with type entry = S.t)
(S : MyMonadicSMemory.S) :
OpenPMapType with type entry = S.t and type t = I_Cons(S).tmodule type PMapIndex = sig ... endmodule LocationIndex : PMapIndexmodule StringIndex : PMapIndexmodule IntegerIndex : PMapIndextype 'e t_base_sat := 'e MyUtils.ExpMap.ttype 'e t_base_ent := 'e MyUtils.ExpMapEnt.ttype 'e t_split_sat := 'e MyUtils.ExpMap.t * 'e MyUtils.ExpMap.ttype 'e t_split_ent := 'e MyUtils.ExpMapEnt.t * 'e MyUtils.ExpMapEnt.ttype 'e t_aloc := 'e MyUtils.SMap.tmodule BaseImplSat
(I : PMapIndex)
(S : MyMonadicSMemory.S) :
PMapImpl with type t = S.t t_base_sat and type entry = S.tmodule BaseImplEnt
(I : PMapIndex)
(S : MyMonadicSMemory.S) :
PMapImpl with type t = S.t t_base_ent and type entry = S.tmodule SplitImplSat
(I : PMapIndex)
(S : MyMonadicSMemory.S) :
PMapImpl with type t = S.t t_split_sat and type entry = S.tmodule SplitImplEnt
(I : PMapIndex)
(S : MyMonadicSMemory.S) :
PMapImpl with type t = S.t t_split_ent and type entry = S.t