sig
  type key = int
  type value = int
  type mvbdu = Mvbdu.mvbdu
  type handler =
      (Boolean_mvbdu.memo_tables, Boolean_mvbdu.mvbdu_dic,
       Boolean_mvbdu.association_list_dic, Boolean_mvbdu.range_list_dic,
       Boolean_mvbdu.variables_list_dic, bool, int)
      Memo_sig.handler
  type hconsed_range_list
  type hconsed_association_list
  type hconsed_variables_list
  type hconsed_renaming_list
  val init : Remanent_parameters_sig.parameters -> unit
  val import_handler : handler -> unit
  val export_handler :
    Exception.method_handler -> Exception.method_handler * handler option
  val is_init : unit -> bool
  val equal : mvbdu -> mvbdu -> bool
  val mvbdu_false : unit -> mvbdu
  val mvbdu_true : unit -> mvbdu
  val mvbdu_not : mvbdu -> mvbdu
  val mvbdu_id : mvbdu -> mvbdu
  val mvbdu_unary_true : mvbdu -> mvbdu
  val mvbdu_unary_false : mvbdu -> mvbdu
  val mvbdu_and : mvbdu -> mvbdu -> mvbdu
  val mvbdu_or : mvbdu -> mvbdu -> mvbdu
  val mvbdu_xor : mvbdu -> mvbdu -> mvbdu
  val mvbdu_nand : mvbdu -> mvbdu -> mvbdu
  val mvbdu_nor : mvbdu -> mvbdu -> mvbdu
  val mvbdu_imply : mvbdu -> mvbdu -> mvbdu
  val mvbdu_rev_imply : mvbdu -> mvbdu -> mvbdu
  val mvbdu_equiv : mvbdu -> mvbdu -> mvbdu
  val mvbdu_nimply : mvbdu -> mvbdu -> mvbdu
  val mvbdu_nrev_imply : mvbdu -> mvbdu -> mvbdu
  val mvbdu_bi_true : mvbdu -> mvbdu -> mvbdu
  val mvbdu_bi_false : mvbdu -> mvbdu -> mvbdu
  val mvbdu_fst : mvbdu -> mvbdu -> mvbdu
  val mvbdu_snd : mvbdu -> mvbdu -> mvbdu
  val mvbdu_nfst : mvbdu -> mvbdu -> mvbdu
  val mvbdu_nsnd : mvbdu -> mvbdu -> mvbdu
  val mvbdu_redefine : mvbdu -> hconsed_association_list -> mvbdu
  val mvbdu_redefine_range : mvbdu -> hconsed_range_list -> mvbdu
  val mvbdu_subseteq : mvbdu -> mvbdu -> bool
  val mvbdu_of_hconsed_asso : hconsed_association_list -> mvbdu
  val mvbdu_of_association_list : (key * value) list -> mvbdu
  val mvbdu_of_sorted_association_list : (key * value) list -> mvbdu
  val mvbdu_of_reverse_sorted_association_list : (key * value) list -> mvbdu
  val mvbdu_of_hconsed_range : hconsed_range_list -> mvbdu
  val mvbdu_of_range_list : (key * (value * value)) list -> mvbdu
  val mvbdu_of_sorted_range_list : (key * (value * value)) list -> mvbdu
  val mvbdu_of_reverse_sorted_range_list :
    (key * (value * value)) list -> mvbdu
  val mvbdu_rename : mvbdu -> hconsed_renaming_list -> mvbdu
  val mvbdu_project_abstract_away : mvbdu -> hconsed_variables_list -> mvbdu
  val mvbdu_project_keep_only : mvbdu -> hconsed_variables_list -> mvbdu
  val mvbdu_cartesian_abstraction : mvbdu -> mvbdu list
  val mvbdu_cartesian_decomposition_depth :
    mvbdu -> int -> mvbdu option * mvbdu list
  val mvbdu_full_cartesian_decomposition : mvbdu -> mvbdu list
  val build_association_list : (key * value) list -> hconsed_association_list
  val build_sorted_association_list :
    (key * value) list -> hconsed_association_list
  val build_reverse_sorted_association_list :
    (key * value) list -> hconsed_association_list
  val empty_association_list : unit -> hconsed_association_list
  val build_range_list : (key * (value * value)) list -> hconsed_range_list
  val build_sorted_range_list :
    (key * (value * value)) list -> hconsed_range_list
  val build_reverse_sorted_range_list :
    (key * (value * value)) list -> hconsed_range_list
  val empty_range_list : unit -> hconsed_range_list
  val build_variables_list : key list -> hconsed_variables_list
  val build_sorted_variables_list : key list -> hconsed_variables_list
  val build_reverse_sorted_variables_list :
    key list -> hconsed_variables_list
  val empty_variables_list : unit -> hconsed_variables_list
  val build_renaming_list : (key * key) list -> hconsed_renaming_list
  val build_sorted_renaming_list : (key * key) list -> hconsed_renaming_list
  val build_reverse_sorted_renaming_list :
    (key * key) list -> hconsed_renaming_list
  val empty_renaming_list : unit -> hconsed_renaming_list
  val overwrite_association_lists :
    hconsed_association_list ->
    hconsed_association_list -> hconsed_association_list
  val merge_variables_lists :
    hconsed_variables_list ->
    hconsed_variables_list -> hconsed_variables_list
  val nbr_variables : hconsed_variables_list -> int
  val extensional_of_variables_list : hconsed_variables_list -> key list
  val extensional_of_association_list :
    hconsed_association_list -> (key * value) list
  val extensional_of_mvbdu : mvbdu -> (key * value) list list
  val variables_list_of_mvbdu : mvbdu -> hconsed_variables_list
  val print : Remanent_parameters_sig.parameters -> mvbdu -> unit
  val print_association_list :
    Remanent_parameters_sig.parameters -> hconsed_association_list -> unit
  val print_variables_list :
    Remanent_parameters_sig.parameters -> hconsed_variables_list -> unit
  val hash_of_association_list : hconsed_association_list -> int
  val hash_of_variables_list : hconsed_variables_list -> int
end