type precedence

val prec : precedence -> Langage.func -> Langage.func -> int

val subterm : Langage.term -> Langage.term -> bool

exception Incomparables

val all_same : 'a -> 'a list -> 'a
(*all_same x l   tests if all the elements of l are equal to x*)

val pat_to_term : Langage.pattern -> Langage.term

val is_ord_eq : (precedence -> Langage.term -> Langage.term -> int) -> precedence -> Langage.equation -> bool

(*is_ord_eq ord prec eq   checks if the equation is ordered with the given*)
(*ordering and precedence                                                 *)

val is_ord :  (precedence -> Langage.term -> Langage.term -> int) -> Langage.prog -> bool

(*is_ord ord prg   checks if the program is ordered using the given ordering*)
