analysis.von_neumann_algebra.basicMathlib.Analysis.VonNeumannAlgebra.Basic

This file has been ported!

Changes since the initial port

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.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -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"
 
Diff
@@ -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
Diff
@@ -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
 
Diff
@@ -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
 
Diff
@@ -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 :=
Diff
@@ -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'
 
Diff
@@ -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 ⟩

Changes in mathlib4

mathlib3
mathlib4
style: replace '.-/' by '. -/' (#11938)

Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.

Diff
@@ -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
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -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) :
chore: space after (#8178)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -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
 
feat: Linter that checks that Prop classes are Props (#6148)
Diff
@@ -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 :
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -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
 
feat: define NonUnitalStarSubalgebras 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.

Diff
@@ -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
chore: fix many typos (#4967)

These are all doc fixes

Diff
@@ -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. -/
feat: port Analysis.VonNeumannAlgebra.Basic (#4569)

Dependencies 12 + 917

918 files ported (98.7%)
405842 lines ported (98.6%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file