sig
  type occurs = UP_INT of int | UNBOUNDED
  type occurrence_indicator = Occurrence.occurs * Occurrence.occurs
  val occurs : int -> Occurrence.occurs
  val unbounded : Occurrence.occurs
  val occurs_zero : Occurrence.occurs
  val occurs_one : Occurrence.occurs
  val ub_max : Occurrence.occurs -> Occurrence.occurs -> Occurrence.occurs
  val ub_min : Occurrence.occurs -> Occurrence.occurs -> Occurrence.occurs
  val ub_add : Occurrence.occurs -> Occurrence.occurs -> Occurrence.occurs
  val ub_mult : Occurrence.occurs -> Occurrence.occurs -> Occurrence.occurs
  val mult : Occurrence.occurs -> Occurrence.occurs -> Occurrence.occurs
  val minus : int -> Occurrence.occurs -> Occurrence.occurs
  val equal : Occurrence.occurs -> Occurrence.occurs -> bool
  val le : Occurrence.occurs -> Occurrence.occurs -> bool
  val string_of_occurs : Occurrence.occurs -> string
  val one : Occurrence.occurrence_indicator
  val optional : Occurrence.occurrence_indicator
  val star : Occurrence.occurrence_indicator
  val plus : Occurrence.occurrence_indicator
  val is_one : Occurrence.occurrence_indicator -> bool
  val is_optional : Occurrence.occurrence_indicator -> bool
  val is_star : Occurrence.occurrence_indicator -> bool
  val is_plus : Occurrence.occurrence_indicator -> bool
  val mult_occurrences :
    Occurrence.occurrence_indicator ->
    Occurrence.occurrence_indicator -> Occurrence.occurrence_indicator
  val seq_occurrences :
    Occurrence.occurrence_indicator ->
    Occurrence.occurrence_indicator -> Occurrence.occurrence_indicator
  val approximate_occurrences :
    Occurrence.occurrence_indicator -> Occurrence.occurrence_indicator
end