sig
  val name : string
  type cell_class_attributes
  type validity =
      All
    | Unknown of Abstract_interp.Int.t * Abstract_interp.Int.t
    | Known of Abstract_interp.Int.t * Abstract_interp.Int.t
  type t = private
      Var of Cil_types.varinfo * Base.validity
    | Initialized_Var of Cil_types.varinfo * Base.validity
    | Null
    | String of int * string
    | Cell_class of Base.cell_class_attributes
  val pretty : Format.formatter -> Base.t -> unit
  val pretty_validity : Format.formatter -> Base.validity -> unit
  val compare : Base.t -> Base.t -> int
  val typeof : Base.t -> Cil_types.typ option
  val hash : Base.t -> int
  val equal : Base.t -> Base.t -> bool
  val null : Base.t
  val is_null : Base.t -> bool
  val bits_sizeof : Base.t -> Int_Base.t
  val id : Base.t -> int
  val is_aligned_by : Base.t -> Abstract_interp.Int.t -> bool
  val validity : Base.t -> Base.validity
  exception Not_valid_offset
  val is_valid_offset : Abstract_interp.Int.t -> Base.t -> Ival.t -> unit
  val is_formal_or_local : Base.t -> Cil_types.fundec -> bool
  val is_any_formal_or_local : Base.t -> bool
  val is_any_local : Base.t -> bool
  val is_formal_of_prototype : Base.t -> Cil_types.varinfo -> bool
  val is_local : Base.t -> Cil_types.fundec -> bool
  val is_block_local : Base.t -> Cil_types.block -> bool
  val is_hidden_variable : Base.t -> bool
  val validity_from_type : Cil_types.varinfo -> Base.validity
  val create_varinfo : Cil_types.varinfo -> Base.t
  exception Not_a_variable
  val get_varinfo : Base.t -> Cil_types.varinfo
  val create_logic : Cil_types.varinfo -> Base.validity -> Base.t
  val create_initialized : Cil_types.varinfo -> Base.validity -> Base.t
  val create_string : string -> Base.t
  module Datatype :
    sig
      type t = t
      val descr : Unmarshal.t
      val copy : t -> t
      val name : string
      val register_comparable :
        ?compare:(t -> t -> int) ->
        ?equal:(t -> t -> bool) -> ?hash:(t -> int) -> unit -> unit
      val is_comparable_set : unit -> bool
      val hash : t -> int
      val equal : t -> t -> bool
      val compare : t -> t -> int
      val mem_project : ((Project.project -> bool) -> t -> bool) option ref
    end
  val min_valid_absolute_address : unit -> Abstract_interp.Int.t
  val max_valid_absolute_address : unit -> Abstract_interp.Int.t
end