Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
366 commits
Select commit Hold shift + click to select a range
89c04b3
Merge branch 'apartness-metric' into cluster-point-metric
lowasser Nov 8, 2025
7c13bf5
Merge branch 'proper-closed-intervals' into cluster-point-metric
lowasser Nov 8, 2025
6a0ce50
Every point in a proper closed interval is an accumulation point
lowasser Nov 9, 2025
3ed6bf1
Sequential accumulation points
lowasser Nov 9, 2025
74b1601
Prove equivalence between sequential and approximation versions
lowasser Nov 9, 2025
2bda7c6
Prove equivalence between sequential and approximation versions
lowasser Nov 9, 2025
719aff3
Fix link
lowasser Nov 9, 2025
8569df8
chore: optimize imports `real-numbers`
fredrik-bakke Nov 9, 2025
f11b6e2
fix
fredrik-bakke Nov 9, 2025
2c0bdbc
chore: optimize imports rational numbers
fredrik-bakke Nov 9, 2025
6f84e68
Merge branch 'master' into cleanup-reals
fredrik-bakke Nov 9, 2025
19429e5
Merge remote-tracking branch 'origin/cleanup-reals' into power-small-…
lowasser Nov 9, 2025
908914f
Fixes
lowasser Nov 9, 2025
39c6414
Merge branch 'master' into power-small-real
lowasser Nov 9, 2025
7542dd2
Fix build
lowasser Nov 9, 2025
d22a00b
Merge branch 'power-small-real' into apartness-metric
lowasser Nov 9, 2025
247204c
Merge branch 'apartness-metric' into cluster-point-metric
lowasser Nov 9, 2025
850d8e0
Merge branch 'cluster-point-metric' into mul-inv-complex
lowasser Nov 9, 2025
fc7be89
Multiplicative inverses of nonzero complex numbers
lowasser Nov 9, 2025
89adb08
Magnitudes multiply
lowasser Nov 10, 2025
1b16862
Merge branch 'master' into power-small-real
lowasser Nov 10, 2025
0bb5730
Update src/commutative-algebra/geometric-sequences-commutative-rings.…
lowasser Nov 10, 2025
62bf2b6
Respond to review comment
lowasser Nov 10, 2025
8367ef1
Merge remote-tracking branch 'origin/power-small-real' into power-sma…
lowasser Nov 10, 2025
855c5bb
Fix arithmetic op names
lowasser Nov 10, 2025
51dbac7
Merge branch 'power-small-real' into apartness-metric
lowasser Nov 10, 2025
9309668
Apply suggestions from code review
lowasser Nov 10, 2025
d1447a8
Respond to comments
lowasser Nov 10, 2025
fb3dec5
plural `preserves-limits`
fredrik-bakke Nov 10, 2025
b016840
Vector spaces
lowasser Nov 11, 2025
b314743
Merge branch 'power-small-real' into apartness-metric
lowasser Nov 11, 2025
ace1e87
Merge branch 'master' into apartness-metric
lowasser Nov 11, 2025
6b6689a
Correct merge
lowasser Nov 11, 2025
1d02a41
Progress
lowasser Nov 11, 2025
cac562e
Fix merge
lowasser Nov 11, 2025
453322e
Revert accident
lowasser Nov 11, 2025
23e4eab
Fix lefts and rights
lowasser Nov 11, 2025
16e5f5c
Progress
lowasser Nov 11, 2025
edc0b39
Merge branch 'mul-inv-complex' into vector-spaces
lowasser Nov 11, 2025
3a1716c
Merge branch 'apartness-metric' into cluster-point-metric
lowasser Nov 11, 2025
e1a2523
Merge branch 'cluster-point-metric' into vector-spaces
lowasser Nov 11, 2025
8ac326c
Apply suggestions from code review
lowasser Nov 11, 2025
68dbbeb
Merge branch 'apartness-metric' into cluster-point-metric
lowasser Nov 11, 2025
c9c052d
Merge branch 'cluster-point-metric' into mul-inv-complex
lowasser Nov 11, 2025
98a567d
Fix
lowasser Nov 11, 2025
6875f83
Merge branch 'master' into apartness-metric
fredrik-bakke Nov 11, 2025
104ce21
Merge branch 'apartness-metric' into cluster-point-metric
lowasser Nov 12, 2025
b8d27e2
Merge branch 'master' into cluster-point-metric
lowasser Nov 12, 2025
cea1591
Merge branch 'cluster-point-metric' into vector-spaces
lowasser Nov 12, 2025
b05a85e
Real seminormed, normed, and Banach spaces
lowasser Nov 12, 2025
a2a979f
Pythagorean theorem
lowasser Nov 12, 2025
4c7eb99
make pre-commit
lowasser Nov 12, 2025
5a73e5c
Progress
lowasser Nov 12, 2025
efb137f
Progress
lowasser Nov 12, 2025
4ac0fbf
Merge branch 'cluster-point-metric' into mul-inv-complex
lowasser Nov 12, 2025
53e7aeb
make pre-commit
lowasser Nov 12, 2025
e32bd41
make pre-commit
lowasser Nov 12, 2025
4494428
Merge branch 'vector-spaces' into normed-vector-spaces
lowasser Nov 12, 2025
6eb58af
Merge branch 'normed-vector-spaces' into inner-product-spaces
lowasser Nov 12, 2025
58b774a
make pre-commit
lowasser Nov 12, 2025
2d01b49
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 12, 2025
739b808
Progress
lowasser Nov 12, 2025
4315621
Progress
lowasser Nov 12, 2025
7300f31
Merge branch 'master' into cluster-point-metric
lowasser Nov 13, 2025
c90223c
Merge branch 'master' into cluster-point-metric
lowasser Nov 13, 2025
a1a6a8c
Update src/metric-spaces/cauchy-sequences-metric-spaces.lagda.md
lowasser Nov 13, 2025
1bcb06a
Update src/metric-spaces/accumulation-points-subsets-located-metric-s…
lowasser Nov 13, 2025
a9bacdd
Update src/real-numbers/binary-maximum-real-numbers.lagda.md
lowasser Nov 13, 2025
f5e8fba
Progress
lowasser Nov 13, 2025
eb7688e
Merge remote-tracking branch 'origin/cluster-point-metric' into clust…
lowasser Nov 13, 2025
7cc7c37
Merge branch 'master' into inner-product-spaces
lowasser Nov 13, 2025
510ac59
Merge branch 'master' into cluster-point-metric
lowasser Nov 13, 2025
08bb7e3
Fixes
lowasser Nov 13, 2025
db68b9d
Simplify
lowasser Nov 13, 2025
ec3033d
Merge branch 'cluster-point-metric' into mul-inv-complex
lowasser Nov 13, 2025
9a1d3a2
Merge branch 'cluster-point-metric' into vector-spaces
lowasser Nov 13, 2025
0ec089c
Merge branch 'mul-inv-complex' into vector-spaces
lowasser Nov 13, 2025
04e6eb2
Merge branch 'vector-spaces' into normed-vector-spaces
lowasser Nov 13, 2025
9a7c410
The Cauchy-Schwarz Inequality
lowasser Nov 14, 2025
9a07a0a
Add to 100 Theorems
lowasser Nov 14, 2025
7982cb7
Merge branch 'normed-vector-spaces' into inner-product-spaces
lowasser Nov 14, 2025
b0ba6b9
Merge remote-tracking branch 'origin/inner-product-spaces' into inner…
lowasser Nov 14, 2025
ff17bc4
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 14, 2025
b704fa9
Refactor Pythagorean Theorem to its own file
lowasser Nov 14, 2025
5a4ec98
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 14, 2025
96d99eb
Progress
lowasser Nov 14, 2025
5ac1666
Fix naming
lowasser Nov 14, 2025
5686565
Merge branch 'normed-vector-spaces' into inner-product-spaces
lowasser Nov 14, 2025
be3aac8
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 14, 2025
4fd35aa
Define Hilbert spaces
lowasser Nov 14, 2025
948b32b
Back out triangle inequality
lowasser Nov 14, 2025
ee9c28d
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 14, 2025
111203a
Move bibliography
lowasser Nov 14, 2025
4a2d14a
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 14, 2025
37f71de
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 14, 2025
4a1d1c9
Fix braces
lowasser Nov 15, 2025
a15f079
Merge branch 'mul-inv-complex' into vector-spaces
lowasser Nov 15, 2025
b0b1d43
Merge branch 'vector-spaces' into normed-vector-spaces
lowasser Nov 15, 2025
e21b81e
Merge branch 'normed-vector-spaces' into inner-product-spaces
lowasser Nov 15, 2025
12e2425
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 15, 2025
b45b236
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 15, 2025
ecfd72d
Update src/metric-spaces/accumulation-points-subsets-located-metric-s…
lowasser Nov 15, 2025
bf8f5c6
Merge remote-tracking branch 'origin/cluster-point-metric'
lowasser Nov 15, 2025
ff1dcee
Merge branch 'master' into mul-inv-complex
lowasser Nov 15, 2025
f0e48e4
Merge branch 'mul-inv-complex' into vector-spaces
lowasser Nov 15, 2025
2531ff0
Merge branch 'vector-spaces' into inner-product-spaces
lowasser Nov 15, 2025
1c59242
Fix imports
lowasser Nov 15, 2025
f09fd5f
The reals are a vector space over themselves
lowasser Nov 15, 2025
cb0f9e3
Merge branch 'vector-spaces' into normed-vector-spaces
lowasser Nov 15, 2025
9941e80
The real normed vector space of the reals
lowasser Nov 15, 2025
260076b
The reals are themselves a real Banach space
lowasser Nov 15, 2025
5ef21f2
Fix title in vector-spaces
lowasser Nov 15, 2025
f7527cf
Merge branch 'vector-spaces' into normed-vector-spaces
lowasser Nov 15, 2025
e92de9c
Merge branch 'normed-vector-spaces' into inner-product-spaces
lowasser Nov 15, 2025
faa6ee9
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 15, 2025
cc88868
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 15, 2025
7475404
make pre-commit
lowasser Nov 15, 2025
b7d38d5
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 15, 2025
b2d9bff
make pre-commit
lowasser Nov 15, 2025
688c34b
The reals are an inner product space over themselves under multiplica…
lowasser Nov 15, 2025
c8c8e6b
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 15, 2025
74277ab
make pre-commit
lowasser Nov 15, 2025
a02156a
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 15, 2025
937387f
The reals are a real Hilbert space
lowasser Nov 15, 2025
b955c69
make pre-commit
lowasser Nov 15, 2025
de71c71
Add more cross links
lowasser Nov 16, 2025
d593401
Merge branch 'vector-spaces' into normed-vector-spaces
lowasser Nov 16, 2025
05bcb36
Add more cross links
lowasser Nov 16, 2025
480ef20
Add more cross links
lowasser Nov 16, 2025
1918718
Merge branch 'normed-vector-spaces' into inner-product-spaces
lowasser Nov 16, 2025
d461da2
Add more cross links
lowasser Nov 16, 2025
1cd49f7
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 16, 2025
b4add12
Add more cross links
lowasser Nov 16, 2025
def4867
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 16, 2025
cbcc2c6
Add more cross links
lowasser Nov 16, 2025
ef5fb9d
Update src/complex-numbers/apartness-complex-numbers.lagda.md
lowasser Nov 16, 2025
f734c77
Update src/complex-numbers/magnitude-complex-numbers.lagda.md
lowasser Nov 16, 2025
b069ea8
Update src/complex-numbers/magnitude-complex-numbers.lagda.md
lowasser Nov 16, 2025
e090719
Update src/complex-numbers/magnitude-complex-numbers.lagda.md
lowasser Nov 16, 2025
6783b3d
Apply suggestions from code review
lowasser Nov 16, 2025
c02c593
Respond to review comments
lowasser Nov 16, 2025
7cb97fd
Merge branch 'master' into mul-inv-complex
lowasser Nov 16, 2025
b1f22ea
Merge branch 'mul-inv-complex' into vector-spaces
lowasser Nov 16, 2025
d7fa3aa
Merge branch 'vector-spaces' into normed-vector-spaces
lowasser Nov 16, 2025
3e76b82
Merge branch 'normed-vector-spaces' into inner-product-spaces
lowasser Nov 16, 2025
5ee9b64
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 16, 2025
a7672ce
Use Heyting fields instead of local commutative rings to define vecto…
lowasser Nov 17, 2025
15d5d50
Add external link
lowasser Nov 17, 2025
ad8c577
Side note: apartness on R is tight
lowasser Nov 17, 2025
76a89f3
Make things abstract
lowasser Nov 17, 2025
82b9336
More docs
lowasser Nov 17, 2025
17d1b15
Merge branch 'vector-spaces' into normed-vector-spaces
lowasser Nov 17, 2025
8c0f21e
Merge branch 'normed-vector-spaces' into inner-product-spaces
lowasser Nov 17, 2025
a453618
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 17, 2025
d3f9a4b
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 17, 2025
31f56e1
Fix naming
lowasser Nov 17, 2025
dc62250
Pythagorean theorem
lowasser Nov 12, 2025
fea53e5
make pre-commit
lowasser Nov 12, 2025
abee444
Refactor Pythagorean Theorem to its own file
lowasser Nov 14, 2025
ec04236
Move bibliography
lowasser Nov 14, 2025
d002cac
The reals are an inner product space over themselves under multiplica…
lowasser Nov 15, 2025
d04b863
Add more cross links
lowasser Nov 16, 2025
a48cf5a
make pre-commit
lowasser Nov 17, 2025
577af2a
make pre-commit
lowasser Nov 12, 2025
63b1f3e
Progress
lowasser Nov 12, 2025
82f0078
Progress
lowasser Nov 12, 2025
0b637c8
Progress
lowasser Nov 12, 2025
5c61143
Progress
lowasser Nov 12, 2025
0bc2dd6
The Cauchy-Schwarz Inequality
lowasser Nov 14, 2025
edb9f79
Add to 100 Theorems
lowasser Nov 14, 2025
5cc596e
Progress
lowasser Nov 14, 2025
72a9b34
Back out triangle inequality
lowasser Nov 14, 2025
8e9e998
make pre-commit
lowasser Nov 15, 2025
4bc4486
make pre-commit
lowasser Nov 15, 2025
488852e
Add more cross links
lowasser Nov 16, 2025
76be52f
Fix rebase
lowasser Nov 17, 2025
4837307
Merge branch 'cauchy-schwarz-v2' into hilbert-spaces-v2
lowasser Nov 17, 2025
4ca27cc
Merge rebase
lowasser Nov 17, 2025
8360d20
make pre-commit
lowasser Nov 17, 2025
7af9519
Fix build
lowasser Nov 17, 2025
d59a718
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 17, 2025
eeacf35
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 17, 2025
12da7ee
Correct parentheses
lowasser Nov 17, 2025
7a26343
Remove link from rebase
lowasser Nov 17, 2025
a33a18c
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 17, 2025
124a228
Merge branch 'master' into vector-spaces
lowasser Nov 17, 2025
6720ded
Merge branch 'vector-spaces' into inner-product-spaces
lowasser Nov 17, 2025
c8b6579
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 17, 2025
e5cc414
Merge branch 'master' into vector-spaces
lowasser Nov 17, 2025
afb9bfd
Update src/commutative-algebra/heyting-fields.lagda.md
lowasser Nov 17, 2025
98f0b57
Describe Heyting vs discrete fields
lowasser Nov 17, 2025
06a594a
Merge remote-tracking branch 'origin/vector-spaces' into vector-spaces
lowasser Nov 17, 2025
454ef06
Update src/foundation/large-apartness-relations.lagda.md
lowasser Nov 17, 2025
1a61315
Update src/commutative-algebra/local-commutative-rings.lagda.md
lowasser Nov 18, 2025
cbf5a30
Respond to review comments
lowasser Nov 18, 2025
41d90f5
Merge remote-tracking branch 'origin/vector-spaces' into vector-spaces
lowasser Nov 18, 2025
5ad66fa
make pre-commit
lowasser Nov 18, 2025
67a05af
Merge branch 'master' into vector-spaces
lowasser Nov 20, 2025
81d01f5
Update src/real-numbers/field-of-real-numbers.lagda.md
lowasser Nov 20, 2025
7c39b3b
Merge remote-tracking branch 'origin/vector-spaces' into vector-spaces
lowasser Nov 20, 2025
29100f7
Nonequality of 0 and 1 as its own lemma
lowasser Nov 20, 2025
3a31ee0
make pre-commit
lowasser Nov 21, 2025
3af6e3d
Merge branch 'master' into vector-spaces
lowasser Nov 21, 2025
4fec788
Merge branch 'vector-spaces' into inner-product-spaces
lowasser Nov 21, 2025
5aa2906
Revert added import
lowasser Nov 21, 2025
2018ded
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 21, 2025
23aef87
Remove unused bibliography
lowasser Nov 21, 2025
a777de1
Respond to review comments
lowasser Nov 25, 2025
cff02cf
Respond to comments
lowasser Nov 25, 2025
dfcb4f2
Merge branch 'master' into inner-product-spaces
lowasser Nov 25, 2025
ee395e9
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 25, 2025
dcc437f
Cleanup crediting and Wikipedia theorem pointer
lowasser Nov 25, 2025
73d4390
make pre-commit
lowasser Nov 26, 2025
c6dc919
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Nov 26, 2025
fede7f7
Simplifications and cleanups
lowasser Nov 26, 2025
854ae72
Update src/real-numbers/extensionality-multiplication-real-numbers.la…
lowasser Nov 26, 2025
1f481cb
Update src/linear-algebra/orthogonality-real-inner-product-spaces.lag…
lowasser Nov 26, 2025
d23060e
Update src/linear-algebra/orthogonality-bilinear-forms-real-vector-sp…
lowasser Nov 26, 2025
d167d1c
Respond to review comments
lowasser Nov 26, 2025
cfc9cb8
Fix build
lowasser Nov 26, 2025
2a0d451
Merge branch 'master' into inner-product-spaces
lowasser Nov 26, 2025
168c229
Merge branch 'master' into inner-product-spaces
lowasser Nov 26, 2025
3a00228
Merge branch 'inner-product-spaces' into cauchy-schwarz
lowasser Nov 26, 2025
98b321e
Progress
lowasser Nov 26, 2025
da9f770
Update src/literature/wikipedia-list-of-theorems.lagda.md
lowasser Nov 26, 2025
2df482f
Update src/real-numbers/addition-positive-and-negative-real-numbers.l…
lowasser Nov 26, 2025
1844a72
Update src/literature/100-theorems.lagda.md
lowasser Nov 26, 2025
c769cf7
Respond to comment
lowasser Nov 26, 2025
f758356
Merge remote-tracking branch 'origin/cauchy-schwarz' into cauchy-schwarz
lowasser Nov 26, 2025
b58edad
make pre-commit
lowasser Nov 26, 2025
3873312
Fix
lowasser Nov 26, 2025
c7f531b
Fix build
lowasser Nov 26, 2025
51fe86f
Merge branch 'master' into cauchy-schwarz
fredrik-bakke Nov 26, 2025
417ebb5
Update src/real-numbers/distance-real-numbers.lagda.md
lowasser Nov 26, 2025
aed38f4
Update src/real-numbers/multiplication-positive-and-negative-real-num…
lowasser Nov 26, 2025
a71e3fe
Update src/linear-algebra/cauchy-schwarz-inequality-real-inner-produc…
lowasser Nov 26, 2025
aa967e3
Merge branch 'master' into cauchy-schwarz
lowasser Nov 27, 2025
665e742
Progress
lowasser Nov 27, 2025
5dce16e
Progress
lowasser Nov 27, 2025
a21d993
Simplifications and make pre-commit
lowasser Nov 27, 2025
4378106
Merge remote-tracking branch 'origin/cauchy-schwarz' into cauchy-schwarz
lowasser Nov 27, 2025
f727cfc
Progress
lowasser Nov 27, 2025
92d128a
Merge branch 'master' into cauchy-schwarz
lowasser Nov 29, 2025
95a3208
Progress
lowasser Nov 29, 2025
10dbd9b
Merge branch 'master' into cauchy-schwarz
lowasser Dec 3, 2025
8f47ec6
Merge branch 'cauchy-schwarz' into hilbert-spaces
lowasser Dec 3, 2025
c4471ea
Reword
lowasser Dec 3, 2025
b31eb00
Use two-N+
lowasser Dec 3, 2025
1d1246d
Break out lemmas
lowasser Dec 3, 2025
24ac12c
Merge branch 'master' into hilbert-spaces
lowasser Dec 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/linear-algebra.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ open import linear-algebra.orthogonality-real-inner-product-spaces public
open import linear-algebra.preimages-of-left-module-structures-along-homomorphisms-of-rings public
open import linear-algebra.rational-modules public
open import linear-algebra.real-banach-spaces public
open import linear-algebra.real-hilbert-spaces public
open import linear-algebra.real-inner-product-spaces public
open import linear-algebra.real-inner-product-spaces-are-normed public
open import linear-algebra.real-vector-spaces public
open import linear-algebra.right-modules-rings public
open import linear-algebra.scalar-multiplication-matrices public
Expand Down
111 changes: 111 additions & 0 deletions src/linear-algebra/real-hilbert-spaces.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# Real Hilbert spaces

