lem

Lem is a tool for lightweight executable mathematics
type !'a eq_class = {
isEqual_method : 'a -> 'a -> bool;
isInequal_method : 'a -> 'a -> bool;
}
val unsafe_structural_inequality : 'a -> 'a -> bool
val instance_Basic_classes_Eq_var_dict : 'a eq_class
val instance_Basic_classes_Eq_Basic_classes_ordering_dict : int eq_class
type !'a ord_class = {
compare_method : 'a -> 'a -> int;
isLess_method : 'a -> 'a -> bool;
isLessEqual_method : 'a -> 'a -> bool;
isGreater_method : 'a -> 'a -> bool;
isGreaterEqual_method : 'a -> 'a -> bool;
}
val genericCompare : ( 'a -> 'a -> bool ) -> ( 'a -> 'a -> bool ) -> 'a -> 'a -> int
val ordCompare : 'a eq_class -> 'a ord_class -> 'a -> 'a -> int
type !'a ordMaxMin_class = {
max_method : 'a -> 'a -> 'a;
min_method : 'a -> 'a -> 'a;
}
val minByLessEqual : ( 'a -> 'a -> bool ) -> 'a -> 'a -> 'a
val maxByLessEqual : ( 'a -> 'a -> bool ) -> 'a -> 'a -> 'a
val instance_Basic_classes_OrdMaxMin_var_dict : 'b -> 'a ordMaxMin_class
type !'a setType_class = {
setElemCompare_method : 'a -> 'a -> int;
}
val instance_Basic_classes_SetType_var_dict : 'a setType_class
val instance_Basic_classes_Eq_bool_dict : bool eq_class
val boolCompare : bool -> bool -> int
val instance_Basic_classes_SetType_bool_dict : bool setType_class
val instance_Basic_classes_Eq_char_dict : char eq_class
val instance_Basic_classes_Eq_string_dict : string eq_class
val instance_Basic_classes_Eq_tup2_dict : 'a eq_class -> 'b eq_class -> ('a * 'b) eq_class
val pairCompare : ( 'a -> 'b -> int ) -> ( 'c -> 'd -> int ) -> ('a * 'c) -> ('b * 'd) -> int
val pairLess : 'a ord_class -> 'b ord_class -> ('b * 'a) -> ('b * 'a) -> bool
val pairLessEq : 'a ord_class -> 'b ord_class -> ('b * 'a) -> ('b * 'a) -> bool
val pairGreater : 'a ord_class -> 'b ord_class -> ('a * 'b) -> ('a * 'b) -> bool
val pairGreaterEq : 'a ord_class -> 'b ord_class -> ('a * 'b) -> ('a * 'b) -> bool
val instance_Basic_classes_Ord_tup2_dict : 'a ord_class -> 'b ord_class -> ('a * 'b) ord_class
val instance_Basic_classes_SetType_tup2_dict : 'a setType_class -> 'b setType_class -> ('a * 'b) setType_class
val tripleEqual : 'a eq_class -> 'b eq_class -> 'c eq_class -> ('a * 'b * 'c) -> ('a * 'b * 'c) -> bool
val instance_Basic_classes_Eq_tup3_dict : 'a eq_class -> 'b eq_class -> 'c eq_class -> ('a * 'b * 'c) eq_class
val tripleCompare : ( 'a -> 'b -> int ) -> ( 'c -> 'd -> int ) -> ( 'e -> 'f -> int ) -> ('a * 'c * 'e) -> ('b * 'd * 'f) -> int
val tripleLess : 'a ord_class -> 'b ord_class -> 'c ord_class -> ('a * 'b * 'c) -> ('a * 'b * 'c) -> bool
val tripleLessEq : 'a ord_class -> 'b ord_class -> 'c ord_class -> ('a * 'b * 'c) -> ('a * 'b * 'c) -> bool
val tripleGreater : 'a ord_class -> 'b ord_class -> 'c ord_class -> ('c * 'b * 'a) -> ('c * 'b * 'a) -> bool
val tripleGreaterEq : 'a ord_class -> 'b ord_class -> 'c ord_class -> ('c * 'b * 'a) -> ('c * 'b * 'a) -> bool
val instance_Basic_classes_Ord_tup3_dict : 'a ord_class -> 'b ord_class -> 'c ord_class -> ('a * 'b * 'c) ord_class
val instance_Basic_classes_SetType_tup3_dict : 'a setType_class -> 'b setType_class -> 'c setType_class -> ('a * 'b * 'c) setType_class
val quadrupleEqual : 'a eq_class -> 'b eq_class -> 'c eq_class -> 'd eq_class -> ('a * 'b * 'c * 'd) -> ('a * 'b * 'c * 'd) -> bool
val instance_Basic_classes_Eq_tup4_dict : 'a eq_class -> 'b eq_class -> 'c eq_class -> 'd eq_class -> ('a * 'b * 'c * 'd) eq_class
val quadrupleCompare : ( 'a -> 'b -> int ) -> ( 'c -> 'd -> int ) -> ( 'e -> 'f -> int ) -> ( 'g -> 'h -> int ) -> ('a * 'c * 'e * 'g) -> ('b * 'd * 'f * 'h) -> int
val quadrupleLess : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> ('a * 'b * 'c * 'd) -> ('a * 'b * 'c * 'd) -> bool
val quadrupleLessEq : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> ('a * 'b * 'c * 'd) -> ('a * 'b * 'c * 'd) -> bool
val quadrupleGreater : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> ('d * 'c * 'b * 'a) -> ('d * 'c * 'b * 'a) -> bool
val quadrupleGreaterEq : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> ('d * 'c * 'b * 'a) -> ('d * 'c * 'b * 'a) -> bool
val instance_Basic_classes_Ord_tup4_dict : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> ('a * 'b * 'c * 'd) ord_class
val instance_Basic_classes_SetType_tup4_dict : 'a setType_class -> 'b setType_class -> 'c setType_class -> 'd setType_class -> ('a * 'b * 'c * 'd) setType_class
val quintupleEqual : 'a eq_class -> 'b eq_class -> 'c eq_class -> 'd eq_class -> 'e eq_class -> ('a * 'b * 'c * 'd * 'e) -> ('a * 'b * 'c * 'd * 'e) -> bool
val instance_Basic_classes_Eq_tup5_dict : 'a eq_class -> 'b eq_class -> 'c eq_class -> 'd eq_class -> 'e eq_class -> ('a * 'b * 'c * 'd * 'e) eq_class
val quintupleCompare : ( 'a -> 'b -> int ) -> ( 'c -> 'd -> int ) -> ( 'e -> 'f -> int ) -> ( 'g -> 'h -> int ) -> ( 'i -> 'j -> int ) -> ('a * 'c * 'e * 'g * 'i) -> ('b * 'd * 'f * 'h * 'j) -> int
val quintupleLess : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> ('a * 'b * 'c * 'd * 'e) -> ('a * 'b * 'c * 'd * 'e) -> bool
val quintupleLessEq : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> ('a * 'b * 'c * 'd * 'e) -> ('a * 'b * 'c * 'd * 'e) -> bool
val quintupleGreater : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> ('e * 'd * 'c * 'b * 'a) -> ('e * 'd * 'c * 'b * 'a) -> bool
val quintupleGreaterEq : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> ('e * 'd * 'c * 'b * 'a) -> ('e * 'd * 'c * 'b * 'a) -> bool
val instance_Basic_classes_Ord_tup5_dict : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> ('a * 'b * 'c * 'd * 'e) ord_class
val instance_Basic_classes_SetType_tup5_dict : 'a setType_class -> 'b setType_class -> 'c setType_class -> 'd setType_class -> 'e setType_class -> ('a * 'b * 'c * 'd * 'e) setType_class
val sextupleEqual : 'a eq_class -> 'b eq_class -> 'c eq_class -> 'd eq_class -> 'e eq_class -> 'f eq_class -> ('a * 'b * 'c * 'd * 'e * 'f) -> ('a * 'b * 'c * 'd * 'e * 'f) -> bool
val instance_Basic_classes_Eq_tup6_dict : 'a eq_class -> 'b eq_class -> 'c eq_class -> 'd eq_class -> 'e eq_class -> 'f eq_class -> ('a * 'b * 'c * 'd * 'e * 'f) eq_class
val sextupleCompare : ( 'a -> 'b -> int ) -> ( 'c -> 'd -> int ) -> ( 'e -> 'f -> int ) -> ( 'g -> 'h -> int ) -> ( 'i -> 'j -> int ) -> ( 'k -> 'l -> int ) -> ('a * 'c * 'e * 'g * 'i * 'k) -> ('b * 'd * 'f * 'h * 'j * 'l) -> int
val sextupleLess : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> 'f ord_class -> ('a * 'b * 'c * 'd * 'e * 'f) -> ('a * 'b * 'c * 'd * 'e * 'f) -> bool
val sextupleLessEq : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> 'f ord_class -> ('a * 'b * 'c * 'd * 'e * 'f) -> ('a * 'b * 'c * 'd * 'e * 'f) -> bool
val sextupleGreater : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> 'f ord_class -> ('f * 'e * 'd * 'c * 'b * 'a) -> ('f * 'e * 'd * 'c * 'b * 'a) -> bool
val sextupleGreaterEq : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> 'f ord_class -> ('f * 'e * 'd * 'c * 'b * 'a) -> ('f * 'e * 'd * 'c * 'b * 'a) -> bool
val instance_Basic_classes_Ord_tup6_dict : 'a ord_class -> 'b ord_class -> 'c ord_class -> 'd ord_class -> 'e ord_class -> 'f ord_class -> ('a * 'b * 'c * 'd * 'e * 'f) ord_class
val instance_Basic_classes_SetType_tup6_dict : 'a setType_class -> 'b setType_class -> 'c setType_class -> 'd setType_class -> 'e setType_class -> 'f setType_class -> ('a * 'b * 'c * 'd * 'e * 'f) setType_class