From 20b31da82d186aca2ec585d5aac632bf377df764 Mon Sep 17 00:00:00 2001 From: Patrick Stevens Date: Sun, 13 Jan 2019 19:40:57 +0000 Subject: [PATCH] Ordered rationals (#19) --- Fields/FieldOfFractionsOrder.agda | 294 +++++++++++++++++++++++++++++- Numbers/Integers.agda | 1 + Numbers/Rationals.agda | 5 +- 3 files changed, 293 insertions(+), 7 deletions(-) diff --git a/Fields/FieldOfFractionsOrder.agda b/Fields/FieldOfFractionsOrder.agda index ff9a0a3..def3b3f 100644 --- a/Fields/FieldOfFractionsOrder.agda +++ b/Fields/FieldOfFractionsOrder.agda @@ -393,12 +393,84 @@ module Fields.FieldOfFractionsOrder where SetoidTotalOrder.totality (fieldOfFractionsTotalOrder {S = S} {_*_ = _*_} {R} {_<_} {pOrder} {tOrder} I oRing) (numA ,, (denomA , denomA!=0)) (numB ,, (denomB , denomB!=0)) | inl (inr denomA<0) | inr x = exFalso (denomB!=0 (Symmetric.symmetric (Equivalence.symmetricEq (Setoid.eq S)) x)) SetoidTotalOrder.totality (fieldOfFractionsTotalOrder {S = S} {_*_ = _*_} {R} {_<_} {pOrder} {tOrder} I oRing) (numA ,, (denomA , denomA!=0)) (numB ,, (denomB , denomB!=0)) | inr x = exFalso (denomA!=0 (Symmetric.symmetric (Equivalence.symmetricEq (Setoid.eq S)) x)) + ineqLemma : {a b c : _} {A : Set a} {S : Setoid {a} {b} A} {_+_ : A → A → A} {_*_ : A → A → A} {R : Ring S _+_ _*_} {_<_ : Rel {_} {c} A} {pOrder : SetoidPartialOrder S _<_} {tOrder : SetoidTotalOrder pOrder} (I : IntegralDomain R) → (order : OrderedRing R tOrder) → {x y : A} → (Ring.0R R) < (x * y) → (Ring.0R R) < x → (Ring.0R R) < y + ineqLemma {S = S} {R = R} {_<_ = _<_} {tOrder = tOrder} I order {x} {y} 0