sig
  type t
  type obs
  val c_true : Inf.ConstBasic.t
  val c_false : string option -> Inf.ConstBasic.t
  val create_c_demotation_lenv :
    Inf.Vars.LEVar.t -> Inf.Type.phi -> Inf.Vars.LEVar.t -> Inf.ConstBasic.t
  val create_c_demotation_lenv_phi :
    Inf.Vars.LEVar.t ->
    Inf.Type.phi -> Inf.Type.phi -> Inf.Vars.LEVar.t -> Inf.ConstBasic.t
  val create_c_demotation_type :
    Inf.Type.t -> Inf.Type.phi -> Inf.Type.t -> Inf.ConstBasic.t
  val create_c_include : Location.Loc.t -> Inf.Type.phi -> Inf.ConstBasic.t
  val create_c_exclude : Location.Loc.t -> Inf.Type.phi -> Inf.ConstBasic.t
  val create_c_subset :
    ?prio:int -> Inf.Type.phi -> Inf.Type.phi -> Inf.ConstBasic.t
  val create_c_disjoint :
    ?prio:int -> Inf.Type.phi -> Inf.Type.phi -> Inf.ConstBasic.t
  val create_c_subtype :
    ?prio:int -> Inf.Type.t -> Inf.Type.t -> Inf.ConstBasic.t
  val create_c_eqtype : Inf.Type.t -> Inf.Type.t -> Inf.ConstBasic.t
  val create_c_eqlenv : Inf.Type.lenv -> Inf.Type.lenv -> Inf.ConstBasic.t
  val create_c_eqobj : Inf.Type.r -> Inf.Type.r -> Inf.ConstBasic.t
  val create_c_eqset : Inf.Type.phi -> Inf.Type.phi -> Inf.ConstBasic.t
  val create_c_eqpres : Inf.Type.q -> Inf.Type.q -> Inf.ConstBasic.t
  val create_c_domain_eq :
    Inf.Type.phi -> Inf.Vars.LEVar.t -> Inf.ConstBasic.t
  val create_c_lev_empty_obj :
    Inf.Vars.LEVar.t ->
    Inf.Vars.LEVar.t -> Location.Loc.t -> Inf.ConstBasic.t
  val create_c_flow :
    Inf.Vars.LEVar.t -> Inf.Type.t -> Inf.Type.t -> Inf.ConstBasic.t
  val create_c_read :
    Inf.Vars.LEVar.t ->
    Inf.Vars.PrVar.t ->
    Inf.Vars.LSVar.t -> Syntax.label -> Inf.Vars.TVar.t -> Inf.ConstBasic.t
  val create_c_write :
    Inf.Vars.LEVar.t ->
    Inf.Vars.TVar.t ->
    Syntax.label -> Inf.Vars.TVar.t -> Inf.Vars.LEVar.t -> Inf.ConstBasic.t
  val create_c_locs : Inf.Type.phi -> Inf.Type.t -> Inf.ConstBasic.t
  val string_of : Inf.ConstBasic.t -> string
end