sig
  type term = FOTerm.t
  type t
  type ordering = Ordering.t
  val compare : Ordering.t -> Ordering.term -> Ordering.term -> Comparison.t
  val precedence : Ordering.t -> Precedence.t
  val add_list : Ordering.t -> ID.t list -> unit
  val add_seq : Ordering.t -> ID.t Sequence.t -> unit
  val name : Ordering.t -> string
  val clear_cache : Ordering.t -> unit
  val pp : t CCFormat.printer
  val to_string : t -> string
  val kbo : Precedence.t -> Ordering.t
  val rpo6 : Precedence.t -> Ordering.t
  val none : Ordering.t
  val subterm : Ordering.t
  val default_of_list : ID.t list -> Ordering.t
  val default_of_prec : Precedence.t -> Ordering.t
  val by_name : string -> Precedence.t -> Ordering.t
  val register : string -> (Precedence.t -> Ordering.t) -> unit
end