Split partial and total order of rings (#61)

This commit is contained in:
Patrick Stevens
2019-11-02 18:42:37 +00:00
committed by GitHub
parent 55995ea801
commit 763ddb8dbb
26 changed files with 768 additions and 618 deletions

View File

@@ -7,7 +7,8 @@ open import Numbers.Integers.Addition
open import Numbers.Integers.Multiplication
open import Semirings.Definition
open import Rings.Definition
open import Rings.Orders.Definition
open import Rings.Orders.Partial.Definition
open import Rings.Orders.Total.Definition
open import Setoids.Setoids
open import Setoids.Orders
open import Orders
@@ -95,6 +96,9 @@ orderRespectsAddition (negSucc a) (negSucc b) (le x proof) (negSucc c) = le x (t
orderRespectsMultiplication : (a b : ) nonneg 0 <Z a nonneg 0 <Z b nonneg 0 <Z a *Z b
orderRespectsMultiplication (nonneg (succ a)) (nonneg (succ b)) 0<a 0<b = lessInherits (succIsPositive (b +N a *N succ b))
OrderedRing : OrderedRing Ring (totalOrderToSetoidTotalOrder Order)
OrderedRing.orderRespectsAddition OrderedRing {a} {b} = orderRespectsAddition a b
OrderedRing.orderRespectsMultiplication OrderedRing {a} {b} = orderRespectsMultiplication a b
POrderedRing : PartiallyOrderedRing Ring (SetoidTotalOrder.partial (totalOrderToSetoidTotalOrder Order))
PartiallyOrderedRing.orderRespectsAddition POrderedRing {a} {b} = orderRespectsAddition a b
PartiallyOrderedRing.orderRespectsMultiplication POrderedRing {a} {b} = orderRespectsMultiplication a b
OrderedRing : TotallyOrderedRing POrderedRing
TotallyOrderedRing.total OrderedRing = totalOrderToSetoidTotalOrder Order

View File

@@ -6,7 +6,8 @@ open import Numbers.Integers.Integers
open import Groups.Groups
open import Groups.Definition
open import Rings.Definition
open import Rings.Orders.Definition
open import Rings.Orders.Total.Definition
open import Rings.Orders.Partial.Definition
open import Fields.Fields
open import Numbers.Primes.PrimeNumbers
open import Setoids.Setoids
@@ -73,5 +74,8 @@ open Setoid (fieldOfFractionsSetoid IntDom)
negateQWellDefined : (a b : ) (a =Q b) (negateQ a) =Q (negateQ b)
negateQWellDefined a b a=b = inverseWellDefined (Ring.additiveGroup Ring) {a} {b} a=b
Ordered : OrderedRing Ring (fieldOfFractionsTotalOrder IntDom OrderedRing)
POrdered : PartiallyOrderedRing Ring partial
POrdered = fieldOfFractionsPOrderedRing IntDom OrderedRing
Ordered : TotallyOrderedRing POrdered
Ordered = fieldOfFractionsOrderedRing IntDom OrderedRing

View File

@@ -8,7 +8,8 @@ open import Numbers.Integers.Order
open import Groups.Groups
open import Groups.Definition
open import Rings.Definition
open import Rings.Orders.Definition
open import Rings.Orders.Partial.Definition
open import Rings.Orders.Total.Definition
open import Fields.Fields
open import Numbers.Primes.PrimeNumbers
open import Setoids.Setoids
@@ -23,8 +24,8 @@ open import Orders
module Numbers.RationalsLemmas where
open OrderedRing OrderedRing
open import Rings.Orders.Lemmas OrderedRing
open PartiallyOrderedRing POrderedRing
open import Rings.Orders.Total.Lemmas OrderedRing
open SetoidTotalOrder (totalOrderToSetoidTotalOrder Order)
evenOrOdd : (a : ) (Sg (λ i i *N 2 a)) || (Sg (λ i succ (i *N 2) a))