sig
  val index : Wp.Memory.lval -> Wp.Lang.F.term -> Wp.Memory.lval
  val field : Wp.Memory.lval -> Cil_types.fieldinfo -> Wp.Memory.lval
  val equal : Wp.Memory.lval -> Wp.Memory.lval -> bool
  type 'a model
  type state
  val create :
    (module Wp.Memory.Model with type Sigma.t = 'a) -> 'Wp.Mstate.model
  val state : 'Wp.Mstate.model -> '-> Wp.Mstate.state
  val lookup : Wp.Mstate.state -> Wp.Lang.F.term -> Wp.Memory.mval
  val apply :
    (Wp.Lang.F.term -> Wp.Lang.F.term) -> Wp.Mstate.state -> Wp.Mstate.state
  val iter :
    (Wp.Memory.mval -> Wp.Lang.F.term -> unit) -> Wp.Mstate.state -> unit
  val updates :
    Wp.Mstate.state Wp.Memory.sequence ->
    Wp.Lang.F.Vars.t -> Wp.Memory.update Bag.t
end