sig
  type 'a t
  external manager_alloc :
    'Apron.Manager.t -> 'Apron.Disjunction.t Apron.Manager.t
    = "camlidl_disjunction_ap_disjunction_manager_alloc"
  external manager_decompose :
    'Apron.Disjunction.t Apron.Manager.t -> 'Apron.Manager.t
    = "camlidl_disjunction_ap_disjunction_manager_decompose"
  external to_lincons0_set :
    'Apron.Disjunction.t Apron.Manager.t ->
    'Apron.Disjunction.t Apron.Abstract0.t -> Apron.Lincons0.t array
    = "camlidl_disjunction_ap_disjunction_to_lincons0_set"
  val to_lincons1_set :
    'Apron.Disjunction.t Apron.Manager.t ->
    'Apron.Disjunction.t Apron.Abstract1.t -> Apron.Lincons1.earray
  external _decompose :
    'Apron.Disjunction.t Apron.Manager.t ->
    'Apron.Disjunction.t Apron.Abstract0.t ->
    'Apron.Abstract0.t array * int
    = "camlidl_disjunction_ap_disjunction__decompose"
  val decompose :
    'Apron.Disjunction.t Apron.Manager.t ->
    'Apron.Disjunction.t Apron.Abstract0.t -> 'Apron.Abstract0.t array
  external compose :
    'Apron.Disjunction.t Apron.Manager.t ->
    'Apron.Abstract0.t array -> 'Apron.Disjunction.t Apron.Abstract0.t
    = "camlidl_disjunction_ap_disjunction_compose"
  val manager_is_disjunction : 'Apron.Manager.t -> bool
  val manager_of_disjunction :
    'Apron.Disjunction.t Apron.Manager.t -> 'Apron.Manager.t
  val manager_to_disjunction :
    'Apron.Manager.t -> 'Apron.Disjunction.t Apron.Manager.t
  module Abstract0 :
    sig
      val is_disjunction : 'Apron.Abstract0.t -> bool
      val of_disjunction :
        'Apron.Disjunction.t Apron.Abstract0.t -> 'Apron.Abstract0.t
      val to_disjunction :
        'Apron.Abstract0.t -> 'Apron.Disjunction.t Apron.Abstract0.t
    end
  module Abstract1 :
    sig
      val is_disjunction : 'Apron.Abstract1.t -> bool
      val of_disjunction :
        'Apron.Disjunction.t Apron.Abstract1.t -> 'Apron.Abstract1.t
      val to_disjunction :
        'Apron.Abstract1.t -> 'Apron.Disjunction.t Apron.Abstract1.t
    end
end