diff --git a/src/analysis.lagda.md b/src/analysis.lagda.md index c3893468cc..21e355eece 100644 --- a/src/analysis.lagda.md +++ b/src/analysis.lagda.md @@ -3,8 +3,17 @@ ```agda module analysis where +open import analysis.complete-metric-abelian-groups public +open import analysis.complete-metric-abelian-groups-real-banach-spaces public +open import analysis.convergent-series-complete-metric-abelian-groups public open import analysis.convergent-series-metric-abelian-groups public +open import analysis.convergent-series-real-banach-spaces public +open import analysis.convergent-series-real-numbers public open import analysis.derivatives-of-real-functions-on-proper-closed-intervals public open import analysis.metric-abelian-groups public +open import analysis.metric-abelian-groups-normed-real-vector-spaces public +open import analysis.series-complete-metric-abelian-groups public open import analysis.series-metric-abelian-groups public +open import analysis.series-real-banach-spaces public +open import analysis.series-real-numbers public ``` diff --git a/src/analysis/complete-metric-abelian-groups-real-banach-spaces.lagda.md b/src/analysis/complete-metric-abelian-groups-real-banach-spaces.lagda.md new file mode 100644 index 0000000000..40aa017885 --- /dev/null +++ b/src/analysis/complete-metric-abelian-groups-real-banach-spaces.lagda.md @@ -0,0 +1,63 @@ +# Complete metric abelian groups of real Banach spaces + +```agda +module analysis.complete-metric-abelian-groups-real-banach-spaces where +``` + +
Imports + +```agda +open import analysis.complete-metric-abelian-groups +open import analysis.metric-abelian-groups +open import analysis.metric-abelian-groups-normed-real-vector-spaces + +open import foundation.dependent-pair-types +open import foundation.identity-types +open import foundation.subtypes +open import foundation.universe-levels + +open import linear-algebra.real-banach-spaces + +open import real-numbers.metric-additive-group-of-real-numbers +``` + +
+ +## Idea + +Every [real Banach space](linear-algebra.real-banach-spaces.md) forms a +[complete metric abelian group](analysis.complete-metric-abelian-groups.md) +under addition. + +## Definition + +```agda +module _ + {l1 l2 : Level} + (V : ℝ-Banach-Space l1 l2) + where + + metric-ab-add-ℝ-Banach-Space : Metric-Ab l2 l1 + metric-ab-add-ℝ-Banach-Space = + metric-ab-Normed-ℝ-Vector-Space (normed-vector-space-ℝ-Banach-Space V) + + complete-metric-ab-add-ℝ-Banach-Space : Complete-Metric-Ab l2 l1 + complete-metric-ab-add-ℝ-Banach-Space = + ( metric-ab-add-ℝ-Banach-Space , is-complete-metric-space-ℝ-Banach-Space V) +``` + +## Properties + +### The complete metric abelian group from the reals as a real Banach space equals the standard complete metric abelian group of the reals under addition + +```agda +abstract + eq-complete-metric-ab-ℝ : + (l : Level) → + complete-metric-ab-add-ℝ-Banach-Space (real-banach-space-ℝ l) = + complete-metric-ab-add-ℝ l + eq-complete-metric-ab-ℝ l = + eq-type-subtype + ( is-complete-prop-Metric-Ab) + ( eq-metric-ab-normed-real-vector-space-metric-ab-ℝ l) +``` diff --git a/src/analysis/complete-metric-abelian-groups.lagda.md b/src/analysis/complete-metric-abelian-groups.lagda.md new file mode 100644 index 0000000000..e629810ef1 --- /dev/null +++ b/src/analysis/complete-metric-abelian-groups.lagda.md @@ -0,0 +1,65 @@ +# Complete metric abelian groups + +```agda +module analysis.complete-metric-abelian-groups where +``` + +
Imports + +```agda +open import analysis.metric-abelian-groups + +open import foundation.dependent-pair-types +open import foundation.propositions +open import foundation.subtypes +open import foundation.universe-levels + +open import metric-spaces.complete-metric-spaces +open import metric-spaces.metric-spaces +``` + +
+ +## Idea + +A {{#concept "complete metric abelian group" Agda=Complete-Metric-Ab}} is a +[metric abelian group](analysis.metric-abelian-groups.md) whose associated +[metric space](metric-spaces.metric-spaces.md) is +[complete](metric-spaces.complete-metric-spaces.md). + +## Definition + +```agda +is-complete-prop-Metric-Ab : {l1 l2 : Level} → Metric-Ab l1 l2 → Prop (l1 ⊔ l2) +is-complete-prop-Metric-Ab G = + is-complete-prop-Metric-Space (metric-space-Metric-Ab G) + +is-complete-Metric-Ab : {l1 l2 : Level} → Metric-Ab l1 l2 → UU (l1 ⊔ l2) +is-complete-Metric-Ab G = is-complete-Metric-Space (metric-space-Metric-Ab G) + +Complete-Metric-Ab : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2) +Complete-Metric-Ab l1 l2 = type-subtype (is-complete-prop-Metric-Ab {l1} {l2}) +``` + +## Properties + +```agda +module _ + {l1 l2 : Level} + (G : Complete-Metric-Ab l1 l2) + where + + metric-ab-Complete-Metric-Ab : Metric-Ab l1 l2 + metric-ab-Complete-Metric-Ab = pr1 G + + metric-space-Complete-Metric-Ab : Metric-Space l1 l2 + metric-space-Complete-Metric-Ab = + metric-space-Metric-Ab metric-ab-Complete-Metric-Ab + + complete-metric-space-Complete-Metric-Ab : Complete-Metric-Space l1 l2 + complete-metric-space-Complete-Metric-Ab = + ( metric-space-Complete-Metric-Ab , pr2 G) + + type-Complete-Metric-Ab : UU l1 + type-Complete-Metric-Ab = type-Metric-Ab metric-ab-Complete-Metric-Ab +``` diff --git a/src/analysis/convergent-series-complete-metric-abelian-groups.lagda.md b/src/analysis/convergent-series-complete-metric-abelian-groups.lagda.md new file mode 100644 index 0000000000..49b1ac0dcc --- /dev/null +++ b/src/analysis/convergent-series-complete-metric-abelian-groups.lagda.md @@ -0,0 +1,79 @@ +# Convergent series in complete metric abelian groups + +```agda +module analysis.convergent-series-complete-metric-abelian-groups where +``` + +
Imports + +```agda +open import analysis.complete-metric-abelian-groups +open import analysis.convergent-series-metric-abelian-groups +open import analysis.series-complete-metric-abelian-groups + +open import foundation.dependent-pair-types +open import foundation.propositions +open import foundation.universe-levels + +open import metric-spaces.cauchy-sequences-complete-metric-spaces +open import metric-spaces.cauchy-sequences-metric-spaces +``` + +
+ +## Idea + +A [series](analysis.series-metric-abelian-groups.md) +[converges](analysis.convergent-series-metric-abelian-groups.md) in a +[complete metric abelian group](analysis.complete-metric-abelian-groups.md) if +its partial sums form a +[Cauchy sequence](metric-spaces.cauchy-sequences-metric-spaces.md). + +A slightly modified converse is also true: if a series converges, there +[exists](foundation.existential-quantification.md) a modulus making it a Cauchy +sequence. + +## Definition + +```agda +module _ + {l1 l2 : Level} + (G : Complete-Metric-Ab l1 l2) + (σ : series-Complete-Metric-Ab G) + where + + is-sum-prop-series-Complete-Metric-Ab : type-Complete-Metric-Ab G → Prop l2 + is-sum-prop-series-Complete-Metric-Ab = is-sum-prop-series-Metric-Ab σ + + is-sum-series-Complete-Metric-Ab : type-Complete-Metric-Ab G → UU l2 + is-sum-series-Complete-Metric-Ab = is-sum-series-Metric-Ab σ + + is-convergent-prop-series-Complete-Metric-Ab : Prop (l1 ⊔ l2) + is-convergent-prop-series-Complete-Metric-Ab = + is-convergent-prop-series-Metric-Ab σ + + is-convergent-series-Complete-Metric-Ab : UU (l1 ⊔ l2) + is-convergent-series-Complete-Metric-Ab = is-convergent-series-Metric-Ab σ +``` + +## Properties + +### If the partial sums of a series form a Cauchy sequence, the series converges + +```agda +module _ + {l1 l2 : Level} + (G : Complete-Metric-Ab l1 l2) + (σ : series-Complete-Metric-Ab G) + where + + is-convergent-is-cauchy-sequence-partial-sum-series-Complete-Metric-Ab : + is-cauchy-sequence-Metric-Space + ( metric-space-Complete-Metric-Ab G) + ( partial-sum-series-Complete-Metric-Ab G σ) → + is-convergent-series-Complete-Metric-Ab G σ + is-convergent-is-cauchy-sequence-partial-sum-series-Complete-Metric-Ab H = + has-limit-cauchy-sequence-Complete-Metric-Space + ( complete-metric-space-Complete-Metric-Ab G) + ( partial-sum-series-Complete-Metric-Ab G σ , H) +``` diff --git a/src/analysis/convergent-series-real-banach-spaces.lagda.md b/src/analysis/convergent-series-real-banach-spaces.lagda.md new file mode 100644 index 0000000000..63fef039f3 --- /dev/null +++ b/src/analysis/convergent-series-real-banach-spaces.lagda.md @@ -0,0 +1,79 @@ +# Convergent series in real Banach spaces + +```agda +module analysis.convergent-series-real-banach-spaces where +``` + +
Imports + +```agda +open import analysis.complete-metric-abelian-groups-real-banach-spaces +open import analysis.convergent-series-complete-metric-abelian-groups +open import analysis.convergent-series-metric-abelian-groups +open import analysis.series-real-banach-spaces + +open import foundation.propositions +open import foundation.universe-levels + +open import linear-algebra.real-banach-spaces + +open import metric-spaces.cauchy-sequences-metric-spaces +``` + +
+ +## Idea + +A [series](analysis.series-real-banach-spaces.md) +[converges](analysis.convergent-series-metric-abelian-groups.md) in a +[real Banach space](linear-algebra.real-banach-spaces.md) if its partial sums +form a [Cauchy sequence](metric-spaces.cauchy-sequences-metric-spaces.md). + +A slightly modified converse is also true: if a series converges, there +[exists](foundation.existential-quantification.md) a modulus making it a Cauchy +sequence. + +## Definition + +```agda +module _ + {l1 l2 : Level} + (V : ℝ-Banach-Space l1 l2) + (σ : series-ℝ-Banach-Space V) + where + + is-sum-prop-series-ℝ-Banach-Space : type-ℝ-Banach-Space V → Prop l1 + is-sum-prop-series-ℝ-Banach-Space = is-sum-prop-series-Metric-Ab σ + + is-sum-series-ℝ-Banach-Space : type-ℝ-Banach-Space V → UU l1 + is-sum-series-ℝ-Banach-Space = is-sum-series-Metric-Ab σ + + is-convergent-prop-series-ℝ-Banach-Space : Prop (l1 ⊔ l2) + is-convergent-prop-series-ℝ-Banach-Space = + is-convergent-prop-series-Metric-Ab σ + + is-convergent-series-ℝ-Banach-Space : UU (l1 ⊔ l2) + is-convergent-series-ℝ-Banach-Space = is-convergent-series-Metric-Ab σ +``` + +## Properties + +### If the partial sums of a series form a Cauchy sequence, the series converges + +```agda +module _ + {l1 l2 : Level} + (V : ℝ-Banach-Space l1 l2) + (σ : series-ℝ-Banach-Space V) + where + + is-convergent-is-cauchy-sequence-partial-sum-series-ℝ-Banach-Space : + is-cauchy-sequence-Metric-Space + ( metric-space-ℝ-Banach-Space V) + ( partial-sum-series-ℝ-Banach-Space V σ) → + is-convergent-series-ℝ-Banach-Space V σ + is-convergent-is-cauchy-sequence-partial-sum-series-ℝ-Banach-Space = + is-convergent-is-cauchy-sequence-partial-sum-series-Complete-Metric-Ab + ( complete-metric-ab-add-ℝ-Banach-Space V) + ( σ) +``` diff --git a/src/analysis/convergent-series-real-numbers.lagda.md b/src/analysis/convergent-series-real-numbers.lagda.md new file mode 100644 index 0000000000..a7c911dd9e --- /dev/null +++ b/src/analysis/convergent-series-real-numbers.lagda.md @@ -0,0 +1,74 @@ +# Convergent series in the real numbers + +```agda +module analysis.convergent-series-real-numbers where +``` + +
Imports + +```agda +open import analysis.convergent-series-complete-metric-abelian-groups +open import analysis.convergent-series-metric-abelian-groups +open import analysis.series-real-numbers + +open import foundation.propositions +open import foundation.universe-levels + +open import real-numbers.cauchy-sequences-real-numbers +open import real-numbers.dedekind-real-numbers +open import real-numbers.metric-additive-group-of-real-numbers +``` + +
+ +## Idea + +A [series of real numbers](analysis.series-real-numbers.md) is +{{#concept "convergent" Disambiguation="series in 𝐑" Agda=is-convergent-series-ℝ Agda=convergent-series-ℝ WDID=Q1211057 WD="convergent series"}} +if its partial sums converge in the +[metric space of real numbers](real-numbers.metric-space-of-real-numbers.md). + +## Definition + +```agda +module _ + {l : Level} + (σ : series-ℝ l) + where + + is-sum-prop-series-ℝ : ℝ l → Prop l + is-sum-prop-series-ℝ = is-sum-prop-series-Metric-Ab σ + + is-sum-series-ℝ : ℝ l → UU l + is-sum-series-ℝ = is-sum-series-Metric-Ab σ + + is-convergent-prop-series-ℝ : Prop (lsuc l) + is-convergent-prop-series-ℝ = + is-convergent-prop-series-Metric-Ab σ + + is-convergent-series-ℝ : UU (lsuc l) + is-convergent-series-ℝ = is-convergent-series-Metric-Ab σ +``` + +## Properties + +### If the partial sums of a series form a Cauchy sequence, the series converges + +```agda +module _ + {l : Level} + (σ : series-ℝ l) + where + + is-convergent-is-cauchy-sequence-partial-sum-series-ℝ : + is-cauchy-sequence-ℝ (partial-sum-series-ℝ σ) → + is-convergent-series-ℝ σ + is-convergent-is-cauchy-sequence-partial-sum-series-ℝ = + is-convergent-is-cauchy-sequence-partial-sum-series-Complete-Metric-Ab + ( complete-metric-ab-add-ℝ l) + ( σ) +``` + +## External links + +- [Convergent series](https://en.wikipedia.org/wiki/Ratio_test) on Wikipedia diff --git a/src/analysis/metric-abelian-groups-normed-real-vector-spaces.lagda.md b/src/analysis/metric-abelian-groups-normed-real-vector-spaces.lagda.md new file mode 100644 index 0000000000..4ee09d54d5 --- /dev/null +++ b/src/analysis/metric-abelian-groups-normed-real-vector-spaces.lagda.md @@ -0,0 +1,94 @@ +# Metric abelian groups of normed real vector spaces + +```agda +module analysis.metric-abelian-groups-normed-real-vector-spaces where +``` + +
Imports + +```agda +open import analysis.metric-abelian-groups + +open import foundation.dependent-pair-types +open import foundation.equality-dependent-pair-types +open import foundation.identity-types +open import foundation.logical-equivalences +open import foundation.subtypes +open import foundation.universe-levels + +open import group-theory.abelian-groups + +open import linear-algebra.normed-real-vector-spaces + +open import metric-spaces.extensionality-pseudometric-spaces +open import metric-spaces.metric-spaces +open import metric-spaces.pseudometric-spaces +open import metric-spaces.rational-neighborhood-relations + +open import real-numbers.dedekind-real-numbers +open import real-numbers.distance-real-numbers +open import real-numbers.large-additive-group-of-real-numbers +open import real-numbers.metric-additive-group-of-real-numbers +``` + +
+ +## Idea + +A [normed](linear-algebra.normed-real-vector-spaces.md) +[real vector space](linear-algebra.real-vector-spaces.md) forms a +[metric abelian group](analysis.metric-abelian-groups.md) under addition. + +## Definition + +```agda +module _ + {l1 l2 : Level} + (V : Normed-ℝ-Vector-Space l1 l2) + where + + ab-metric-ab-Normed-ℝ-Vector-Space : Ab l2 + ab-metric-ab-Normed-ℝ-Vector-Space = ab-Normed-ℝ-Vector-Space V + + type-metric-ab-Normed-ℝ-Vector-Space : UU l2 + type-metric-ab-Normed-ℝ-Vector-Space = type-Normed-ℝ-Vector-Space V + + pseudometric-structure-metric-ab-Normed-ℝ-Vector-Space : + Pseudometric-Structure l1 type-metric-ab-Normed-ℝ-Vector-Space + pseudometric-structure-metric-ab-Normed-ℝ-Vector-Space = + pseudometric-structure-Metric-Space (metric-space-Normed-ℝ-Vector-Space V) + + pseudometric-space-metric-ab-Normed-ℝ-Vector-Space : + Pseudometric-Space l2 l1 + pseudometric-space-metric-ab-Normed-ℝ-Vector-Space = + pseudometric-Metric-Space (metric-space-Normed-ℝ-Vector-Space V) + + metric-ab-Normed-ℝ-Vector-Space : Metric-Ab l2 l1 + metric-ab-Normed-ℝ-Vector-Space = + ( ab-metric-ab-Normed-ℝ-Vector-Space , + pseudometric-structure-metric-ab-Normed-ℝ-Vector-Space , + is-extensional-pseudometric-Metric-Space + ( metric-space-Normed-ℝ-Vector-Space V) , + is-isometry-neg-Normed-ℝ-Vector-Space V , + is-isometry-left-add-Normed-ℝ-Vector-Space V) +``` + +## Properties + +### The metric abelian group associated with `ℝ` as a normed vector space over `ℝ` is equal to the metric additive group of `ℝ` + +```agda +abstract + eq-metric-ab-normed-real-vector-space-metric-ab-ℝ : + (l : Level) → + metric-ab-Normed-ℝ-Vector-Space (normed-real-vector-space-ℝ l) = + metric-ab-add-ℝ l + eq-metric-ab-normed-real-vector-space-metric-ab-ℝ l = + eq-pair-eq-fiber + ( eq-type-subtype + ( λ M → is-metric-ab-prop-Ab-Pseudometric-Structure (ab-add-ℝ l) M) + ( eq-type-subtype + ( is-pseudometric-prop-Rational-Neighborhood-Relation (ℝ l)) + ( eq-Eq-Rational-Neighborhood-Relation _ _ + ( λ d x y → inv-iff (neighborhood-iff-leq-dist-ℝ d x y))))) +``` diff --git a/src/analysis/metric-abelian-groups.lagda.md b/src/analysis/metric-abelian-groups.lagda.md index 3306202936..fe8317d466 100644 --- a/src/analysis/metric-abelian-groups.lagda.md +++ b/src/analysis/metric-abelian-groups.lagda.md @@ -12,8 +12,10 @@ open import elementary-number-theory.positive-rational-numbers open import foundation.action-on-identifications-binary-functions open import foundation.binary-relations open import foundation.cartesian-product-types +open import foundation.conjunction open import foundation.dependent-pair-types open import foundation.identity-types +open import foundation.propositions open import foundation.universe-levels open import group-theory.abelian-groups @@ -39,18 +41,25 @@ and negation operation are ## Definition ```agda +is-metric-ab-prop-Ab-Pseudometric-Structure : + {l1 l2 : Level} (G : Ab l1) (M : Pseudometric-Structure l2 (type-Ab G)) → + Prop (l1 ⊔ l2) +is-metric-ab-prop-Ab-Pseudometric-Structure G M = + let + MS = (type-Ab G , M) + in + is-extensional-prop-Pseudometric-Space MS ∧ + is-isometry-prop-Pseudometric-Space MS MS (neg-Ab G) ∧ + Π-Prop + ( type-Ab G) + ( λ x → is-isometry-prop-Pseudometric-Space MS MS (add-Ab G x)) + Metric-Ab : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2) Metric-Ab l1 l2 = Σ ( Ab l1) ( λ G → Σ ( Pseudometric-Structure l2 (type-Ab G)) - ( λ M → - let MS = (type-Ab G , M) - in - is-extensional-Pseudometric-Space MS × - is-isometry-Pseudometric-Space MS MS (neg-Ab G) × - ( (x : type-Ab G) → - is-isometry-Pseudometric-Space MS MS (add-Ab G x)))) + ( λ M → type-Prop (is-metric-ab-prop-Ab-Pseudometric-Structure G M))) module _ {l1 l2 : Level} (MG : Metric-Ab l1 l2) diff --git a/src/analysis/series-complete-metric-abelian-groups.lagda.md b/src/analysis/series-complete-metric-abelian-groups.lagda.md new file mode 100644 index 0000000000..bb936a8eb0 --- /dev/null +++ b/src/analysis/series-complete-metric-abelian-groups.lagda.md @@ -0,0 +1,49 @@ +# Series in complete metric abelian groups + +```agda +module analysis.series-complete-metric-abelian-groups where +``` + +
Imports + +```agda +open import analysis.complete-metric-abelian-groups +open import analysis.series-metric-abelian-groups + +open import foundation.universe-levels + +open import lists.sequences +``` + +
+ +## Idea + +A [series](analysis.series-metric-abelian-groups.md) in a +[complete metric abelian group](analysis.complete-metric-abelian-groups.md) is a +series in the underlying +[metric abelian group](analysis.metric-abelian-groups.md). + +## Definition + +```agda +module _ + {l1 l2 : Level} + (G : Complete-Metric-Ab l1 l2) + where + + series-Complete-Metric-Ab : UU l1 + series-Complete-Metric-Ab = series-Metric-Ab (metric-ab-Complete-Metric-Ab G) + + series-terms-Complete-Metric-Ab : + sequence (type-Complete-Metric-Ab G) → series-Complete-Metric-Ab + series-terms-Complete-Metric-Ab = series-terms-Metric-Ab + + term-series-Complete-Metric-Ab : + series-Complete-Metric-Ab → sequence (type-Complete-Metric-Ab G) + term-series-Complete-Metric-Ab = term-series-Metric-Ab + + partial-sum-series-Complete-Metric-Ab : + series-Complete-Metric-Ab → sequence (type-Complete-Metric-Ab G) + partial-sum-series-Complete-Metric-Ab = partial-sum-series-Metric-Ab +``` diff --git a/src/analysis/series-real-banach-spaces.lagda.md b/src/analysis/series-real-banach-spaces.lagda.md new file mode 100644 index 0000000000..dc7d5b3651 --- /dev/null +++ b/src/analysis/series-real-banach-spaces.lagda.md @@ -0,0 +1,56 @@ +# Series in real Banach spaces + +```agda +module analysis.series-real-banach-spaces where +``` + +
Imports + +```agda +open import analysis.metric-abelian-groups-normed-real-vector-spaces +open import analysis.series-metric-abelian-groups + +open import foundation.universe-levels + +open import linear-algebra.real-banach-spaces + +open import lists.sequences +``` + +
+ +## Idea + +A +{{#concept "series" Disambiguation="in a real Banach space" Agda=series-ℝ-Banach-Space}} +is a [series](analysis.series-metric-abelian-groups.md) in the +[metric abelian group](analysis.metric-abelian-groups.md) +[associated](analysis.metric-abelian-groups-normed-real-vector-spaces.md) with +the underlying +[normed real vector space](linear-algebra.normed-real-vector-spaces.md). + +## Definition + +```agda +module _ + {l1 l2 : Level} + (V : ℝ-Banach-Space l1 l2) + where + + series-ℝ-Banach-Space : UU l2 + series-ℝ-Banach-Space = + series-Metric-Ab + ( metric-ab-Normed-ℝ-Vector-Space (normed-vector-space-ℝ-Banach-Space V)) + + series-terms-ℝ-Banach-Space : + sequence (type-ℝ-Banach-Space V) → series-ℝ-Banach-Space + series-terms-ℝ-Banach-Space = series-terms-Metric-Ab + + term-series-ℝ-Banach-Space : + series-ℝ-Banach-Space → sequence (type-ℝ-Banach-Space V) + term-series-ℝ-Banach-Space = term-series-Metric-Ab + + partial-sum-series-ℝ-Banach-Space : + series-ℝ-Banach-Space → sequence (type-ℝ-Banach-Space V) + partial-sum-series-ℝ-Banach-Space = partial-sum-series-Metric-Ab +``` diff --git a/src/analysis/series-real-numbers.lagda.md b/src/analysis/series-real-numbers.lagda.md new file mode 100644 index 0000000000..6b7455caa6 --- /dev/null +++ b/src/analysis/series-real-numbers.lagda.md @@ -0,0 +1,44 @@ +# Series in the real numbers + +```agda +module analysis.series-real-numbers where +``` + +
Imports + +```agda +open import analysis.series-complete-metric-abelian-groups +open import analysis.series-metric-abelian-groups + +open import foundation.universe-levels + +open import lists.sequences + +open import real-numbers.dedekind-real-numbers +open import real-numbers.metric-additive-group-of-real-numbers +``` + +
+ +## Idea + +A {{#concept "series" Disambiguation="of real numbers" Agda=series-ℝ}} in the +[real numbers](real-numbers.dedekind-real-numbers.md) is a +[series](analysis.series-metric-abelian-groups.md) in the +[metric additive group of real numbers](real-numbers.metric-additive-group-of-real-numbers.md). + +## Definition + +```agda +series-ℝ : (l : Level) → UU (lsuc l) +series-ℝ l = series-Complete-Metric-Ab (complete-metric-ab-add-ℝ l) + +series-terms-ℝ : {l : Level} → sequence (ℝ l) → series-ℝ l +series-terms-ℝ = series-terms-Metric-Ab + +term-series-ℝ : {l : Level} → series-ℝ l → sequence (ℝ l) +term-series-ℝ = term-series-Metric-Ab + +partial-sum-series-ℝ : {l : Level} → series-ℝ l → sequence (ℝ l) +partial-sum-series-ℝ {l} = partial-sum-series-Metric-Ab +``` diff --git a/src/group-theory/abelian-groups.lagda.md b/src/group-theory/abelian-groups.lagda.md index afd0152826..cd3e651b39 100644 --- a/src/group-theory/abelian-groups.lagda.md +++ b/src/group-theory/abelian-groups.lagda.md @@ -622,6 +622,52 @@ module _ add-right-subtraction-Ab = mul-right-div-Group (group-Ab A) ``` +### `(-x) - (-y) = y - x` + +```agda +module _ + {l : Level} (A : Ab l) + where + + abstract + right-subtraction-neg-Ab : + (x y : type-Ab A) → + right-subtraction-Ab A (neg-Ab A x) (neg-Ab A y) = + right-subtraction-Ab A y x + right-subtraction-neg-Ab x y = + equational-reasoning + right-subtraction-Ab A (neg-Ab A x) (neg-Ab A y) + = add-Ab A (neg-Ab A x) y + by ap-add-Ab A refl (neg-neg-Ab A y) + = right-subtraction-Ab A y x + by commutative-add-Ab A _ _ +``` + +### `(x + y) - (x + z) = y - z` + +```agda +module _ + {l : Level} (A : Ab l) + where + + abstract + right-subtraction-left-add-Ab : + (x y z : type-Ab A) → + right-subtraction-Ab A (add-Ab A x y) (add-Ab A x z) = + right-subtraction-Ab A y z + right-subtraction-left-add-Ab x y z = + equational-reasoning + right-subtraction-Ab A (add-Ab A x y) (add-Ab A x z) + = add-Ab A (add-Ab A x y) (add-Ab A (neg-Ab A x) (neg-Ab A z)) + by ap-add-Ab A refl (distributive-neg-add-Ab A x z) + = add-Ab A (right-subtraction-Ab A x x) (right-subtraction-Ab A y z) + by interchange-add-add-Ab A _ _ _ _ + = add-Ab A (zero-Ab A) (right-subtraction-Ab A y z) + by ap-add-Ab A (right-inverse-law-add-Ab A x) refl + = right-subtraction-Ab A y z + by left-unit-law-add-Ab A _ +``` + ### Conjugation is the identity function **Proof:** Consider two elements `x` and `y` of an abelian group. Then diff --git a/src/linear-algebra/normed-real-vector-spaces.lagda.md b/src/linear-algebra/normed-real-vector-spaces.lagda.md index de825ec122..c6d3cf3cb0 100644 --- a/src/linear-algebra/normed-real-vector-spaces.lagda.md +++ b/src/linear-algebra/normed-real-vector-spaces.lagda.md @@ -1,12 +1,15 @@ # Normed real vector spaces ```agda +{-# OPTIONS --lossy-unification #-} + module linear-algebra.normed-real-vector-spaces where ```
Imports ```agda +open import foundation.action-on-identifications-functions open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.logical-equivalences @@ -22,9 +25,11 @@ open import linear-algebra.real-vector-spaces open import linear-algebra.seminormed-real-vector-spaces open import metric-spaces.equality-of-metric-spaces +open import metric-spaces.isometries-metric-spaces open import metric-spaces.located-metric-spaces open import metric-spaces.metric-spaces open import metric-spaces.metrics +open import metric-spaces.metrics-of-metric-spaces open import real-numbers.absolute-value-real-numbers open import real-numbers.dedekind-real-numbers @@ -93,6 +98,10 @@ module _ vector-space-Normed-ℝ-Vector-Space : ℝ-Vector-Space l1 l2 vector-space-Normed-ℝ-Vector-Space = pr1 V + ab-Normed-ℝ-Vector-Space : Ab l2 + ab-Normed-ℝ-Vector-Space = + ab-ℝ-Vector-Space vector-space-Normed-ℝ-Vector-Space + norm-Normed-ℝ-Vector-Space : norm-ℝ-Vector-Space vector-space-Normed-ℝ-Vector-Space norm-Normed-ℝ-Vector-Space = pr2 V @@ -120,16 +129,65 @@ module _ add-Normed-ℝ-Vector-Space = add-ℝ-Vector-Space vector-space-Normed-ℝ-Vector-Space + commutative-add-Normed-ℝ-Vector-Space : + (u v : type-Normed-ℝ-Vector-Space) → + add-Normed-ℝ-Vector-Space u v = add-Normed-ℝ-Vector-Space v u + commutative-add-Normed-ℝ-Vector-Space = + commutative-add-Ab ab-Normed-ℝ-Vector-Space + diff-Normed-ℝ-Vector-Space : type-Normed-ℝ-Vector-Space → type-Normed-ℝ-Vector-Space → type-Normed-ℝ-Vector-Space diff-Normed-ℝ-Vector-Space = diff-ℝ-Vector-Space vector-space-Normed-ℝ-Vector-Space + neg-Normed-ℝ-Vector-Space : + type-Normed-ℝ-Vector-Space → type-Normed-ℝ-Vector-Space + neg-Normed-ℝ-Vector-Space = + neg-ℝ-Vector-Space vector-space-Normed-ℝ-Vector-Space + + neg-neg-Normed-ℝ-Vector-Space : + (v : type-Normed-ℝ-Vector-Space) → + neg-Normed-ℝ-Vector-Space (neg-Normed-ℝ-Vector-Space v) = v + neg-neg-Normed-ℝ-Vector-Space = + neg-neg-ℝ-Vector-Space vector-space-Normed-ℝ-Vector-Space + + distributive-neg-add-Normed-ℝ-Vector-Space : + (v w : type-Normed-ℝ-Vector-Space) → + neg-Normed-ℝ-Vector-Space (add-Normed-ℝ-Vector-Space v w) = + add-Normed-ℝ-Vector-Space + ( neg-Normed-ℝ-Vector-Space v) + ( neg-Normed-ℝ-Vector-Space w) + distributive-neg-add-Normed-ℝ-Vector-Space = + distributive-neg-add-Ab ab-Normed-ℝ-Vector-Space + + interchange-add-add-Normed-ℝ-Vector-Space : + (u v w x : type-Normed-ℝ-Vector-Space) → + add-Normed-ℝ-Vector-Space + ( add-Normed-ℝ-Vector-Space u v) + ( add-Normed-ℝ-Vector-Space w x) = + add-Normed-ℝ-Vector-Space + ( add-Normed-ℝ-Vector-Space u w) + ( add-Normed-ℝ-Vector-Space v x) + interchange-add-add-Normed-ℝ-Vector-Space = + interchange-add-add-Ab ab-Normed-ℝ-Vector-Space + zero-Normed-ℝ-Vector-Space : type-Normed-ℝ-Vector-Space zero-Normed-ℝ-Vector-Space = zero-ℝ-Vector-Space vector-space-Normed-ℝ-Vector-Space + left-unit-law-add-Normed-ℝ-Vector-Space : + (v : type-Normed-ℝ-Vector-Space) → + add-Normed-ℝ-Vector-Space zero-Normed-ℝ-Vector-Space v = v + left-unit-law-add-Normed-ℝ-Vector-Space = + left-unit-law-add-Ab ab-Normed-ℝ-Vector-Space + + right-inverse-law-add-Normed-ℝ-Vector-Space : + (v : type-Normed-ℝ-Vector-Space) → + diff-Normed-ℝ-Vector-Space v v = zero-Normed-ℝ-Vector-Space + right-inverse-law-add-Normed-ℝ-Vector-Space = + right-inverse-law-add-Ab ab-Normed-ℝ-Vector-Space + map-norm-Normed-ℝ-Vector-Space : type-Normed-ℝ-Vector-Space → ℝ l1 map-norm-Normed-ℝ-Vector-Space = pr1 (pr1 norm-Normed-ℝ-Vector-Space) @@ -149,20 +207,20 @@ module _ nonnegative-dist-Seminormed-ℝ-Vector-Space ( seminormed-vector-space-Normed-ℝ-Vector-Space) - is-extensional-norm-Normed-ℝ-Metric-Space : + is-extensional-norm-Normed-ℝ-Vector-Space : (v : type-Normed-ℝ-Vector-Space) → map-norm-Normed-ℝ-Vector-Space v = raise-ℝ l1 zero-ℝ → v = zero-Normed-ℝ-Vector-Space - is-extensional-norm-Normed-ℝ-Metric-Space = pr2 norm-Normed-ℝ-Vector-Space + is-extensional-norm-Normed-ℝ-Vector-Space = pr2 norm-Normed-ℝ-Vector-Space - is-extensional-dist-Normed-ℝ-Metric-Space : + is-extensional-dist-Normed-ℝ-Vector-Space : (v w : type-Normed-ℝ-Vector-Space) → dist-Normed-ℝ-Vector-Space v w = raise-ℝ l1 zero-ℝ → v = w - is-extensional-dist-Normed-ℝ-Metric-Space v w |v-w|=0 = + is-extensional-dist-Normed-ℝ-Vector-Space v w |v-w|=0 = eq-is-zero-right-subtraction-Ab ( ab-ℝ-Vector-Space vector-space-Normed-ℝ-Vector-Space) - ( is-extensional-norm-Normed-ℝ-Metric-Space + ( is-extensional-norm-Normed-ℝ-Vector-Space ( diff-Normed-ℝ-Vector-Space v w) ( |v-w|=0)) @@ -200,7 +258,7 @@ module _ triangular-dist-Seminormed-ℝ-Vector-Space ( seminormed-vector-space-Normed-ℝ-Vector-Space V) , ( λ v w 0~dvw → - is-extensional-dist-Normed-ℝ-Metric-Space V v w + is-extensional-dist-Normed-ℝ-Vector-Space V v w ( eq-sim-ℝ ( transitive-sim-ℝ _ _ _ ( sim-raise-ℝ l1 zero-ℝ) @@ -241,6 +299,91 @@ abstract ( refl , λ d x y → inv-iff (neighborhood-iff-leq-dist-ℝ d x y)) ``` +### Negation is an isometry in the metric space of a normed vector space + +```agda +module _ + {l1 l2 : Level} (V : Normed-ℝ-Vector-Space l1 l2) + where + + abstract + is-isometry-neg-Normed-ℝ-Vector-Space : + is-isometry-Metric-Space + ( metric-space-Normed-ℝ-Vector-Space V) + ( metric-space-Normed-ℝ-Vector-Space V) + ( neg-Normed-ℝ-Vector-Space V) + is-isometry-neg-Normed-ℝ-Vector-Space = + is-isometry-sim-metric-Metric-Space + ( metric-space-Normed-ℝ-Vector-Space V) + ( metric-space-Normed-ℝ-Vector-Space V) + ( nonnegative-dist-Normed-ℝ-Vector-Space V) + ( nonnegative-dist-Normed-ℝ-Vector-Space V) + ( is-metric-metric-space-Metric + ( set-Normed-ℝ-Vector-Space V) + ( metric-Normed-ℝ-Vector-Space V)) + ( is-metric-metric-space-Metric + ( set-Normed-ℝ-Vector-Space V) + ( metric-Normed-ℝ-Vector-Space V)) + ( neg-Normed-ℝ-Vector-Space V) + ( λ x y → + sim-eq-ℝ + ( inv + ( equational-reasoning + dist-Normed-ℝ-Vector-Space V + ( neg-Normed-ℝ-Vector-Space V x) + ( neg-Normed-ℝ-Vector-Space V y) + = dist-Normed-ℝ-Vector-Space V y x + by + ap + ( map-norm-Normed-ℝ-Vector-Space V) + ( right-subtraction-neg-Ab + ( ab-Normed-ℝ-Vector-Space V) + ( _) + ( _)) + = dist-Normed-ℝ-Vector-Space V x y + by commutative-dist-Normed-ℝ-Vector-Space V y x))) +``` + +### Addition is an isometry in the metric space of a normed vector space + +```agda +module _ + {l1 l2 : Level} + (V : Normed-ℝ-Vector-Space l1 l2) + (u : type-Normed-ℝ-Vector-Space V) + where + + abstract + is-isometry-left-add-Normed-ℝ-Vector-Space : + is-isometry-Metric-Space + ( metric-space-Normed-ℝ-Vector-Space V) + ( metric-space-Normed-ℝ-Vector-Space V) + ( add-Normed-ℝ-Vector-Space V u) + is-isometry-left-add-Normed-ℝ-Vector-Space = + is-isometry-sim-metric-Metric-Space + ( metric-space-Normed-ℝ-Vector-Space V) + ( metric-space-Normed-ℝ-Vector-Space V) + ( nonnegative-dist-Normed-ℝ-Vector-Space V) + ( nonnegative-dist-Normed-ℝ-Vector-Space V) + ( is-metric-metric-space-Metric + ( set-Normed-ℝ-Vector-Space V) + ( metric-Normed-ℝ-Vector-Space V)) + ( is-metric-metric-space-Metric + ( set-Normed-ℝ-Vector-Space V) + ( metric-Normed-ℝ-Vector-Space V)) + ( add-Normed-ℝ-Vector-Space V u) + ( λ v w → + sim-eq-ℝ + ( ap + ( map-norm-Normed-ℝ-Vector-Space V) + ( inv + ( right-subtraction-left-add-Ab + ( ab-Normed-ℝ-Vector-Space V) + ( u) + ( v) + ( w))))) +``` + ## See also - [Real Banach spaces](linear-algebra.real-banach-spaces.md), normed real vector diff --git a/src/linear-algebra/real-banach-spaces.lagda.md b/src/linear-algebra/real-banach-spaces.lagda.md index 1ed7c36a32..bdcc30ac25 100644 --- a/src/linear-algebra/real-banach-spaces.lagda.md +++ b/src/linear-algebra/real-banach-spaces.lagda.md @@ -17,9 +17,16 @@ open import foundation.universe-levels open import linear-algebra.normed-real-vector-spaces +open import lists.sequences + +open import metric-spaces.cauchy-sequences-complete-metric-spaces +open import metric-spaces.cauchy-sequences-metric-spaces open import metric-spaces.complete-metric-spaces +open import metric-spaces.limits-of-sequences-metric-spaces +open import metric-spaces.metric-spaces open import real-numbers.cauchy-completeness-dedekind-real-numbers +open import real-numbers.dedekind-real-numbers ```
@@ -49,6 +56,59 @@ is-banach-Normed-ℝ-Vector-Space V = ℝ-Banach-Space : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2) ℝ-Banach-Space l1 l2 = type-subtype (is-banach-prop-Normed-ℝ-Vector-Space {l1} {l2}) + +module _ + {l1 l2 : Level} + (V : ℝ-Banach-Space l1 l2) + where + + normed-vector-space-ℝ-Banach-Space : Normed-ℝ-Vector-Space l1 l2 + normed-vector-space-ℝ-Banach-Space = pr1 V + + metric-space-ℝ-Banach-Space : Metric-Space l2 l1 + metric-space-ℝ-Banach-Space = + metric-space-Normed-ℝ-Vector-Space normed-vector-space-ℝ-Banach-Space + + is-complete-metric-space-ℝ-Banach-Space : + is-complete-Metric-Space metric-space-ℝ-Banach-Space + is-complete-metric-space-ℝ-Banach-Space = pr2 V + + complete-metric-space-ℝ-Banach-Space : Complete-Metric-Space l2 l1 + complete-metric-space-ℝ-Banach-Space = + ( metric-space-ℝ-Banach-Space , is-complete-metric-space-ℝ-Banach-Space) + + type-ℝ-Banach-Space : UU l2 + type-ℝ-Banach-Space = + type-Normed-ℝ-Vector-Space normed-vector-space-ℝ-Banach-Space + + map-norm-ℝ-Banach-Space : type-ℝ-Banach-Space → ℝ l1 + map-norm-ℝ-Banach-Space = + map-norm-Normed-ℝ-Vector-Space normed-vector-space-ℝ-Banach-Space + + cauchy-sequence-ℝ-Banach-Space : UU (l1 ⊔ l2) + cauchy-sequence-ℝ-Banach-Space = + cauchy-sequence-Metric-Space metric-space-ℝ-Banach-Space + + is-cauchy-sequence-ℝ-Banach-Space : + sequence type-ℝ-Banach-Space → UU l1 + is-cauchy-sequence-ℝ-Banach-Space = + is-cauchy-sequence-Metric-Space metric-space-ℝ-Banach-Space + + map-cauchy-sequence-ℝ-Banach-Space : + cauchy-sequence-ℝ-Banach-Space → sequence type-ℝ-Banach-Space + map-cauchy-sequence-ℝ-Banach-Space = pr1 + + has-limit-sequence-ℝ-Banach-Space : + sequence type-ℝ-Banach-Space → UU (l1 ⊔ l2) + has-limit-sequence-ℝ-Banach-Space = + has-limit-sequence-Metric-Space metric-space-ℝ-Banach-Space + + has-limit-cauchy-sequence-ℝ-Banach-Space : + (σ : cauchy-sequence-ℝ-Banach-Space) → + has-limit-sequence-ℝ-Banach-Space (map-cauchy-sequence-ℝ-Banach-Space σ) + has-limit-cauchy-sequence-ℝ-Banach-Space = + has-limit-cauchy-sequence-Complete-Metric-Space + ( complete-metric-space-ℝ-Banach-Space) ``` ## Properties diff --git a/src/metric-spaces/metrics-of-metric-spaces.lagda.md b/src/metric-spaces/metrics-of-metric-spaces.lagda.md index a918f42c78..f3b1b5bcff 100644 --- a/src/metric-spaces/metrics-of-metric-spaces.lagda.md +++ b/src/metric-spaces/metrics-of-metric-spaces.lagda.md @@ -21,13 +21,17 @@ open import foundation.transport-along-identifications open import foundation.universe-levels open import metric-spaces.equality-of-metric-spaces +open import metric-spaces.functions-metric-spaces +open import metric-spaces.isometries-metric-spaces open import metric-spaces.located-metric-spaces open import metric-spaces.metric-spaces open import metric-spaces.metrics +open import metric-spaces.short-functions-metric-spaces open import real-numbers.addition-nonnegative-real-numbers open import real-numbers.dedekind-real-numbers 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.rational-real-numbers open import real-numbers.saturation-inequality-nonnegative-real-numbers @@ -266,6 +270,109 @@ module _ ( isometric-equiv-metric-is-metric-of-Metric-Space M ρ is-metric-M-ρ) ``` +### If `M` and `N` are metric spaces with metrics `dM` and `dN`, a function `f : M → N` is an isometry if and only if `dM x y` is similar to `dN (f x) (f y)` for all `x, y : M` + +```agda +module _ + {l1 l2 l3 l4 l5 l6 : Level} + (M : Metric-Space l1 l2) + (N : Metric-Space l3 l4) + (dM : distance-function l5 (set-Metric-Space M)) + (dN : distance-function l6 (set-Metric-Space N)) + (is-metric-dM : is-metric-of-Metric-Space M dM) + (is-metric-dN : is-metric-of-Metric-Space N dN) + (f : type-function-Metric-Space M N) + where + + abstract + is-isometry-sim-metric-Metric-Space : + ((x y : type-Metric-Space M) → sim-ℝ⁰⁺ (dM x y) (dN (f x) (f y))) → + is-isometry-Metric-Space M N f + is-isometry-sim-metric-Metric-Space H d x y = + logical-equivalence-reasoning + neighborhood-Metric-Space M d x y + ↔ leq-ℝ (real-ℝ⁰⁺ (dM x y)) (real-ℚ⁺ d) + by is-metric-dM d x y + ↔ leq-ℝ (real-ℝ⁰⁺ (dN (f x) (f y))) (real-ℚ⁺ d) + by leq-iff-left-sim-ℝ (H x y) + ↔ neighborhood-Metric-Space N d (f x) (f y) + by inv-iff (is-metric-dN d (f x) (f y)) + + sim-metric-is-isometry-Metric-Space : + is-isometry-Metric-Space M N f → + (x y : type-Metric-Space M) → + sim-ℝ⁰⁺ (dM x y) (dN (f x) (f y)) + sim-metric-is-isometry-Metric-Space H x y = + sim-leq-same-positive-rational-ℝ⁰⁺ + ( dM x y) + ( dN (f x) (f y)) + ( λ d → + logical-equivalence-reasoning + leq-ℝ (real-ℝ⁰⁺ (dM x y)) (real-ℚ⁺ d) + ↔ neighborhood-Metric-Space M d x y + by inv-iff (is-metric-dM d x y) + ↔ neighborhood-Metric-Space N d (f x) (f y) + by H d x y + ↔ leq-ℝ (real-ℝ⁰⁺ (dN (f x) (f y))) (real-ℚ⁺ d) + by is-metric-dN d (f x) (f y)) + + is-isometry-iff-sim-metric-Metric-Space : + is-isometry-Metric-Space M N f ↔ + ((x y : type-Metric-Space M) → sim-ℝ⁰⁺ (dM x y) (dN (f x) (f y))) + is-isometry-iff-sim-metric-Metric-Space = + ( sim-metric-is-isometry-Metric-Space , + is-isometry-sim-metric-Metric-Space) +``` + +### If `M` and `N` are metric spaces with metrics `dM` and `dN`, a function `f : M → N` is short if and only if `dN (f x) (f y) ≤ dM x y` for all `x, y : M` + +```agda +module _ + {l1 l2 l3 l4 l5 l6 : Level} + (M : Metric-Space l1 l2) + (N : Metric-Space l3 l4) + (dM : distance-function l5 (set-Metric-Space M)) + (dN : distance-function l6 (set-Metric-Space N)) + (is-metric-dM : is-metric-of-Metric-Space M dM) + (is-metric-dN : is-metric-of-Metric-Space N dN) + (f : type-function-Metric-Space M N) + where + + abstract + is-short-function-leq-metric-Metric-Space : + ((x y : type-Metric-Space M) → leq-ℝ⁰⁺ (dN (f x) (f y)) (dM x y)) → + is-short-function-Metric-Space M N f + is-short-function-leq-metric-Metric-Space H d x y Ndxy = + backward-implication + ( is-metric-dN d (f x) (f y)) + ( transitive-leq-ℝ + ( real-ℝ⁰⁺ (dN (f x) (f y))) + ( real-ℝ⁰⁺ (dM x y)) + ( real-ℚ⁺ d) + ( forward-implication (is-metric-dM d x y) Ndxy) + ( H x y)) + + leq-metric-is-short-function-Metric-Space : + is-short-function-Metric-Space M N f → + (x y : type-Metric-Space M) → + leq-ℝ⁰⁺ (dN (f x) (f y)) (dM x y) + leq-metric-is-short-function-Metric-Space H x y = + leq-leq-positive-rational-ℝ⁰⁺ + ( dN (f x) (f y)) + ( dM x y) + ( λ d dMxy≤d → + forward-implication + ( is-metric-dN d (f x) (f y)) + ( H d x y (backward-implication (is-metric-dM d x y) dMxy≤d))) + + is-short-function-iff-leq-metric-Metric-Space : + is-short-function-Metric-Space M N f ↔ + ((x y : type-Metric-Space M) → leq-ℝ⁰⁺ (dN (f x) (f y)) (dM x y)) + is-short-function-iff-leq-metric-Metric-Space = + ( leq-metric-is-short-function-Metric-Space , + is-short-function-leq-metric-Metric-Space) +``` + ## See also - [Metrics of metric spaces are uniformly continuous](metric-spaces.metrics-of-metric-spaces-are-uniformly-continuous.md) diff --git a/src/real-numbers.lagda.md b/src/real-numbers.lagda.md index 9fb6e1249d..3ad9872822 100644 --- a/src/real-numbers.lagda.md +++ b/src/real-numbers.lagda.md @@ -22,7 +22,6 @@ open import real-numbers.binary-minimum-real-numbers public open import real-numbers.cauchy-completeness-dedekind-real-numbers public open import real-numbers.cauchy-sequences-real-numbers public open import real-numbers.closed-intervals-real-numbers public -open import real-numbers.convergent-series-real-numbers public open import real-numbers.dedekind-real-numbers public open import real-numbers.difference-real-numbers public open import real-numbers.distance-real-numbers public @@ -59,7 +58,7 @@ open import real-numbers.maximum-finite-families-real-numbers public open import real-numbers.maximum-inhabited-finitely-enumerable-subsets-real-numbers public open import real-numbers.maximum-lower-dedekind-real-numbers public open import real-numbers.maximum-upper-dedekind-real-numbers public -open import real-numbers.metric-abelian-group-of-real-numbers public +open import real-numbers.metric-additive-group-of-real-numbers public open import real-numbers.metric-space-of-nonnegative-real-numbers public open import real-numbers.metric-space-of-real-numbers public open import real-numbers.minimum-finite-families-real-numbers public @@ -93,7 +92,6 @@ open import real-numbers.real-numbers-from-upper-dedekind-real-numbers public open import real-numbers.real-sequences-approximating-zero public open import real-numbers.saturation-inequality-nonnegative-real-numbers public open import real-numbers.saturation-inequality-real-numbers public -open import real-numbers.series-real-numbers public open import real-numbers.short-function-binary-maximum-real-numbers public open import real-numbers.short-function-binary-minimum-real-numbers public open import real-numbers.similarity-nonnegative-real-numbers public diff --git a/src/real-numbers/cauchy-sequences-real-numbers.lagda.md b/src/real-numbers/cauchy-sequences-real-numbers.lagda.md index 6876201386..a7d81021a9 100644 --- a/src/real-numbers/cauchy-sequences-real-numbers.lagda.md +++ b/src/real-numbers/cauchy-sequences-real-numbers.lagda.md @@ -11,6 +11,8 @@ module real-numbers.cauchy-sequences-real-numbers where ```agda open import foundation.universe-levels +open import lists.sequences + open import metric-spaces.cartesian-products-metric-spaces open import metric-spaces.cauchy-sequences-complete-metric-spaces open import metric-spaces.cauchy-sequences-metric-spaces @@ -39,6 +41,9 @@ is a [Cauchy sequence](metric-spaces.cauchy-sequences-metric-spaces.md) in the ## Definition ```agda +is-cauchy-sequence-ℝ : {l : Level} → sequence (ℝ l) → UU l +is-cauchy-sequence-ℝ {l} = is-cauchy-sequence-Metric-Space (metric-space-ℝ l) + cauchy-sequence-ℝ : (l : Level) → UU (lsuc l) cauchy-sequence-ℝ l = cauchy-sequence-Metric-Space (metric-space-ℝ l) ``` diff --git a/src/real-numbers/convergent-series-real-numbers.lagda.md b/src/real-numbers/convergent-series-real-numbers.lagda.md deleted file mode 100644 index 9c8b3bd2db..0000000000 --- a/src/real-numbers/convergent-series-real-numbers.lagda.md +++ /dev/null @@ -1,40 +0,0 @@ -# Convergent series of real numbers - -```agda -{-# OPTIONS --lossy-unification #-} - -module real-numbers.convergent-series-real-numbers where -``` - -
Imports - -```agda -open import analysis.convergent-series-metric-abelian-groups - -open import foundation.propositions -open import foundation.universe-levels - -open import real-numbers.dedekind-real-numbers -open import real-numbers.series-real-numbers -``` - -
- -## Idea - -A [series](real-numbers.series-real-numbers.md) of -[real numbers](real-numbers.dedekind-real-numbers.md) -{{#concept "converges" Disambiguation="series of real numbers" Agda=is-sum-series-ℝ}} -to `x` if the sequence of its partial sums -[converges](metric-spaces.limits-of-sequences-metric-spaces.md) to `x` in the -[standard metric space of real numbers](real-numbers.metric-space-of-real-numbers.md). - -## Definition - -```agda -is-sum-prop-series-ℝ : {l : Level} → series-ℝ l → ℝ l → Prop l -is-sum-prop-series-ℝ = is-sum-prop-series-Metric-Ab - -is-sum-series-ℝ : {l : Level} → series-ℝ l → ℝ l → UU l -is-sum-series-ℝ = is-sum-series-Metric-Ab -``` diff --git a/src/real-numbers/geometric-sequences-real-numbers.lagda.md b/src/real-numbers/geometric-sequences-real-numbers.lagda.md index a868836657..f5625e7f4e 100644 --- a/src/real-numbers/geometric-sequences-real-numbers.lagda.md +++ b/src/real-numbers/geometric-sequences-real-numbers.lagda.md @@ -9,6 +9,9 @@ module real-numbers.geometric-sequences-real-numbers where
Imports ```agda +open import analysis.convergent-series-real-numbers +open import analysis.series-real-numbers + open import commutative-algebra.geometric-sequences-commutative-rings open import elementary-number-theory.natural-numbers @@ -27,7 +30,6 @@ open import metric-spaces.uniformly-continuous-functions-metric-spaces open import real-numbers.absolute-value-real-numbers open import real-numbers.apartness-real-numbers -open import real-numbers.convergent-series-real-numbers open import real-numbers.dedekind-real-numbers open import real-numbers.difference-real-numbers open import real-numbers.isometry-difference-real-numbers @@ -41,7 +43,6 @@ open import real-numbers.nonzero-real-numbers open import real-numbers.powers-real-numbers open import real-numbers.raising-universe-levels-real-numbers open import real-numbers.rational-real-numbers -open import real-numbers.series-real-numbers open import real-numbers.similarity-real-numbers open import real-numbers.strict-inequality-real-numbers open import real-numbers.uniformly-continuous-functions-real-numbers diff --git a/src/real-numbers/inequality-real-numbers.lagda.md b/src/real-numbers/inequality-real-numbers.lagda.md index 1d9d46febf..d44ee49da3 100644 --- a/src/real-numbers/inequality-real-numbers.lagda.md +++ b/src/real-numbers/inequality-real-numbers.lagda.md @@ -328,6 +328,21 @@ module _ preserves-leq-right-sim-ℝ : leq-ℝ z x → leq-ℝ z y preserves-leq-right-sim-ℝ z≤x q qImports ```agda +open import analysis.complete-metric-abelian-groups open import analysis.metric-abelian-groups open import foundation.dependent-pair-types @@ -16,6 +17,7 @@ open import foundation.universe-levels open import metric-spaces.pseudometric-spaces +open import real-numbers.cauchy-completeness-dedekind-real-numbers open import real-numbers.isometry-addition-real-numbers open import real-numbers.isometry-negation-real-numbers open import real-numbers.large-additive-group-of-real-numbers @@ -34,11 +36,16 @@ The [Dedekind real numbers](real-numbers.dedekind-real-numbers.md) form a ## Definition ```agda -metric-ab-ℝ : (l : Level) → Metric-Ab (lsuc l) l -metric-ab-ℝ l = +metric-ab-add-ℝ : (l : Level) → Metric-Ab (lsuc l) l +metric-ab-add-ℝ l = ( ab-add-ℝ l , structure-Pseudometric-Space (pseudometric-space-ℝ l) , is-extensional-pseudometric-space-ℝ , is-isometry-neg-ℝ , is-isometry-left-add-ℝ) + +complete-metric-ab-add-ℝ : (l : Level) → Complete-Metric-Ab (lsuc l) l +complete-metric-ab-add-ℝ l = + ( metric-ab-add-ℝ l , + is-complete-metric-space-ℝ l) ``` diff --git a/src/real-numbers/series-real-numbers.lagda.md b/src/real-numbers/series-real-numbers.lagda.md deleted file mode 100644 index f3d0ecf21e..0000000000 --- a/src/real-numbers/series-real-numbers.lagda.md +++ /dev/null @@ -1,42 +0,0 @@ -# Series of real numbers - -```agda -{-# OPTIONS --lossy-unification #-} - -module real-numbers.series-real-numbers where -``` - -
Imports - -```agda -open import analysis.series-metric-abelian-groups - -open import foundation.universe-levels - -open import lists.sequences - -open import real-numbers.dedekind-real-numbers -open import real-numbers.metric-abelian-group-of-real-numbers -``` - -
- -## Idea - -A {{#concept "series" Disambiguation="of real numbers" Agda=series-ℝ}} of -[real numbers](real-numbers.dedekind-real-numbers.md) is an infinite sum -$$∑_{n=0}^∞ a_n$$, which is evaluated for convergence in the -[metric abelian group of real numbers](real-numbers.metric-abelian-group-of-real-numbers.md). - -## Definition - -```agda -series-ℝ : (l : Level) → UU (lsuc l) -series-ℝ l = series-Metric-Ab (metric-ab-ℝ l) - -series-terms-ℝ : {l : Level} → sequence (ℝ l) → series-ℝ l -series-terms-ℝ = series-terms-Metric-Ab - -terms-series-ℝ : {l : Level} → series-ℝ l → sequence (ℝ l) -terms-series-ℝ = term-series-Metric-Ab -```