[package]
[Java implementation]
[Execution output]
Relational
import church.lang.operators.Logical;
class Ordering: {LT, EQ, GT};
abstract <T> Ordering: compare(T: a, T: b);abstract <T> boolean: (T: a) == (T: b);
(a == b) = (compare(a, b) == Ordering.EQ);
(a != b) = not (a == b);
(a < b) = (compare(a, b) == Ordering.LT);
(a > b) = (compare(a, b) == Ordering.GT);
(a <= b) = (compare(a, b) != Ordering.GT);
(a >= b) = (compare(a, b) != Ordering.LT);
min(a, b) = (a <= b ? a : b);
max(a, b) = (a >= b ? a : b);