# Documentation

Mathlib.Analysis.NormedSpace.LpEquiv

# Equivalences among $L^p$ spaces #

In this file we collect a variety of equivalences among various $L^p$ spaces. In particular, when α is a Fintype, given E : α → Type u and p : ℝ≥0∞, there is a natural linear isometric equivalence lpPiLpₗᵢₓ : lp E p ≃ₗᵢ PiLp p E. In addition, when α is a discrete topological space, the bounded continuous functions α →ᵇ β correspond exactly to lp (λ _, β) ∞. Here there can be more structure, including ring and algebra structures, and we implement these equivalences accordingly as well.

We keep this as a separate file so that the various $L^p$ space files don't import the others.

Recall that PiLp is just a type synonym for Π i, E i but given a different metric and norm structure, although the topological, uniform and bornological structures coincide definitionally. These structures are only defined on PiLp for Fintype α, so there are no issues of convergence to consider.

While PreLp is also a type synonym for Π i, E i, it allows for infinite index types. On this type there is a predicate Memℓp which says that the relevant p-norm is finite and lp E p is the subtype of PreLp satisfying Memℓp.

## TODO #

• Equivalence between lp and MeasureTheory.Lp, for f : α → E (i.e., functions rather than pi-types) and the counting measure on α
theorem Memℓp.all {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] (f : (i : α) → E i) :

When α is Finite, every f : PreLp E p satisfies Memℓp f p.

def Equiv.lpPiLp {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] :
{ x // x lp E p } PiLp p E

The canonical Equiv between lp E p ≃ PiLp p E when E : α → Type u with [Fintype α].

Instances For
theorem coe_equiv_lpPiLp {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] (f : { x // x lp E p }) :
Equiv.lpPiLp f = f
theorem coe_equiv_lpPiLp_symm {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] (f : PiLp p E) :
↑(Equiv.lpPiLp.symm f) = f
theorem equiv_lpPiLp_norm {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] (f : { x // x lp E p }) :
Equiv.lpPiLp f = f
def AddEquiv.lpPiLp {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] [Fact (1 p)] :
{ x // x lp E p } ≃+ PiLp p E

The canonical AddEquiv between lp E p and PiLp p E when E : α → Type u with [Fintype α] and [Fact (1 ≤ p)].

Instances For
theorem coe_addEquiv_lpPiLp {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] [Fact (1 p)] (f : { x // x lp E p }) :
theorem coe_addEquiv_lpPiLp_symm {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] [Fact (1 p)] (f : PiLp p E) :
noncomputable def lpPiLpₗᵢ {α : Type u_1} (E : αType u_2) [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] (𝕜 : Type u_3) [(i : α) → NormedSpace 𝕜 (E i)] [Fact (1 p)] :
{ x // x lp E p } ≃ₗᵢ[𝕜] PiLp p E

The canonical LinearIsometryEquiv between lp E p and PiLp p E when E : α → Type u with [Fintype α] and [Fact (1 ≤ p)].

Instances For
theorem coe_lpPiLpₗᵢ {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] {𝕜 : Type u_3} [(i : α) → NormedSpace 𝕜 (E i)] [Fact (1 p)] (f : { x // x lp E p }) :
↑(lpPiLpₗᵢ E 𝕜) f = f
theorem coe_lpPiLpₗᵢ_symm {α : Type u_1} {E : αType u_2} [(i : α) → NormedAddCommGroup (E i)] {p : ENNReal} [] {𝕜 : Type u_3} [(i : α) → NormedSpace 𝕜 (E i)] [Fact (1 p)] (f : PiLp p E) :
↑(↑() f) = f
noncomputable def AddEquiv.lpBcf {α : Type u_1} {E : Type u_2} [] [] :
{ x // x lp (fun x => E) } ≃+

The canonical map between lp (λ (_ : α), E) ∞ and α →ᵇ E as an AddEquiv.

Instances For
theorem coe_addEquiv_lpBcf {α : Type u_1} {E : Type u_2} [] [] (f : { x // x lp (fun x => E) }) :
theorem coe_addEquiv_lpBcf_symm {α : Type u_1} {E : Type u_2} [] [] (f : ) :
noncomputable def lpBcfₗᵢ {α : Type u_1} (E : Type u_2) (𝕜 : Type u_5) [] [] [] :
{ x // x lp (fun x => E) } ≃ₗᵢ[𝕜]

The canonical map between lp (λ (_ : α), E) ∞ and α →ᵇ E as a LinearIsometryEquiv.

Instances For
theorem coe_lpBcfₗᵢ {α : Type u_1} {E : Type u_2} {𝕜 : Type u_5} [] [] [] (f : { x // x lp (fun x => E) }) :
↑(↑(lpBcfₗᵢ E 𝕜) f) = f
theorem coe_lpBcfₗᵢ_symm {α : Type u_1} {E : Type u_2} {𝕜 : Type u_5} [] [] [] (f : ) :
↑(↑() f) = f
noncomputable def RingEquiv.lpBcf {α : Type u_1} (R : Type u_3) [] [] :
{ x // x lp (fun x => R) } ≃+*

The canonical map between lp (λ (_ : α), R) ∞ and α →ᵇ R as a RingEquiv.

Instances For
theorem coe_ringEquiv_lpBcf {α : Type u_1} {R : Type u_3} [] [] (f : { x // x lp (fun x => R) }) :
↑(↑() f) = f
theorem coe_ringEquiv_lpBcf_symm {α : Type u_1} {R : Type u_3} [] [] (f : ) :
↑(↑() f) = f
noncomputable def AlgEquiv.lpBcf (α : Type u_1) (A : Type u_4) (𝕜 : Type u_5) [] [] [] [] [] :
{ x // x lp (fun x => A) } ≃ₐ[𝕜]

The canonical map between lp (λ (_ : α), A) ∞ and α →ᵇ A as an AlgEquiv.

Instances For
theorem coe_algEquiv_lpBcf {α : Type u_1} {A : Type u_4} {𝕜 : Type u_5} [] [] [] [] [] (f : { x // x lp (fun x => A) }) :
↑(↑() f) = f
theorem coe_algEquiv_lpBcf_symm {α : Type u_1} {A : Type u_4} {𝕜 : Type u_5} [] [] [] [] [] (f : ) :
↑(↑(AlgEquiv.symm ()) f) = f