{-# OPTIONS --safe --warning=error #-} open import LogicalFormulae open import Numbers.Naturals.Naturals open import Numbers.Integers.Integers open import Groups.Groups open import Groups.Definition open import Rings.Definition open import Fields.Fields open import Numbers.Primes.PrimeNumbers open import Setoids.Setoids open import Setoids.Orders open import Functions open import Fields.FieldOfFractions open import Fields.FieldOfFractionsOrder open import Sets.EquivalenceRelations module Numbers.Rationals where ℚ : Set ℚ = fieldOfFractionsSet ℤIntDom _+Q_ : ℚ → ℚ → ℚ a +Q b = fieldOfFractionsPlus ℤIntDom a b _*Q_ : ℚ → ℚ → ℚ a *Q b = fieldOfFractionsTimes ℤIntDom a b ℚRing : Ring (fieldOfFractionsSetoid ℤIntDom) _+Q_ _*Q_ ℚRing = fieldOfFractionsRing ℤIntDom 0Q : ℚ 0Q = Ring.0R ℚRing ℚField : Field ℚRing ℚField = fieldOfFractions ℤIntDom _