Skip to content

Commit

Permalink
doc: doc-string for Ord and Ord.compare (#3861)
Browse files Browse the repository at this point in the history
Hopefully one day we will be able to do a thorough refactor of the
computable order types in Lean... In the meantime, some doc-strings.
  • Loading branch information
kim-em authored Apr 11, 2024
1 parent 2ba0a45 commit cd02ad7
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/Init/Data/Ord.lean
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,18 @@ by `cmp₂` to break the tie.
@[inline] def compareLex (cmp₁ cmp₂ : α → β → Ordering) (a : α) (b : β) : Ordering :=
(cmp₁ a b).then (cmp₂ a b)

/--
`Ord α` provides a computable total order on `α`, in terms of the
`compare : α → α → Ordering` function.
Typically instances will be transitive, reflexive, and antisymmetric,
but this is not enforced by the typeclass.
There is a derive handler, so appending `deriving Ord` to an inductive type or structure
will attempt to create an `Ord` instance.
-/
class Ord (α : Type u) where
/-- Compare two elements in `α` using the comparator contained in an `[Ord α]` instance. -/
compare : α → α → Ordering

export Ord (compare)
Expand Down

0 comments on commit cd02ad7

Please sign in to comment.