pub open spec fn pre_ordering<T>(r: FnSpec<(T, T), bool>) -> bool
{ &&& reflexive(r) &&& transitive(r) }