module Comparison:sig..end
type t =
| |
Lt |
|||
| |
Eq |
|||
| |
Gt |
|||
| |
Incomparable |
(* |
partial order
| *) |
typecomparison =t
include Interfaces.PRINT
val combine : t -> t -> tInvalid_argument if the comparisons are inconsistent.val opp : t -> tval to_total : t -> intval of_total : int -> tval lexico : t -> t -> tIncomparableval (++) : t -> t -> tComparison.lexicotype'acomparator ='a -> 'a -> t
val (@>>) : 'a comparator ->
'a comparator -> 'a comparator(f1 @>> f2) x y is the same as f1 x y if
f1 x y is not Eq; otherwise it is the same as f2 x ytype ('a, 'b) combination
'a -> 'a -> 'bval (>>>) : 'a comparator ->
('b, 'c) combination ->
('a, 'b -> 'b -> 'c) combinationval last : 'a comparator -> ('a, t) combinationval call : ('a, 'b) combination -> 'a -> 'a -> 'bval dominates : ('a -> 'b -> t) -> 'a list -> 'b list -> booldominates f l1 l2 returns true iff for all element y of l2,
there is some x in l1 with f x y = Gtmodule type PARTIAL_ORD =sig..end