sig
  type 'a man
  and 'a t
  external manager_get_manager : 'Apron.Policy.man -> 'Apron.Manager.t
    = "camlidl_policy_ap_policy_manager_get_manager"
  external manager : 'Apron.Policy.t -> 'Apron.Policy.man
    = "camlidl_policy_ap_policy_manager"
  external copy :
    'Apron.Policy.man -> 'Apron.Policy.t -> 'Apron.Policy.t
    = "camlidl_policy_ap_policy_copy"
  external fdump : 'Apron.Policy.man -> 'Apron.Policy.t -> unit
    = "camlidl_policy_ap_policy_fdump"
  external to_string : 'Apron.Policy.man -> 'Apron.Policy.t -> string
    = "camlidl_policy_ap_policy_to_string"
  external dimension : 'Apron.Policy.man -> 'Apron.Policy.t -> int
    = "camlidl_policy_ap_policy_dimension"
  external equal :
    'Apron.Policy.man -> 'Apron.Policy.t -> 'Apron.Policy.t -> bool
    = "camlidl_policy_ap_policy_equal"
  module Abstract0 :
    sig
      external meet_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract0.t -> 'Apron.Abstract0.t -> 'Apron.Abstract0.t
        = "camlidl_policy_ap_abstract0_policy_meet_apply"
      external meet_array_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract0.t array -> 'Apron.Abstract0.t
        = "camlidl_policy_ap_abstract0_policy_meet_array_apply"
      external meet_lincons_array_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract0.t ->
        Apron.Lincons0.t array -> 'Apron.Abstract0.t
        = "camlidl_policy_ap_abstract0_policy_meet_lincons_array_apply"
      external meet_tcons_array_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract0.t -> Apron.Tcons0.t array -> 'Apron.Abstract0.t
        = "camlidl_policy_ap_abstract0_policy_meet_tcons_array_apply"
      external meet_with_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract0.t -> 'Apron.Abstract0.t -> unit
        = "camlidl_policy_ap_abstract0_policy_meet_with_apply"
      external meet_lincons_array_with_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract0.t -> Apron.Lincons0.t array -> unit
        = "camlidl_policy_ap_abstract0_policy_meet_lincons_array_with_apply"
      external meet_tcons_array_with_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract0.t -> Apron.Tcons0.t array -> unit
        = "camlidl_policy_ap_abstract0_policy_meet_tcons_array_with_apply"
      external meet_improve :
        'Apron.Policy.man ->
        'Apron.Policy.t option ->
        'Apron.Abstract0.t -> 'Apron.Abstract0.t -> 'Apron.Policy.t
        = "camlidl_policy_ap_abstract0_policy_meet_improve"
      external meet_array_improve :
        'Apron.Policy.man ->
        'Apron.Policy.t option ->
        'Apron.Abstract0.t array -> 'Apron.Policy.t
        = "camlidl_policy_ap_abstract0_policy_meet_array_improve"
      external meet_lincons_array_improve :
        'Apron.Policy.man ->
        'Apron.Policy.t option ->
        'Apron.Abstract0.t -> Apron.Lincons0.t array -> 'Apron.Policy.t
        = "camlidl_policy_ap_abstract0_policy_meet_lincons_array_improve"
      external meet_tcons_array_improve :
        'Apron.Policy.man ->
        'Apron.Policy.t option ->
        'Apron.Abstract0.t -> Apron.Tcons0.t array -> 'Apron.Policy.t
        = "camlidl_policy_ap_abstract0_policy_meet_tcons_array_improve"
    end
  module Abstract1 :
    sig
      external meet_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract1.t -> 'Apron.Abstract1.t -> 'Apron.Abstract1.t
        = "camlidl_policy_ap_abstract1_policy_meet_apply"
      external meet_array_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract1.t array -> 'Apron.Abstract1.t
        = "camlidl_policy_ap_abstract1_policy_meet_array_apply"
      external meet_lincons_array_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract1.t -> Apron.Lincons1.earray -> 'Apron.Abstract1.t
        = "camlidl_policy_ap_abstract1_policy_meet_lincons_array_apply"
      external meet_tcons_array_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract1.t -> Apron.Tcons1.earray -> 'Apron.Abstract1.t
        = "camlidl_policy_ap_abstract1_policy_meet_tcons_array_apply"
      external meet_with_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract1.t -> 'Apron.Abstract1.t -> unit
        = "camlidl_policy_ap_abstract1_policy_meet_with_apply"
      external meet_lincons_array_with_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract1.t -> Apron.Lincons1.earray -> unit
        = "camlidl_policy_ap_abstract1_policy_meet_lincons_array_with_apply"
      external meet_tcons_array_with_apply :
        'Apron.Policy.man ->
        'Apron.Policy.t ->
        'Apron.Abstract1.t -> Apron.Tcons1.earray -> unit
        = "camlidl_policy_ap_abstract1_policy_meet_tcons_array_with_apply"
      external meet_improve :
        'Apron.Policy.man ->
        'Apron.Policy.t option ->
        'Apron.Abstract1.t -> 'Apron.Abstract1.t -> 'Apron.Policy.t
        = "camlidl_policy_ap_abstract1_policy_meet_improve"
      external meet_array_improve :
        'Apron.Policy.man ->
        'Apron.Policy.t option ->
        'Apron.Abstract1.t array -> 'Apron.Policy.t
        = "camlidl_policy_ap_abstract1_policy_meet_array_improve"
      external meet_lincons_array_improve :
        'Apron.Policy.man ->
        'Apron.Policy.t option ->
        'Apron.Abstract1.t -> Apron.Lincons1.earray -> 'Apron.Policy.t
        = "camlidl_policy_ap_abstract1_policy_meet_lincons_array_improve"
      external meet_tcons_array_improve :
        'Apron.Policy.man ->
        'Apron.Policy.t option ->
        'Apron.Abstract1.t -> Apron.Tcons1.earray -> 'Apron.Policy.t
        = "camlidl_policy_ap_abstract1_policy_meet_tcons_array_improve"
    end
end