{-# OPTIONS --safe --warning=error --without-K #-} open import Numbers.ClassicalReals.RealField open import LogicalFormulae open import Setoids.Subset open import Setoids.Setoids open import Sets.EquivalenceRelations open import Rings.Orders.Total.Definition open import Rings.Orders.Partial.Definition open import Rings.Definition open import Fields.Fields open import Groups.Definition open import Numbers.Naturals.Semiring open import Numbers.Naturals.Order open import Numbers.Naturals.Order.Lemmas open import Setoids.Orders.Partial.Definition open import Setoids.Orders.Total.Definition module Numbers.ClassicalReals.Examples (ℝ : RealField) where open RealField ℝ open Setoid S open Equivalence eq open Ring R open Field F open SetoidPartialOrder pOrder open import Fields.Orders.LeastUpperBounds.Definition pOrder open import Rings.Orders.Total.Lemmas orderedRing open import Rings.Orders.Partial.Lemmas pOrderedRing open Group additiveGroup open PartiallyOrderedRing pOrderedRing open SetoidTotalOrder (TotallyOrderedRing.total orderedRing) open import Rings.InitialRing R open import Fields.Orders.Lemmas oField open import Rings.Lemmas R open import Groups.Lemmas additiveGroup open import Numbers.Intervals.Definition pOrderedRing open import Numbers.Intervals.Arithmetic pOrderedRing open import Fields.Lemmas F squarePositive : (a : A) → (((a ∼ 0R) → False) && (0R < (a * a))) || (a ∼ 0R) squarePositive a with totality 0R a squarePositive a | inl (inl x) = inl ((λ a=0 → irreflexive (