Zero nonnegative real numbers
Content created by Louis Wasserman.
Created on 2026-01-09.
Last modified on 2026-01-09.
{-# OPTIONS --lossy-unification #-} module real-numbers.zero-nonnegative-real-numbers where
Imports
open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.propositions open import foundation.universe-levels open import real-numbers.inequality-nonnegative-real-numbers open import real-numbers.inequality-real-numbers open import real-numbers.nonnegative-real-numbers open import real-numbers.similarity-real-numbers open import real-numbers.zero-real-numbers
Idea
A nonnegative real number is zero if it is similar to zero.
Definition
is-zero-prop-ℝ⁰⁺ : {l : Level} → ℝ⁰⁺ l → Prop l is-zero-prop-ℝ⁰⁺ (x , _) = is-zero-prop-ℝ x is-zero-ℝ⁰⁺ : {l : Level} → ℝ⁰⁺ l → UU l is-zero-ℝ⁰⁺ (x , _) = is-zero-ℝ x
Properties
x is a zero nonnegative real number if and only if x ≤ 0
abstract is-zero-leq-zero-ℝ⁰⁺ : {l : Level} (x : ℝ⁰⁺ l) → leq-ℝ⁰⁺ x zero-ℝ⁰⁺ → is-zero-ℝ⁰⁺ x is-zero-leq-zero-ℝ⁰⁺ (x , 0≤x) x≤0 = sim-sim-leq-ℝ (x≤0 , 0≤x) leq-zero-is-zero-ℝ⁰⁺ : {l : Level} (x : ℝ⁰⁺ l) → is-zero-ℝ⁰⁺ x → leq-ℝ⁰⁺ x zero-ℝ⁰⁺ leq-zero-is-zero-ℝ⁰⁺ _ x~0 = leq-sim-ℝ x~0
x is a zero nonnegative real number if and only if it equals the appropriate raising of zero
abstract eq-raise-zero-is-zero-ℝ⁰⁺ : {l : Level} (x : ℝ⁰⁺ l) → is-zero-ℝ⁰⁺ x → x = raise-zero-ℝ⁰⁺ l eq-raise-zero-is-zero-ℝ⁰⁺ {l} (x , _) x~0 = eq-ℝ⁰⁺ _ _ (eq-raise-zero-is-zero-ℝ x~0) is-zero-raise-zero-ℝ⁰⁺ : (l : Level) → is-zero-ℝ⁰⁺ (raise-zero-ℝ⁰⁺ l) is-zero-raise-zero-ℝ⁰⁺ = is-zero-raise-zero-ℝ is-zero-eq-raise-zero-ℝ⁰⁺ : {l : Level} (x : ℝ⁰⁺ l) → x = raise-zero-ℝ⁰⁺ l → is-zero-ℝ⁰⁺ x is-zero-eq-raise-zero-ℝ⁰⁺ {l} _ refl = is-zero-raise-zero-ℝ l
Recent changes
- 2026-01-09. Louis Wasserman. The standard Euclidean spaces ℝⁿ (#1756).