diff options
| author | Andreas Grois <andi@grois.info> | 2023-12-08 15:15:33 +0100 |
|---|---|---|
| committer | Andreas Grois <andi@grois.info> | 2023-12-08 15:15:33 +0100 |
| commit | 5e75e251e5652908e23b4977e98600688ff9fd81 (patch) | |
| tree | bdb7d0004b7a5aa58fc33804d0bacf01d635bff6 /Common/Helpers.lean | |
| parent | e6f4111aa97f34383369577bff011d546d26d000 (diff) | |
Day 7
Diffstat (limited to 'Common/Helpers.lean')
| -rw-r--r-- | Common/Helpers.lean | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Common/Helpers.lean b/Common/Helpers.lean index f57f826..593f7c5 100644 --- a/Common/Helpers.lean +++ b/Common/Helpers.lean @@ -1,2 +1,13 @@ def curry (g : (α × β) → γ) : α → β → γ := λ a b ↦ g (a,b) def uncurry (f : α → β → γ) : (α × β) → γ := λ (a,b) ↦ f a b + +-- Default instance for LT, LE for anything that's Ord. +instance {α : Type} [Ord α]: LT α where + lt := λ a b ↦ Ord.compare a b == Ordering.lt +instance {α : Type} [Ord α]: LE α where + le := λ a b ↦ Ord.compare a b != Ordering.gt +instance {a b : α} [Ord α] : Decidable (a ≤ b) := + if p : Ord.compare a b != Ordering.gt then + Decidable.isTrue p + else + Decidable.isFalse p |
