sig
  type t
  val name : string
  val compare : Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t -> int
  val hash : Simpler_domains.Minimal.t -> int
  val top : Simpler_domains.Minimal.t
  val is_included :
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t -> bool
  val join :
    Simpler_domains.Minimal.t ->
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t
  val widen :
    Cil_types.kernel_function ->
    Cil_types.stmt ->
    Simpler_domains.Minimal.t ->
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t
  val assign :
    Cil_types.kinstr ->
    Cil_types.lval ->
    Cil_types.exp ->
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t Eval.or_bottom
  val assume :
    Cil_types.stmt ->
    Cil_types.exp ->
    bool ->
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t Eval.or_bottom
  val start_call :
    Cil_types.stmt ->
    Simpler_domains.simple_call ->
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t
  val finalize_call :
    Cil_types.stmt ->
    Simpler_domains.simple_call ->
    pre:Simpler_domains.Minimal.t ->
    post:Simpler_domains.Minimal.t ->
    Simpler_domains.Minimal.t Eval.or_bottom
  val empty : unit -> Simpler_domains.Minimal.t
  val introduce_globals :
    Cil_types.varinfo list ->
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t
  val initialize_variable :
    Cil_types.lval ->
    initialized:bool ->
    Abstract_domain.init_value ->
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t
  val enter_scope :
    Cil_types.kernel_function ->
    Cil_types.varinfo list ->
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t
  val leave_scope :
    Cil_types.kernel_function ->
    Cil_types.varinfo list ->
    Simpler_domains.Minimal.t -> Simpler_domains.Minimal.t
  val pretty : Format.formatter -> Simpler_domains.Minimal.t -> unit
  val show_expr :
    Simpler_domains.Minimal.t -> Format.formatter -> Cil_types.exp -> unit
end