```agda
{-# OPTIONS --lossy-unification #-}

module linear-algebra.real-hilbert-spaces where
```

<details><summary>Imports</summary>

```agda
open import foundation.dependent-pair-types
open import foundation.propositions
open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.universe-levels

open import linear-algebra.normed-real-vector-spaces
open import linear-algebra.real-banach-spaces
open import linear-algebra.real-inner-product-spaces
open import linear-algebra.real-inner-product-spaces-are-normed

open import metric-spaces.complete-metric-spaces
open import metric-spaces.metric-spaces

open import real-numbers.cauchy-completeness-dedekind-real-numbers
```

</details>

## Idea

A
{{#concept "real Hilbert space" WDID=Q190056 WD="Hilbert space" Agda=ℝ-Hilbert-Space}}
is a [real inner product space](linear-algebra.real-inner-product-spaces.md) for
which the [metric space](metric-spaces.metric-spaces.md)
[induced](linear-algebra.real-inner-product-spaces-are-normed.md) by the inner
product is [complete](metric-spaces.complete-metric-spaces.md).

## Definition

```agda
module _
{l1 l2 : Level}
(V : ℝ-Inner-Product-Space l1 l2)
where

is-complete-prop-ℝ-Inner-Product-Space : Prop (l1 ⊔ l2)
is-complete-prop-ℝ-Inner-Product-Space =
is-complete-prop-Metric-Space
( metric-space-ℝ-Inner-Product-Space V)

is-complete-ℝ-Inner-Product-Space : UU (l1 ⊔ l2)
is-complete-ℝ-Inner-Product-Space =
type-Prop is-complete-prop-ℝ-Inner-Product-Space

ℝ-Hilbert-Space : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2)
ℝ-Hilbert-Space l1 l2 =
type-subtype (is-complete-prop-ℝ-Inner-Product-Space {l1} {l2})
```

## Properties

### Every real Hilbert space is a real Banach space

```agda
module _
{l1 l2 : Level}
(V : ℝ-Hilbert-Space l1 l2)
where

inner-product-space-ℝ-Hilbert-Space : ℝ-Inner-Product-Space l1 l2
inner-product-space-ℝ-Hilbert-Space = pr1 V

normed-vector-space-ℝ-Hilbert-Space : Normed-ℝ-Vector-Space l1 l2
normed-vector-space-ℝ-Hilbert-Space =
normed-vector-space-ℝ-Inner-Product-Space
( inner-product-space-ℝ-Hilbert-Space)

banach-space-ℝ-Hilbert-Space : ℝ-Banach-Space l1 l2
banach-space-ℝ-Hilbert-Space =
( normed-vector-space-ℝ-Hilbert-Space , pr2 V)
```

### The real numbers are a real Hilbert space with multiplication as the inner product

```agda
abstract
is-complete-real-inner-product-space-ℝ :
(l : Level) →
is-complete-ℝ-Inner-Product-Space (real-inner-product-space-ℝ l)
is-complete-real-inner-product-space-ℝ l =
inv-tr
( is-complete-Metric-Space)
( eq-metric-space-real-inner-product-space-ℝ l)
( is-complete-metric-space-ℝ l)

real-hilbert-space-ℝ : (l : Level) → ℝ-Hilbert-Space l (lsuc l)
real-hilbert-space-ℝ l =
( real-inner-product-space-ℝ l ,
is-complete-real-inner-product-space-ℝ l)
```

## See also

- [Real Banach spaces](linear-algebra.real-banach-spaces.md)

## External links

- [Hilbert space](https://en.wikipedia.org/wiki/Hilbert_space) on Wikipedia
- [Hilbert space](https://ncatlab.org/nlab/show/Hilbert+space) on $n$Lab
219 changes: 219 additions & 0 deletions src/linear-algebra/real-inner-product-spaces-are-normed.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
# Real inner product spaces are normed

```agda
{-# OPTIONS --lossy-unification #-}

module linear-algebra.real-inner-product-spaces-are-normed where
```

<details><summary>Imports</summary>

```agda
open import elementary-number-theory.nonzero-natural-numbers

open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.transport-along-identifications
open import foundation.universe-levels

open import linear-algebra.cauchy-schwarz-inequality-real-inner-product-spaces
open import linear-algebra.normed-real-vector-spaces
open import linear-algebra.real-inner-product-spaces
open import linear-algebra.seminormed-real-vector-spaces

open import metric-spaces.equality-of-metric-spaces
open import metric-spaces.metric-spaces

open import order-theory.large-posets

open import real-numbers.absolute-value-real-numbers
open import real-numbers.addition-nonnegative-real-numbers
open import real-numbers.addition-real-numbers
open import real-numbers.inequalities-addition-and-subtraction-real-numbers
open import real-numbers.inequality-real-numbers
open import real-numbers.metric-space-of-real-numbers
open import real-numbers.multiplication-positive-real-numbers
open import real-numbers.multiplication-real-numbers
open import real-numbers.positive-real-numbers
open import real-numbers.raising-universe-levels-real-numbers
open import real-numbers.rational-real-numbers
open import real-numbers.similarity-real-numbers
open import real-numbers.square-roots-nonnegative-real-numbers
open import real-numbers.squares-real-numbers
```

</details>

## Idea

Given a [real inner product space](linear-algebra.real-inner-product-spaces.md)
`V`, defining the norm of `v` as the
[square root](real-numbers.square-roots-nonnegative-real-numbers.md) of the
inner product of `v` with itself satisfies the conditions of a
[normed real vector space](linear-algebra.normed-real-vector-spaces.md).

## Definition

```agda
module _
{l1 l2 : Level}
(V : ℝ-Inner-Product-Space l1 l2)
where

abstract
is-triangular-squared-norm-ℝ-Inner-Product-Space :
(u v : type-ℝ-Inner-Product-Space V) →
leq-ℝ
( squared-norm-ℝ-Inner-Product-Space V
( add-ℝ-Inner-Product-Space V u v))
( square-ℝ
( ( norm-ℝ-Inner-Product-Space V u) +ℝ
( norm-ℝ-Inner-Product-Space V v)))
is-triangular-squared-norm-ℝ-Inner-Product-Space u v =
let
open inequality-reasoning-Large-Poset ℝ-Large-Poset
in
chain-of-inequalities
squared-norm-ℝ-Inner-Product-Space V (add-ℝ-Inner-Product-Space V u v)
≤ ( squared-norm-ℝ-Inner-Product-Space V u) +ℝ
( real-ℕ 2 *ℝ inner-product-ℝ-Inner-Product-Space V u v) +ℝ
( squared-norm-ℝ-Inner-Product-Space V v)
by leq-eq-ℝ (squared-norm-add-ℝ-Inner-Product-Space V u v)
≤ ( squared-norm-ℝ-Inner-Product-Space V u) +ℝ
( ( real-ℕ 2) *ℝ
( ( norm-ℝ-Inner-Product-Space V u) *ℝ
norm-ℝ-Inner-Product-Space V v)) +ℝ
( squared-norm-ℝ-Inner-Product-Space V v)
by
preserves-leq-right-add-ℝ _ _ _
( preserves-leq-left-add-ℝ _ _ _
( preserves-leq-left-mul-ℝ⁺
( positive-real-ℕ⁺ two-ℕ⁺)
( transitive-leq-ℝ _ _ _
( cauchy-schwarz-inequality-ℝ-Inner-Product-Space V u v)
( leq-abs-ℝ _))))
≤ ( square-ℝ (norm-ℝ-Inner-Product-Space V u)) +ℝ
( ( real-ℕ 2) *ℝ
( ( norm-ℝ-Inner-Product-Space V u) *ℝ
norm-ℝ-Inner-Product-Space V v)) +ℝ
( square-ℝ (norm-ℝ-Inner-Product-Space V v))
by
leq-eq-ℝ
( ap-add-ℝ
( ap-add-ℝ
( inv
( eq-real-square-sqrt-ℝ⁰⁺
( nonnegative-squared-norm-ℝ-Inner-Product-Space V u)))
( refl))
( inv
( eq-real-square-sqrt-ℝ⁰⁺
( nonnegative-squared-norm-ℝ-Inner-Product-Space V v))))
≤ square-ℝ
( ( norm-ℝ-Inner-Product-Space V u) +ℝ
( norm-ℝ-Inner-Product-Space V v))
by leq-eq-ℝ (inv (square-add-ℝ _ _))

is-triangular-norm-ℝ-Inner-Product-Space :
(u v : type-ℝ-Inner-Product-Space V) →
leq-ℝ
( norm-ℝ-Inner-Product-Space V (add-ℝ-Inner-Product-Space V u v))
( norm-ℝ-Inner-Product-Space V u +ℝ norm-ℝ-Inner-Product-Space V v)
is-triangular-norm-ℝ-Inner-Product-Space u v =
tr
( leq-ℝ _)
( ( inv (eq-abs-sqrt-square-ℝ _)) ∙
( abs-real-ℝ⁰⁺
( ( nonnegative-norm-ℝ-Inner-Product-Space V u) +ℝ⁰⁺
( nonnegative-norm-ℝ-Inner-Product-Space V v))))
( preserves-leq-sqrt-ℝ⁰⁺
( nonnegative-squared-norm-ℝ-Inner-Product-Space V
( add-ℝ-Inner-Product-Space V u v))
( nonnegative-square-ℝ
( norm-ℝ-Inner-Product-Space V u +ℝ norm-ℝ-Inner-Product-Space V v))
( is-triangular-squared-norm-ℝ-Inner-Product-Space u v))

is-seminorm-norm-ℝ-Inner-Product-Space :
is-seminorm-ℝ-Vector-Space
( vector-space-ℝ-Inner-Product-Space V)
( norm-ℝ-Inner-Product-Space V)
is-seminorm-norm-ℝ-Inner-Product-Space =
( is-triangular-norm-ℝ-Inner-Product-Space ,
is-absolutely-homogeneous-norm-ℝ-Inner-Product-Space V)

abstract
is-extensional-norm-ℝ-Inner-Product-Space :
(v : type-ℝ-Inner-Product-Space V) →
(norm-ℝ-Inner-Product-Space V v = raise-ℝ l1 zero-ℝ) →
is-zero-ℝ-Inner-Product-Space V v
is-extensional-norm-ℝ-Inner-Product-Space v ∥v∥=0 =
is-extensional-diagonal-inner-product-ℝ-Inner-Product-Space
( V)
( v)
( equational-reasoning
squared-norm-ℝ-Inner-Product-Space V v
= square-ℝ (norm-ℝ-Inner-Product-Space V v)
by
inv
( eq-real-square-sqrt-ℝ⁰⁺
( nonnegative-squared-norm-ℝ-Inner-Product-Space V v))
= square-ℝ (raise-ℝ l1 zero-ℝ)
by ap square-ℝ ∥v∥=0
= raise-ℝ l1 zero-ℝ
by square-raise-zero-ℝ l1)

norm-normed-vector-space-ℝ-Inner-Product-Space :
norm-ℝ-Vector-Space (vector-space-ℝ-Inner-Product-Space V)
norm-normed-vector-space-ℝ-Inner-Product-Space =
( ( norm-ℝ-Inner-Product-Space V ,
is-seminorm-norm-ℝ-Inner-Product-Space) ,
is-extensional-norm-ℝ-Inner-Product-Space)

normed-vector-space-ℝ-Inner-Product-Space : Normed-ℝ-Vector-Space l1 l2
normed-vector-space-ℝ-Inner-Product-Space =
( vector-space-ℝ-Inner-Product-Space V ,
norm-normed-vector-space-ℝ-Inner-Product-Space)

metric-space-ℝ-Inner-Product-Space : Metric-Space l2 l1
metric-space-ℝ-Inner-Product-Space =
metric-space-Normed-ℝ-Vector-Space normed-vector-space-ℝ-Inner-Product-Space
```

## Properties

### The metric space of the inner product space of `ℝ` over itself is the standard metric space of `ℝ`

```agda
abstract
isometric-eq-metric-space-real-inner-product-space-normed-real-vector-space-ℝ :
(l : Level) →
isometric-eq-Metric-Space
( metric-space-ℝ-Inner-Product-Space (real-inner-product-space-ℝ l))
( metric-space-Normed-ℝ-Vector-Space (normed-real-vector-space-ℝ l))
isometric-eq-metric-space-real-inner-product-space-normed-real-vector-space-ℝ
l =
( refl ,
λ d x y →
iff-eq
( ap
( λ m → leq-prop-ℝ m (real-ℚ⁺ d))
( inv (eq-abs-sqrt-square-ℝ _))))

eq-metric-space-real-inner-product-space-normed-real-vector-space-ℝ :
(l : Level) →
metric-space-ℝ-Inner-Product-Space (real-inner-product-space-ℝ l) =
metric-space-Normed-ℝ-Vector-Space (normed-real-vector-space-ℝ l)
eq-metric-space-real-inner-product-space-normed-real-vector-space-ℝ l =
eq-isometric-eq-Metric-Space _ _
( isometric-eq-metric-space-real-inner-product-space-normed-real-vector-space-ℝ
( l))

eq-metric-space-real-inner-product-space-ℝ :
(l : Level) →
metric-space-ℝ-Inner-Product-Space (real-inner-product-space-ℝ l) =
metric-space-ℝ l
eq-metric-space-real-inner-product-space-ℝ l =
( eq-metric-space-real-inner-product-space-normed-real-vector-space-ℝ l) ∙
( eq-metric-space-normed-real-vector-space-metric-space-ℝ l)
```
1 change: 1 addition & 0 deletions src/linear-algebra/real-inner-product-spaces.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ open import foundation.transport-along-identifications
open import foundation.universe-levels

open import linear-algebra.bilinear-forms-real-vector-spaces
open import linear-algebra.normed-real-vector-spaces
open import linear-algebra.real-vector-spaces
open import linear-algebra.symmetric-bilinear-forms-real-vector-spaces

Expand Down
18 changes: 9 additions & 9 deletions src/real-numbers/square-roots-nonnegative-real-numbers.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -702,15 +702,6 @@ is-positive-sqrt-iff-is-positive-ℝ⁰⁺ x =
is-positive-sqrt-is-positive-ℝ⁰⁺ x)
```

### The square root of zero is zero

```agda
abstract
real-sqrt-zero-ℝ⁰⁺ : real-sqrt-ℝ⁰⁺ zero-ℝ⁰⁺ = zero-ℝ
real-sqrt-zero-ℝ⁰⁺ =
inv (eq-sim-ℝ (unique-sqrt-ℝ⁰⁺ zero-ℝ⁰⁺ zero-ℝ⁰⁺ (left-zero-law-mul-ℝ _)))
```

### The square root of a nonnegative real number preserves inequality

```agda
Expand All @@ -729,6 +720,15 @@ abstract
( x≤y))
```

### The square root of zero is zero

```agda
abstract
real-sqrt-zero-ℝ⁰⁺ : real-sqrt-ℝ⁰⁺ zero-ℝ⁰⁺ = zero-ℝ
real-sqrt-zero-ℝ⁰⁺ =
inv (eq-sim-ℝ (unique-sqrt-ℝ⁰⁺ zero-ℝ⁰⁺ zero-ℝ⁰⁺ (left-zero-law-mul-ℝ _)))
```

### If `√x ≤ 1`, `x ≤ 1`

```agda
Expand Down
6 changes: 6 additions & 0 deletions src/real-numbers/squares-real-numbers.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ open import elementary-number-theory.square-roots-positive-rational-numbers
open import elementary-number-theory.squares-rational-numbers
open import elementary-number-theory.strict-inequality-rational-numbers

open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.disjunction
open import foundation.existential-quantification
Expand Down Expand Up @@ -407,4 +408,9 @@ abstract
abstract
square-zero-ℝ : square-ℝ zero-ℝ = zero-ℝ
square-zero-ℝ = eq-sim-ℝ (left-zero-law-mul-ℝ zero-ℝ)

square-raise-zero-ℝ :
(l : Level) → square-ℝ (raise-zero-ℝ l) = raise-zero-ℝ l
square-raise-zero-ℝ l =
square-raise-ℝ l _ ∙ ap (raise-ℝ l) square-zero-ℝ
```