From 2866b11be6eebc4fcb37bbbc8851b44fafdd0c19 Mon Sep 17 00:00:00 2001 From: Patrick Stevens Date: Sun, 13 Jan 2019 12:05:30 +0000 Subject: [PATCH] Total order on the rationals (#17) --- Fields/FieldOfFractions.agda | 38 +-- Fields/FieldOfFractionsOrder.agda | 425 ++++++++++++++++++++++++++++++ Fields/Fields.agda | 44 ++++ Groups/GroupDefinition.agda | 22 ++ Groups/Groups.agda | 20 +- Groups/GroupsLemmas.agda | 1 + Rings/IntegralDomains.agda | 1 + Rings/RingDefinition.agda | 1 + Rings/RingLemmas.agda | 124 +++++++++ 9 files changed, 624 insertions(+), 52 deletions(-) create mode 100644 Fields/FieldOfFractionsOrder.agda create mode 100644 Groups/GroupDefinition.agda diff --git a/Fields/FieldOfFractions.agda b/Fields/FieldOfFractions.agda index 677ab45..a32c425 100644 --- a/Fields/FieldOfFractions.agda +++ b/Fields/FieldOfFractions.agda @@ -2,6 +2,7 @@ open import LogicalFormulae open import Groups.Groups +open import Groups.GroupDefinition open import Groups.GroupsLemmas open import Rings.RingDefinition open import Rings.RingLemmas @@ -9,7 +10,6 @@ open import Rings.IntegralDomains open import Fields.Fields open import Functions open import Setoids.Setoids -open import Setoids.Orders open import Agda.Primitive using (Level; lzero; lsuc; _⊔_) @@ -229,39 +229,3 @@ module Fields.FieldOfFractions where open Reflexive (Equivalence.reflexiveEq (Setoid.eq S)) open Transitive (Equivalence.transitiveEq (Setoid.eq S)) open Symmetric (Equivalence.symmetricEq (Setoid.eq S)) - - fieldOfFractionsNonnegDenom : {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) → (a1 : fieldOfFractionsSet I) → Sg (fieldOfFractionsSet I) (λ b1 → (Setoid._∼_ (fieldOfFractionsSetoid I) a1 b1) && ((Ring.0R R) < underlying (_&&_.snd b1))) - fieldOfFractionsNonnegDenom {R = R} {tOrder = tOrder} I order (num ,, (denom , denom!=0)) with SetoidTotalOrder.totality tOrder (Ring.0R R) denom - fieldOfFractionsNonnegDenom {R = R} {tOrder = tOrder} I order (num ,, (denom , denom!=0)) | inl (inl 0