analysis.von_neumann_algebra.basic
⟷
Mathlib.Analysis.VonNeumannAlgebra.Basic
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,11 +3,11 @@ Copyright (c) 2022 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Mathbin.Analysis.NormedSpace.Dual
-import Mathbin.Analysis.NormedSpace.Star.Basic
-import Mathbin.Analysis.Complex.Basic
-import Mathbin.Analysis.InnerProductSpace.Adjoint
-import Mathbin.Algebra.Star.Subalgebra
+import Analysis.NormedSpace.Dual
+import Analysis.NormedSpace.Star.Basic
+import Analysis.Complex.Basic
+import Analysis.InnerProductSpace.Adjoint
+import Algebra.Star.Subalgebra
#align_import analysis.von_neumann_algebra.basic from "leanprover-community/mathlib"@"af471b9e3ce868f296626d33189b4ce730fa4c00"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -96,7 +96,7 @@ instance : StarMemClass (VonNeumannAlgebra H) (H →L[ℂ] H) where star_mem s a
instance : SubringClass (VonNeumannAlgebra H) (H →L[ℂ] H)
where
add_mem := add_mem'
- mul_mem := mul_mem'
+ hMul_mem := hMul_mem'
one_mem := one_mem'
zero_mem := zero_mem'
neg_mem s a ha := show -a ∈ s.toStarSubalgebra from neg_mem ha
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
Copyright (c) 2022 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module analysis.von_neumann_algebra.basic
-! leanprover-community/mathlib commit af471b9e3ce868f296626d33189b4ce730fa4c00
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Analysis.NormedSpace.Dual
import Mathbin.Analysis.NormedSpace.Star.Basic
@@ -14,6 +9,8 @@ import Mathbin.Analysis.Complex.Basic
import Mathbin.Analysis.InnerProductSpace.Adjoint
import Mathbin.Algebra.Star.Subalgebra
+#align_import analysis.von_neumann_algebra.basic from "leanprover-community/mathlib"@"af471b9e3ce868f296626d33189b4ce730fa4c00"
+
/-!
# Von Neumann algebras
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -36,6 +36,7 @@ that the concrete definition is equivalent to a *-closed subalgebra which is wea
universe u v
+#print WStarAlgebra /-
/-- Sakai's definition of a von Neumann algebra as a C^* algebra with a Banach space predual.
So that we can unambiguously talk about these "abstract" von Neumann algebras
@@ -55,7 +56,9 @@ class WStarAlgebra (M : Type u) [NormedRing M] [StarRing M] [CstarRing M] [Modul
∃ (X : Type u) (_ : NormedAddCommGroup X) (_ : NormedSpace ℂ X) (_ : CompleteSpace X),
Nonempty (NormedSpace.Dual ℂ X ≃ₗᵢ⋆[ℂ] M)
#align wstar_algebra WStarAlgebra
+-/
+#print VonNeumannAlgebra /-
-- TODO: Without this, `von_neumann_algebra` times out. Why?
/-- The double commutant definition of a von Neumann algebra,
as a *-closed subalgebra of bounded operators on a Hilbert space,
@@ -76,6 +79,7 @@ structure VonNeumannAlgebra (H : Type u) [NormedAddCommGroup H] [InnerProductSpa
[CompleteSpace H] extends StarSubalgebra ℂ (H →L[ℂ] H) where
centralizer_centralizer' : Set.centralizer (Set.centralizer carrier) = carrier
#align von_neumann_algebra VonNeumannAlgebra
+-/
/-- Consider a von Neumann algebra acting on a Hilbert space `H` as a *-subalgebra of `H →L[ℂ] H`.
(That is, we forget that it is equal to its double commutant
@@ -106,17 +110,22 @@ theorem mem_carrier {S : VonNeumannAlgebra H} {x : H →L[ℂ] H} :
Iff.rfl
#align von_neumann_algebra.mem_carrier VonNeumannAlgebra.mem_carrierₓ
+#print VonNeumannAlgebra.ext /-
@[ext]
theorem ext {S T : VonNeumannAlgebra H} (h : ∀ x, x ∈ S ↔ x ∈ T) : S = T :=
SetLike.ext h
#align von_neumann_algebra.ext VonNeumannAlgebra.ext
+-/
+#print VonNeumannAlgebra.centralizer_centralizer /-
@[simp]
theorem centralizer_centralizer (S : VonNeumannAlgebra H) :
Set.centralizer (Set.centralizer (S : Set (H →L[ℂ] H))) = S :=
S.centralizer_centralizer'
#align von_neumann_algebra.centralizer_centralizer VonNeumannAlgebra.centralizer_centralizer
+-/
+#print VonNeumannAlgebra.commutant /-
/-- The centralizer of a `von_neumann_algebra`, as a `von_neumann_algebra`.-/
def commutant (S : VonNeumannAlgebra H) : VonNeumannAlgebra H :=
{
@@ -125,23 +134,30 @@ def commutant (S : VonNeumannAlgebra H) : VonNeumannAlgebra H :=
carrier := Set.centralizer (S : Set (H →L[ℂ] H))
centralizer_centralizer' := by rw [S.centralizer_centralizer] }
#align von_neumann_algebra.commutant VonNeumannAlgebra.commutant
+-/
+#print VonNeumannAlgebra.coe_commutant /-
@[simp]
theorem coe_commutant (S : VonNeumannAlgebra H) :
↑S.commutant = Set.centralizer (S : Set (H →L[ℂ] H)) :=
rfl
#align von_neumann_algebra.coe_commutant VonNeumannAlgebra.coe_commutant
+-/
+#print VonNeumannAlgebra.mem_commutant_iff /-
@[simp]
theorem mem_commutant_iff {S : VonNeumannAlgebra H} {z : H →L[ℂ] H} :
z ∈ S.commutant ↔ ∀ g ∈ S, g * z = z * g :=
Iff.rfl
#align von_neumann_algebra.mem_commutant_iff VonNeumannAlgebra.mem_commutant_iff
+-/
+#print VonNeumannAlgebra.commutant_commutant /-
@[simp]
theorem commutant_commutant (S : VonNeumannAlgebra H) : S.commutant.commutant = S :=
SetLike.coe_injective S.centralizer_centralizer'
#align von_neumann_algebra.commutant_commutant VonNeumannAlgebra.commutant_commutant
+-/
end VonNeumannAlgebra
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
! This file was ported from Lean 3 source module analysis.von_neumann_algebra.basic
-! leanprover-community/mathlib commit 46b633fd842bef9469441c0209906f6dddd2b4f5
+! leanprover-community/mathlib commit af471b9e3ce868f296626d33189b4ce730fa4c00
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -17,6 +17,9 @@ import Mathbin.Algebra.Star.Subalgebra
/-!
# Von Neumann algebras
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
We give the "abstract" and "concrete" definitions of a von Neumann algebra.
We still have a major project ahead of us to show the equivalence between these definitions!
@@ -46,12 +49,12 @@ One the other hand, not picking one means that the weak-* topology
(which depends on a choice of predual) must be defined using the choice,
and we may be unhappy with the resulting opaqueness of the definition.
-/
-class WstarAlgebra (M : Type u) [NormedRing M] [StarRing M] [CstarRing M] [Module ℂ M]
+class WStarAlgebra (M : Type u) [NormedRing M] [StarRing M] [CstarRing M] [Module ℂ M]
[NormedAlgebra ℂ M] [StarModule ℂ M] where
exists_predual :
∃ (X : Type u) (_ : NormedAddCommGroup X) (_ : NormedSpace ℂ X) (_ : CompleteSpace X),
Nonempty (NormedSpace.Dual ℂ X ≃ₗᵢ⋆[ℂ] M)
-#align wstar_algebra WstarAlgebra
+#align wstar_algebra WStarAlgebra
-- TODO: Without this, `von_neumann_algebra` times out. Why?
/-- The double commutant definition of a von Neumann algebra,
@@ -101,7 +104,7 @@ instance : SubringClass (VonNeumannAlgebra H) (H →L[ℂ] H)
theorem mem_carrier {S : VonNeumannAlgebra H} {x : H →L[ℂ] H} :
x ∈ S.carrier ↔ x ∈ (S : Set (H →L[ℂ] H)) :=
Iff.rfl
-#align von_neumann_algebra.mem_carrier VonNeumannAlgebra.mem_carrier
+#align von_neumann_algebra.mem_carrier VonNeumannAlgebra.mem_carrierₓ
@[ext]
theorem ext {S T : VonNeumannAlgebra H} (h : ∀ x, x ∈ S ↔ x ∈ T) : S = T :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -47,9 +47,9 @@ One the other hand, not picking one means that the weak-* topology
and we may be unhappy with the resulting opaqueness of the definition.
-/
class WstarAlgebra (M : Type u) [NormedRing M] [StarRing M] [CstarRing M] [Module ℂ M]
- [NormedAlgebra ℂ M] [StarModule ℂ M] where
+ [NormedAlgebra ℂ M] [StarModule ℂ M] where
exists_predual :
- ∃ (X : Type u)(_ : NormedAddCommGroup X)(_ : NormedSpace ℂ X)(_ : CompleteSpace X),
+ ∃ (X : Type u) (_ : NormedAddCommGroup X) (_ : NormedSpace ℂ X) (_ : CompleteSpace X),
Nonempty (NormedSpace.Dual ℂ X ≃ₗᵢ⋆[ℂ] M)
#align wstar_algebra WstarAlgebra
@@ -70,7 +70,7 @@ and instead will use `⊤ : von_neumann_algebra H`.
-/
@[nolint has_nonempty_instance]
structure VonNeumannAlgebra (H : Type u) [NormedAddCommGroup H] [InnerProductSpace ℂ H]
- [CompleteSpace H] extends StarSubalgebra ℂ (H →L[ℂ] H) where
+ [CompleteSpace H] extends StarSubalgebra ℂ (H →L[ℂ] H) where
centralizer_centralizer' : Set.centralizer (Set.centralizer carrier) = carrier
#align von_neumann_algebra VonNeumannAlgebra
@@ -85,7 +85,7 @@ namespace VonNeumannAlgebra
variable {H : Type u} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H]
instance : SetLike (VonNeumannAlgebra H) (H →L[ℂ] H) :=
- ⟨VonNeumannAlgebra.carrier, fun S T h => by cases S <;> cases T <;> congr ⟩
+ ⟨VonNeumannAlgebra.carrier, fun S T h => by cases S <;> cases T <;> congr⟩
instance : StarMemClass (VonNeumannAlgebra H) (H →L[ℂ] H) where star_mem s a := s.star_mem'
mathlib commit https://github.com/leanprover-community/mathlib/commit/55d771df074d0dd020139ee1cd4b95521422df9f
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
! This file was ported from Lean 3 source module analysis.von_neumann_algebra.basic
-! leanprover-community/mathlib commit 160ef3e338a2a4f21a280e4c152d4016156e516d
+! leanprover-community/mathlib commit 46b633fd842bef9469441c0209906f6dddd2b4f5
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -69,8 +69,8 @@ Thus we can't say that the bounded operators `H →L[ℂ] H` form a `von_neumann
and instead will use `⊤ : von_neumann_algebra H`.
-/
@[nolint has_nonempty_instance]
-structure VonNeumannAlgebra (H : Type u) [InnerProductSpace ℂ H] [CompleteSpace H] extends
- StarSubalgebra ℂ (H →L[ℂ] H) where
+structure VonNeumannAlgebra (H : Type u) [NormedAddCommGroup H] [InnerProductSpace ℂ H]
+ [CompleteSpace H] extends StarSubalgebra ℂ (H →L[ℂ] H) where
centralizer_centralizer' : Set.centralizer (Set.centralizer carrier) = carrier
#align von_neumann_algebra VonNeumannAlgebra
@@ -82,7 +82,7 @@ add_decl_doc VonNeumannAlgebra.toStarSubalgebra
namespace VonNeumannAlgebra
-variable {H : Type u} [InnerProductSpace ℂ H] [CompleteSpace H]
+variable {H : Type u} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H]
instance : SetLike (VonNeumannAlgebra H) (H →L[ℂ] H) :=
⟨VonNeumannAlgebra.carrier, fun S T h => by cases S <;> cases T <;> congr ⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.
@@ -127,7 +127,7 @@ theorem centralizer_centralizer (S : VonNeumannAlgebra H) :
S.centralizer_centralizer'
#align von_neumann_algebra.centralizer_centralizer VonNeumannAlgebra.centralizer_centralizer
-/-- The centralizer of a `VonNeumannAlgebra`, as a `VonNeumannAlgebra`.-/
+/-- The centralizer of a `VonNeumannAlgebra`, as a `VonNeumannAlgebra`. -/
def commutant (S : VonNeumannAlgebra H) : VonNeumannAlgebra H where
toStarSubalgebra := StarSubalgebra.centralizer ℂ (S : Set (H →L[ℂ] H))
centralizer_centralizer' := by simp
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -67,7 +67,7 @@ Thus we can't say that the bounded operators `H →L[ℂ] H` form a `VonNeumannA
(although we will later construct the instance `WStarAlgebra (H →L[ℂ] H)`),
and instead will use `⊤ : VonNeumannAlgebra H`.
-/
--- porting note: I don't think the nonempty instance linter exists yet
+-- Porting note: I don't think the nonempty instance linter exists yet
structure VonNeumannAlgebra (H : Type u) [NormedAddCommGroup H] [InnerProductSpace ℂ H]
[CompleteSpace H] extends StarSubalgebra ℂ (H →L[ℂ] H) where
/-- The double commutant (a.k.a. centralizer) of a `VonNeumannAlgebra` is itself. -/
@@ -88,7 +88,7 @@ instance instSetLike : SetLike (VonNeumannAlgebra H) (H →L[ℂ] H) where
coe S := S.carrier
coe_injective' S T h := by obtain ⟨⟨⟨⟨⟨⟨_, _⟩, _⟩, _⟩, _⟩, _⟩, _⟩ := S; cases T; congr
--- porting note: `StarMemClass` should be in `Prop`?
+-- Porting note: `StarMemClass` should be in `Prop`?
noncomputable instance instStarMemClass : StarMemClass (VonNeumannAlgebra H) (H →L[ℂ] H) where
star_mem {s} := s.star_mem'
@@ -104,7 +104,7 @@ theorem mem_carrier {S : VonNeumannAlgebra H} {x : H →L[ℂ] H} :
x ∈ S.toStarSubalgebra ↔ x ∈ (S : Set (H →L[ℂ] H)) :=
Iff.rfl
#align von_neumann_algebra.mem_carrier VonNeumannAlgebra.mem_carrierₓ
--- porting note: changed the declaration because `simpNF` indicated the LHS simplifies to this.
+-- Porting note: changed the declaration because `simpNF` indicated the LHS simplifies to this.
@[simp]
theorem coe_toStarSubalgebra (S : VonNeumannAlgebra H) :
@@ -143,7 +143,7 @@ theorem coe_commutant (S : VonNeumannAlgebra H) :
@[simp]
theorem mem_commutant_iff {S : VonNeumannAlgebra H} {z : H →L[ℂ] H} :
z ∈ S.commutant ↔ ∀ g ∈ S, g * z = z * g := by
- rw [←SetLike.mem_coe, coe_commutant]
+ rw [← SetLike.mem_coe, coe_commutant]
rfl
#align von_neumann_algebra.mem_commutant_iff VonNeumannAlgebra.mem_commutant_iff
@@ -44,7 +44,7 @@ One the other hand, not picking one means that the weak-* topology
and we may be unhappy with the resulting opaqueness of the definition.
-/
class WStarAlgebra (M : Type u) [NormedRing M] [StarRing M] [CstarRing M] [Module ℂ M]
- [NormedAlgebra ℂ M] [StarModule ℂ M] where
+ [NormedAlgebra ℂ M] [StarModule ℂ M] : Prop where
/-- There is a Banach space `X` whose dual is isometrically (conjugate-linearly) isomorphic
to the `WStarAlgebra`. -/
exists_predual :
@@ -2,11 +2,6 @@
Copyright (c) 2022 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module analysis.von_neumann_algebra.basic
-! leanprover-community/mathlib commit 46b633fd842bef9469441c0209906f6dddd2b4f5
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Analysis.NormedSpace.Dual
import Mathlib.Analysis.NormedSpace.Star.Basic
@@ -14,6 +9,8 @@ import Mathlib.Analysis.Complex.Basic
import Mathlib.Analysis.InnerProductSpace.Adjoint
import Mathlib.Algebra.Star.Subalgebra
+#align_import analysis.von_neumann_algebra.basic from "leanprover-community/mathlib"@"46b633fd842bef9469441c0209906f6dddd2b4f5"
+
/-!
# Von Neumann algebras
NonUnitalStarSubalgebra
s and develop basic API (#5537)
This continues the non-unital-ization of mathlib
This PR also redefines StarSubalgebra.centralizer
so that it no longer requires the set s
provided to be closed under star
, and instead the carrier is just the Set.centralizer (s ∪ star s)
. Consequently, this changes some things in von Neumann algebras, where we now need to see that Set.centralizer (↑S ∪ star ↑S) = Set.centralizer ↑S
, where S
is a StarSubalgebra
. Therefore we add the simp
lemma StarMemClass.star_coe_eq
.
@@ -109,6 +109,16 @@ theorem mem_carrier {S : VonNeumannAlgebra H} {x : H →L[ℂ] H} :
#align von_neumann_algebra.mem_carrier VonNeumannAlgebra.mem_carrierₓ
-- porting note: changed the declaration because `simpNF` indicated the LHS simplifies to this.
+@[simp]
+theorem coe_toStarSubalgebra (S : VonNeumannAlgebra H) :
+ (S.toStarSubalgebra : Set (H →L[ℂ] H)) = S :=
+ rfl
+
+@[simp]
+theorem coe_mk (S : StarSubalgebra ℂ (H →L[ℂ] H)) (h) :
+ ((⟨S, h⟩ : VonNeumannAlgebra H) : Set (H →L[ℂ] H)) = S :=
+ rfl
+
@[ext]
theorem ext {S T : VonNeumannAlgebra H} (h : ∀ x, x ∈ S ↔ x ∈ T) : S = T :=
SetLike.ext h
@@ -121,29 +131,28 @@ theorem centralizer_centralizer (S : VonNeumannAlgebra H) :
#align von_neumann_algebra.centralizer_centralizer VonNeumannAlgebra.centralizer_centralizer
/-- The centralizer of a `VonNeumannAlgebra`, as a `VonNeumannAlgebra`.-/
-def commutant (S : VonNeumannAlgebra H) : VonNeumannAlgebra H :=
- {
- StarSubalgebra.centralizer ℂ (S : Set (H →L[ℂ] H)) fun a (ha : a ∈ S) =>
- (star_mem ha : _) with
- carrier := Set.centralizer (S : Set (H →L[ℂ] H))
- centralizer_centralizer' := by rw [S.centralizer_centralizer] }
+def commutant (S : VonNeumannAlgebra H) : VonNeumannAlgebra H where
+ toStarSubalgebra := StarSubalgebra.centralizer ℂ (S : Set (H →L[ℂ] H))
+ centralizer_centralizer' := by simp
#align von_neumann_algebra.commutant VonNeumannAlgebra.commutant
@[simp]
theorem coe_commutant (S : VonNeumannAlgebra H) :
- ↑S.commutant = Set.centralizer (S : Set (H →L[ℂ] H)) :=
- rfl
+ ↑S.commutant = Set.centralizer (S : Set (H →L[ℂ] H)) := by
+ simp [commutant]
+
#align von_neumann_algebra.coe_commutant VonNeumannAlgebra.coe_commutant
@[simp]
theorem mem_commutant_iff {S : VonNeumannAlgebra H} {z : H →L[ℂ] H} :
- z ∈ S.commutant ↔ ∀ g ∈ S, g * z = z * g :=
- Iff.rfl
+ z ∈ S.commutant ↔ ∀ g ∈ S, g * z = z * g := by
+ rw [←SetLike.mem_coe, coe_commutant]
+ rfl
#align von_neumann_algebra.mem_commutant_iff VonNeumannAlgebra.mem_commutant_iff
@[simp]
theorem commutant_commutant (S : VonNeumannAlgebra H) : S.commutant.commutant = S :=
- SetLike.coe_injective S.centralizer_centralizer'
+ SetLike.coe_injective <| by simp
#align von_neumann_algebra.commutant_commutant VonNeumannAlgebra.commutant_commutant
end VonNeumannAlgebra
@@ -70,7 +70,7 @@ Thus we can't say that the bounded operators `H →L[ℂ] H` form a `VonNeumannA
(although we will later construct the instance `WStarAlgebra (H →L[ℂ] H)`),
and instead will use `⊤ : VonNeumannAlgebra H`.
-/
--- porting note: I don't think the nonempty intance linter exists yet
+-- porting note: I don't think the nonempty instance linter exists yet
structure VonNeumannAlgebra (H : Type u) [NormedAddCommGroup H] [InnerProductSpace ℂ H]
[CompleteSpace H] extends StarSubalgebra ℂ (H →L[ℂ] H) where
/-- The double commutant (a.k.a. centralizer) of a `VonNeumannAlgebra` is itself. -/
The unported dependencies are
algebra.order.module
init.core
linear_algebra.free_module.finite.rank
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
linear_algebra.free_module.rank
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file