Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
0eb0f5f
Agent: Simplify `sUnion_alexandrovBasis_eq_univ` proof by delegating …
Jul 20, 2026
968e377
Agent: Add causal and chronological diamond definitions and key prope…
Jul 20, 2026
83fb063
Agent: Prove causal diamond membership and structural property lemmas
Jul 20, 2026
97087d3
Agent: Mark `chronologicalDiamond_subset_causalDiamond` and `mem_alex…
Jul 20, 2026
2de4516
Agent: Add causal convexity definition and relate it to diamonds and …
Jul 20, 2026
660c2ae
Agent: Mark causal-convexity theorems as proved and close blueprint s…
Jul 20, 2026
f6d4d3b
Agent: Add causal-convex hull and closure-structure lemmas
Jul 20, 2026
6fc9b08
Agent: Prove causal-convex hull and closure-system lemmas; mark bluep…
Jul 20, 2026
0389f8d
Agent: Add relative commutant of nested local algebras to blueprint a…
Jul 21, 2026
0bc44e3
Agent: Mark relative commutant declarations as proved in blueprint an…
Jul 21, 2026
860ab33
Agent: Fix `relativeCommutant` carrier equality proof
Jul 21, 2026
d01a871
Agent: Add relative commutant definition and basic lemmas to curved net
Jul 21, 2026
d946bb6
Agent: Mark relative commutant theorems as proved in blueprint and Lean
Jul 21, 2026
6a16355
Agent: Add `IsIrreducibleInclusion` and factor consequence on flat an…
Jul 21, 2026
ed0c278
Agent: Mark isFactor_of_isIrreducibleInclusion proved in flat and cur…
Jul 21, 2026
199eec1
Agent: Add self-inclusion ↔ factor theorems for flat and curved nets
Jul 22, 2026
6253b85
Agent: Remove unproved `isIrreducibleInclusion_self_iff_isFactor` the…
Jul 22, 2026
8ac1b7e
Agent: Add self-inclusion iff factor theorems (flat and curved spacet…
Jul 22, 2026
dbffdd8
Agent: Remove unproved self-inclusion iff factor theorems from bluepr…
Jul 22, 2026
27714fe
Agent: Add self-inclusion ↔ factor theorem for both flat and curved nets
Jul 22, 2026
4642316
Agent: Revert blueprint proof status for self-inclusion irreducibilit…
Jul 22, 2026
c9f7392
Agent: Mark `isIrreducibleInclusion_self_iff_isFactor` proved in blue…
Jul 22, 2026
121cf94
Agent: Remove unproved `isIrreducibleInclusion_self_iff_isFactor` the…
Jul 22, 2026
8748cc5
Agent: Add prover subsystem smoke test
Jul 23, 2026
cf6707c
Agent: Remove temporary prover smoke-test file
Jul 23, 2026
7fe41be
Agent: Add self-inclusion ↔ factor theorems for flat and curved nets
Jul 23, 2026
4f71d79
Agent: Replace sorry proofs for isIrreducibleInclusion_self_iff_isFactor
Jul 23, 2026
adb53c7
Agent: Add GNS state-pullback functoriality definition and stubs
Jul 23, 2026
7bdb915
Agent: Replace sorry placeholders with complete proofs for state pull…
Jul 23, 2026
d4e8c3e
Agent: Add Zeeman-lite: dilations are causal automorphisms but not is…
Jul 23, 2026
0978d39
Agent: Prove minkowskiBackwardCone_smul, minkowskiForm_smul, and exis…
Jul 23, 2026
9d2203d
Agent: Prove `minkowskiForwardCone_smul` and `alexandrovBasis_image_s…
Jul 23, 2026
40cefc4
Agent: Add blueprint theorem and Lean stubs for isPure_comp_iff
Jul 23, 2026
a016eb2
Agent: Prove purity-invariance theorems and fix blueprint annotation
Jul 23, 2026
1b23d48
Agent: Add abelian-iff-self-commuting lemma and blueprint entry
Jul 23, 2026
fb0831a
Agent: Add center of von Neumann algebra and factor-abelian character…
Jul 24, 2026
a3a2fb9
Agent: Add curved-spacetime specializations of abelian local von Neum…
Jul 24, 2026
b25e804
Agent: Add theorems linking the center, commutant, and factor condition
Jul 24, 2026
fc9de95
Agent: Add center-duality specialization for curved local von Neumann…
Jul 24, 2026
202f475
Agent: Add GNS covariance theorems under a *-isomorphism
Jul 27, 2026
4943747
Agent: Add GNS sector-transport theorems and covariance corollaries f…
Jul 27, 2026
17129f6
Update 9 files
Jul 28, 2026
0caa6c1
Agent: Simplify proofs in ExtremeState and Irreducibility
Jul 28, 2026
d01c1e1
Agent: Golf proof terms in Irreducibility and Superselection
Jul 29, 2026
d60978e
Agent: Introduce `GNSTriple` structure bundling π, Ω, cyclic, and rep…
Jul 29, 2026
e52792d
Agent: Remove unused GNSTriple bundled structure and its import
Jul 29, 2026
dbb1565
Agent: Add blueprint section on pullback metrics and cross-metric iso…
Jul 31, 2026
d136fdf
Agent: Remove pullback-metrics section from blueprint content
Aug 3, 2026
ae90ebd
rm unused file
KellyJDavis Aug 3, 2026
fb5f5e9
Agent: Restructure blueprint proofs in sections 10-1 through 10-4 int…
Aug 3, 2026
8c70335
Agent: Refactor blueprint: extract lemmas from definitions and clarif…
Aug 3, 2026
2ec72a3
Agent: Fix Isotony axiom to use non-strict inclusion ⊆ in both spacet…
Aug 3, 2026
aa653b5
Agent: Restructure Axiom 2/3 in LaTeX: Axiom 2 owns the isotony famil…
Aug 4, 2026
aa31175
Update 4 files
Aug 4, 2026
8df0cde
Agent: Fix LaTeX rendering of subscript digits in \texttt spans
Aug 5, 2026
ef908ca
Update 8 files
Aug 5, 2026
24e7c49
Agent: Parametrise QuasilocalAlgebra by the Axiom 2 isotony family
Aug 5, 2026
69fce66
Agent: Add three quasilocal-algebra supporting lemmas to blueprint
Aug 6, 2026
0b987d4
Agent: Collapse blueprint nodes subsumed by Mathlib's DirectLimit ins…
Aug 6, 2026
9acacb6
Agent: Resolve open API question for smoothness of x ↦ dψ_x in hom-bu…
Aug 6, 2026
ab6b8e9
Renamed files in prep for addition of the Spectral Theorems
KellyJDavis Aug 10, 2026
a7e3d22
Agent: Update blueprint section path in LocalAlgebras docstring
Aug 10, 2026
c855aff
Update 10 files
Aug 11, 2026
887b039
Agent: Add scratch Lean files to .gitignore
Aug 11, 2026
e1eb83e
Update 13 files
Aug 12, 2026
8d2c3b1
Agent: Expand blueprint proof notes for bilinearComp smoothness node
Aug 12, 2026
768e5fd
Agent: Add `\uses` dependencies to isotony and local-commutativity de…
Aug 12, 2026
7ea9bc2
Agent: Fix over-claim in thrm:causally-complete-lattice by listing ac…
Aug 12, 2026
77908d7
Agent: Consolidate blueprint completion-block nodes and record constr…
Aug 12, 2026
079be98
Agent: Prove `bicommutant_inter_eq` and mark blueprint lemma as forma…
Aug 13, 2026
d4ab2ec
Agent: Add QuasilocalColimit file with Diamond index type and Directe…
Aug 13, 2026
c7b5386
Agent: Mark quasilocal colimit norm and common-representatives lemmas…
Aug 13, 2026
7403b04
Agent: Document colimit instance synthesis obstacle for quasilocal no…
Aug 13, 2026
d116264
Agent: Mark colimit norm, normed algebra, and C*-ring lemmas as proved
Aug 17, 2026
d9cf352
Agent: Add C*-completion file and mark blueprint nodes as proved
Aug 17, 2026
acad753
Agent: Add `CStarCompletion` abbreviation and link blueprint node
Aug 17, 2026
4992bf2
Agent: Move misattributed Lean citations to correct blueprint nodes
Aug 18, 2026
1f0c306
Agent: Add frontier/endpoint lemmas and mark blueprint nodes as proved
Aug 18, 2026
fcb7b4b
Agent: Restructure Axiom 4 into separate conceptual nodes
Aug 18, 2026
7b6f4b3
Agent: Restrict `QuasilocalAlgebra.ι` to Alexandrov-basis sets only
Aug 19, 2026
cb215a0
Agent: Make HaagKastlerNet and related structures universe-polymorphic
Aug 19, 2026
00fad42
Agent: Update blueprint to reflect completed universe-tying fixes
Aug 19, 2026
9fe1676
Agent: Add quasilocal existence theorem and supporting embedding lemmas
Aug 20, 2026
340ca7a
Agent: Promote `QuasilocalCompleteness` to a theorem and encode Axiom…
Aug 24, 2026
7872756
Moved QuasilocalCompleteness.lean to QuasilocalObservable.lean
KellyJDavis Aug 24, 2026
f66ff58
Removed scratch placeholder
KellyJDavis Aug 24, 2026
3d9c4ef
Fixed many little problems created by Fuse
KellyJDavis Aug 24, 2026
169a318
More small fixes
KellyJDavis Aug 24, 2026
b51d0fb
Fixing many small Fuse errors
KellyJDavis Aug 24, 2026
1bf6a1a
Update using the blueprint pdf
KellyJDavis Aug 24, 2026
eb800b5
Update using the blueprint LaTeX
KellyJDavis Aug 24, 2026
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
12 changes: 12 additions & 0 deletions .github/workflows/lean_action_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,15 @@ jobs:
build: true
lint: true
mk_all-check: true

- name: Check declarations named in the blueprint exist
run: |
set -euo pipefail
grep -rho '\\lean{[^}]*}' blueprint/src --include='*.tex' \
| sed -e 's/^\\lean{//' -e 's/}$//' \
| tr ',' '\n' \
| sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' \
| grep -v '^$' \
| sort -u > lean_decls.txt
echo "Checking $(wc -l < lean_decls.txt) declarations named in the blueprint."
~/.elan/bin/lake exe checkdecls lean_decls.txt
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
/.lake

# Prover scratch copies: private per-declaration working files written by the
# prover tooling. They duplicate real declarations in the same namespace.
scratch_*
13 changes: 12 additions & 1 deletion Physicslib4.lean
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,20 @@ import Physicslib4.AQFT.HaagKastler.LocalCommutativity
import Physicslib4.AQFT.HaagKastler.LocalVonNeumann
import Physicslib4.AQFT.HaagKastler.LorentzCovariance
import Physicslib4.AQFT.HaagKastler.Net
import Physicslib4.AQFT.HaagKastler.ObservableBridge
import Physicslib4.AQFT.HaagKastler.Purity
import Physicslib4.AQFT.HaagKastler.QuasilocalAction
import Physicslib4.AQFT.HaagKastler.QuasilocalAlgebra
import Physicslib4.AQFT.HaagKastler.QuasilocalCompleteness
import Physicslib4.AQFT.HaagKastler.QuasilocalColimit
import Physicslib4.AQFT.HaagKastler.QuasilocalExistence
import Physicslib4.AQFT.HaagKastler.QuasilocalIntertwiner
import Physicslib4.AQFT.HaagKastler.QuasilocalKMS
import Physicslib4.AQFT.HaagKastler.QuasilocalObservable
import Physicslib4.AQFT.HaagKastler.VacuumState
import Physicslib4.AQFT.HaagKastlerCurved.Concrete
import Physicslib4.AQFT.HaagKastlerCurved.CovariantState
import Physicslib4.AQFT.HaagKastlerCurved.EinsteinCausality
import Physicslib4.AQFT.HaagKastlerCurved.GeneralCovariance
import Physicslib4.AQFT.HaagKastlerCurved.GeometricCovariance
import Physicslib4.AQFT.HaagKastlerCurved.IdentityComponent
import Physicslib4.AQFT.HaagKastlerCurved.IsometricCovariance
Expand All @@ -32,6 +36,7 @@ import Physicslib4.AQFT.HaagKastlerCurved.StabilizerAction
import Physicslib4.AQFT.HaagKastlerCurved.StabilizerKMS
import Physicslib4.AQFT.KMS
import Physicslib4.AQFT.PositiveEnergy
import Physicslib4.Analysis.CStarCompletion
import Physicslib4.Analysis.CStarDenseExtend
import Physicslib4.Analysis.HorizontalLineRemovable
import Physicslib4.Analysis.StripPeriodicExtension
Expand All @@ -41,6 +46,7 @@ import Physicslib4.GNS.Amplification
import Physicslib4.GNS.Basic
import Physicslib4.GNS.CauchySchwarz
import Physicslib4.GNS.Construction
import Physicslib4.GNS.Covariance
import Physicslib4.GNS.DirectSum
import Physicslib4.GNS.ExtremeState
import Physicslib4.GNS.Irreducibility
Expand All @@ -57,7 +63,10 @@ import Physicslib4.Spacetime.Basic
import Physicslib4.Spacetime.CausalComplement
import Physicslib4.Spacetime.CausalStructure
import Physicslib4.Spacetime.Causality
import Physicslib4.Spacetime.CrossMetricIsometry
import Physicslib4.Spacetime.Curves
import Physicslib4.Spacetime.Diffeo
import Physicslib4.Spacetime.DiffeoPath
import Physicslib4.Spacetime.Isometry
import Physicslib4.Spacetime.IsometryCausality
import Physicslib4.Spacetime.IsometryTopology
Expand All @@ -67,4 +76,6 @@ import Physicslib4.Spacetime.LorentzCone
import Physicslib4.Spacetime.LorentzOrthogonal
import Physicslib4.Spacetime.LorentzianSpacetime
import Physicslib4.Spacetime.Minkowski
import Physicslib4.Spacetime.MinkowskiDilation
import Physicslib4.Spacetime.MinkowskiDirected
import Physicslib4.Spacetime.Pullback
14 changes: 8 additions & 6 deletions Physicslib4/AQFT/HaagKastler/EinsteinCausality.lean
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ namespace HaagKastlerNet
open Physicslib4.GNS
open scoped InnerProductSpace

variable (N : HaagKastlerNet)
universe u

variable (N : HaagKastlerNet.{u})

/-- **Einstein causality in a representation.** For any `*`-representation `π` of
the quasilocal algebra witnessing local commutativity, the images of the local
Expand All @@ -51,25 +53,25 @@ theorem einstein_causality
(hs : Spacetime.IsCompletelySpacelike StandardMinkowskiSpacetime
standardMinkowskiTimeOrientation B₁ B₂)
(a : N.U.algebra B₁) (b : N.U.algebra B₂) :
Commute (π (N.commAlgebra.ι B₁ a)) (π (N.commAlgebra.ι B₂ b)) :=
Commute (π (N.commAlgebra.ι hB₁ a)) (π (N.commAlgebra.ι hB₂ b)) :=
(N.commute_ι_of_spacelike hB₁ hB₂ hs a b).map π

/-- **Einstein causality on a GNS Hilbert space.** For any state `ω` on the
quasilocal algebra there is a GNS triple `(H, π, Ω)` reproducing `ω` in which the
local observables of completely spacelike-separated regions commute as operators
on `H`. -/
theorem exists_gns_einstein_causality (ω : State N.commAlgebra.carrier) :
∃ (H : Type)
∃ (H : Type u)
(_ : NormedAddCommGroup H) (_ : InnerProductSpace ℂ H) (_ : CompleteSpace H)
(π : N.commAlgebra.carrier →⋆ₐ[ℂ] (H →L[ℂ] H)) (Ω : H),
IsCyclicVector π Ω ∧
(∀ a : N.commAlgebra.carrier, (ω a : ℂ) = ⟪Ω, π a Ω⟫_ℂ) ∧
∀ ⦃B₁ B₂ : Set StandardMinkowskiSpacetime.Carrier⦄,
IsAlexandrovBasisSet B₁IsAlexandrovBasisSet B₂
∀ ⦃B₁ B₂ : Set StandardMinkowskiSpacetime.Carrier⦄
(hB₁ : IsAlexandrovBasisSet B₁) (hB₂ : IsAlexandrovBasisSet B₂),
Spacetime.IsCompletelySpacelike StandardMinkowskiSpacetime
standardMinkowskiTimeOrientation B₁ B₂ →
∀ (a : N.U.algebra B₁) (b : N.U.algebra B₂),
Commute (π (N.commAlgebra.ι B₁ a)) (π (N.commAlgebra.ι B₂ b)) := by
Commute (π (N.commAlgebra.ι hB₁ a)) (π (N.commAlgebra.ι hB₂ b)) := by
obtain ⟨H, i1, i2, i3, π, Ω, hcyc, hrep, _⟩ := gns_construction ω
exact ⟨H, i1, i2, i3, π, Ω, hcyc, hrep,
fun B₁ B₂ hB₁ hB₂ hs a b => N.einstein_causality π hB₁ hB₂ hs a b⟩
Expand Down
67 changes: 35 additions & 32 deletions Physicslib4/AQFT/HaagKastler/GeometricCovariance.lean
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,15 @@ variable {H : Type*} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteS
quasilocal algebra of a covariant net: the image `π(ι_B(𝔘(B)))`. -/
def covLocalOperators (C : CovariantQuasilocalAlgebra)
(π : C.quasilocal.carrier →⋆ₐ[ℂ] (H →L[ℂ] H))
(B : Set StandardMinkowskiSpacetime.Carrier) : Set (H →L[ℂ] H) :=
Set.range fun a : C.net.U.algebra B => π (C.quasilocal.ι B a)
B : Set StandardMinkowskiSpacetime.Carrier⦄ (hB : IsAlexandrovBasisSet B) : Set (H →L[ℂ] H) :=
Set.range fun a : C.net.U.algebra B => π (C.quasilocal.ι hB a)

/-- The local von Neumann algebra `R(B) = π(ι_B(𝔘(B)))''` in a representation `π`
of the covariant net's quasilocal algebra. -/
def covLocalVonNeumann (C : CovariantQuasilocalAlgebra)
(π : C.quasilocal.carrier →⋆ₐ[ℂ] (H →L[ℂ] H))
(B : Set StandardMinkowskiSpacetime.Carrier) : Set (H →L[ℂ] H) :=
Set.centralizer (Set.centralizer (C.covLocalOperators π B))
B : Set StandardMinkowskiSpacetime.Carrier⦄ (hB : IsAlexandrovBasisSet B) : Set (H →L[ℂ] H) :=
Set.centralizer (Set.centralizer (C.covLocalOperators π hB))

/-- **Conjugation carries the local operators of `B` onto those of `L · B`.**
Given operator covariance `U π(a) U⁻¹ = π(β_L a)`, the conjugation `lieConj U`
Expand All @@ -80,7 +80,8 @@ theorem lieConj_image_covLocalOperators (C : CovariantQuasilocalAlgebra)
(hB : IsAlexandrovBasisSet B)
(hcov : ∀ (a : C.quasilocal.carrier) (x : H),
Uop (π a (Uop.symm x)) = π (C.action L a) x) :
Physicslib4.lieConj Uop '' C.covLocalOperators π B = C.covLocalOperators π (L • B) := by
Physicslib4.lieConj Uop '' C.covLocalOperators π hB
= C.covLocalOperators π (isAlexandrovBasisSet_smul L hB) := by
have hconj : ∀ a : C.quasilocal.carrier,
Physicslib4.lieConj Uop (π a) = π (C.action L a) := by
intro a
Expand All @@ -91,11 +92,11 @@ theorem lieConj_image_covLocalOperators (C : CovariantQuasilocalAlgebra)
simp only [covLocalOperators, Set.mem_image, Set.mem_range]
constructor
· rintro ⟨_, ⟨a, rfl⟩, rfl⟩
exact ⟨C.net.covEquiv L B a, by rw [hconj (C.quasilocal.ι B a), action_ι C L hB a]⟩
exact ⟨C.net.covEquiv L B a, by rw [hconj (C.quasilocal.ι hB a), action_ι C L hB a]⟩
· rintro ⟨a', rfl⟩
refine ⟨π (C.quasilocal.ι B ((C.net.covEquiv L B).symm a')),
refine ⟨π (C.quasilocal.ι hB ((C.net.covEquiv L B).symm a')),
⟨(C.net.covEquiv L B).symm a', rfl⟩, ?_⟩
rw [hconj (C.quasilocal.ι B ((C.net.covEquiv L B).symm a')),
rw [hconj (C.quasilocal.ι hB ((C.net.covEquiv L B).symm a')),
action_ι C L hB ((C.net.covEquiv L B).symm a'), StarAlgEquiv.apply_symm_apply]

/-- **Geometric covariance of the local von Neumann net (Minkowski).** In a
Expand All @@ -114,30 +115,31 @@ theorem lieConj_image_covLocalVonNeumann (C : CovariantQuasilocalAlgebra)
(hB : IsAlexandrovBasisSet B)
(hcov : ∀ (a : C.quasilocal.carrier) (x : H),
Uop (π a (Uop.symm x)) = π (C.action L a) x) :
Physicslib4.lieConj Uop '' C.covLocalVonNeumann π B
= C.covLocalVonNeumann π (L • B) := by
Physicslib4.lieConj Uop '' C.covLocalVonNeumann π hB
= C.covLocalVonNeumann π (isAlexandrovBasisSet_smul L hB) := by
unfold covLocalVonNeumann
rw [(Physicslib4.lieConj Uop).image_centralizer_centralizer (C.covLocalOperators π B),
rw [(Physicslib4.lieConj Uop).image_centralizer_centralizer (C.covLocalOperators π hB),
C.lieConj_image_covLocalOperators π Uop L hB hcov]

/-- The local observable operators of a region form a self-adjoint set. -/
theorem covLocalOperators_selfAdjoint (C : CovariantQuasilocalAlgebra)
(π : C.quasilocal.carrier →⋆ₐ[ℂ] (H →L[ℂ] H))
(B : Set StandardMinkowskiSpacetime.Carrier) :
∀ x ∈ C.covLocalOperators π B, star x ∈ C.covLocalOperators π B := by
B : Set StandardMinkowskiSpacetime.Carrier⦄ (hB : IsAlexandrovBasisSet B) :
∀ x ∈ C.covLocalOperators π hB, star x ∈ C.covLocalOperators π hB := by
rintro x ⟨a, rfl⟩
exact ⟨star a, by simp only [map_star]⟩

/-- The local von Neumann algebra `R(B)` as a bundled `VonNeumannAlgebra`. -/
noncomputable def covLocalVonNeumannAlgebra (C : CovariantQuasilocalAlgebra)
(π : C.quasilocal.carrier →⋆ₐ[ℂ] (H →L[ℂ] H))
(B : Set StandardMinkowskiSpacetime.Carrier) : VonNeumannAlgebra H :=
vonNeumannOfSelfAdjoint (C.covLocalOperators π B) (C.covLocalOperators_selfAdjoint π B)
⦃B : Set StandardMinkowskiSpacetime.Carrier⦄ (hB : IsAlexandrovBasisSet B) :
VonNeumannAlgebra H :=
vonNeumannOfSelfAdjoint (C.covLocalOperators π hB) (C.covLocalOperators_selfAdjoint π hB)

@[simp] theorem coe_covLocalVonNeumannAlgebra (C : CovariantQuasilocalAlgebra)
(π : C.quasilocal.carrier →⋆ₐ[ℂ] (H →L[ℂ] H))
(B : Set StandardMinkowskiSpacetime.Carrier) :
(C.covLocalVonNeumannAlgebra π B : Set (H →L[ℂ] H)) = C.covLocalVonNeumann π B :=
B : Set StandardMinkowskiSpacetime.Carrier⦄ (hB : IsAlexandrovBasisSet B) :
(C.covLocalVonNeumannAlgebra π hB : Set (H →L[ℂ] H)) = C.covLocalVonNeumann π hB :=
coe_vonNeumannOfSelfAdjoint _ _

/-- **Geometric covariance as a von Neumann algebra isomorphism (Minkowski).**
Expand All @@ -152,39 +154,40 @@ noncomputable def covLocalVonNeumannEquiv (C : CovariantQuasilocalAlgebra)
(hB : IsAlexandrovBasisSet B)
(hcov : ∀ (a : C.quasilocal.carrier) (x : H),
Uop (π a (Uop.symm x)) = π (C.action L a) x) :
(C.covLocalVonNeumannAlgebra π B).toStarSubalgebra ≃⋆ₐ[ℂ]
(C.covLocalVonNeumannAlgebra π (L • B)).toStarSubalgebra := by
(C.covLocalVonNeumannAlgebra π hB).toStarSubalgebra ≃⋆ₐ[ℂ]
(C.covLocalVonNeumannAlgebra π (isAlexandrovBasisSet_smul L hB)).toStarSubalgebra := by
let hL : IsAlexandrovBasisSet (L • B) := isAlexandrovBasisSet_smul L hB
have hfun : (⇑(LinearIsometryEquiv.conjStarAlgEquiv Uop) : (H →L[ℂ] H) → (H →L[ℂ] H))
= ⇑(Physicslib4.lieConj Uop) := by
funext T; exact (Physicslib4.lieConj_apply_eq_conjStarAlgEquiv Uop T).symm
have himg : ⇑(LinearIsometryEquiv.conjStarAlgEquiv Uop) '' C.covLocalVonNeumann π B
= C.covLocalVonNeumann π (L • B) := by
have himg : ⇑(LinearIsometryEquiv.conjStarAlgEquiv Uop) '' C.covLocalVonNeumann π hB
= C.covLocalVonNeumann π hL := by
rw [hfun]; exact C.lieConj_image_covLocalVonNeumann π Uop L hB hcov
have himg' : ⇑(LinearIsometryEquiv.conjStarAlgEquiv Uop).symm ''
C.covLocalVonNeumann π (L • B) = C.covLocalVonNeumann π B := by
C.covLocalVonNeumann π hL = C.covLocalVonNeumann π hB := by
rw [← himg, Set.image_image]
simp only [StarAlgEquiv.symm_apply_apply, Set.image_id']
refine Physicslib4.restrictStarAlgEquiv (LinearIsometryEquiv.conjStarAlgEquiv Uop)
(fun x hx => ?_) (fun y hy => ?_)
· have hx' : x ∈ C.covLocalVonNeumann π B := by
have h1 : x ∈ ((C.covLocalVonNeumannAlgebra π B).toStarSubalgebra : Set (H →L[ℂ] H)) := hx
· have hx' : x ∈ C.covLocalVonNeumann π hB := by
have h1 : x ∈ ((C.covLocalVonNeumannAlgebra π hB).toStarSubalgebra : Set (H →L[ℂ] H)) := hx
rwa [VonNeumannAlgebra.coe_toStarSubalgebra, coe_covLocalVonNeumannAlgebra] at h1
have hmem : LinearIsometryEquiv.conjStarAlgEquiv Uop x
∈ C.covLocalVonNeumann π (L • B) := by
∈ C.covLocalVonNeumann π hL := by
rw [← himg]; exact Set.mem_image_of_mem _ hx'
change LinearIsometryEquiv.conjStarAlgEquiv Uop x
∈ (C.covLocalVonNeumannAlgebra π (L • B)).toStarSubalgebra
∈ (C.covLocalVonNeumannAlgebra π hL).toStarSubalgebra
rw [← SetLike.mem_coe, VonNeumannAlgebra.coe_toStarSubalgebra, coe_covLocalVonNeumannAlgebra]
exact hmem
· have hy' : y ∈ C.covLocalVonNeumann π (L • B) := by
have h1 : y ∈ ((C.covLocalVonNeumannAlgebra π (L • B)).toStarSubalgebra : Set (H →L[ℂ] H)) :=
· have hy' : y ∈ C.covLocalVonNeumann π hL := by
have h1 : y ∈ ((C.covLocalVonNeumannAlgebra π hL).toStarSubalgebra : Set (H →L[ℂ] H)) :=
hy
rwa [VonNeumannAlgebra.coe_toStarSubalgebra, coe_covLocalVonNeumannAlgebra] at h1
have hmem : (LinearIsometryEquiv.conjStarAlgEquiv Uop).symm y
∈ C.covLocalVonNeumann π B := by
∈ C.covLocalVonNeumann π hB := by
rw [← himg']; exact Set.mem_image_of_mem _ hy'
change (LinearIsometryEquiv.conjStarAlgEquiv Uop).symm y
∈ (C.covLocalVonNeumannAlgebra π B).toStarSubalgebra
∈ (C.covLocalVonNeumannAlgebra π hB).toStarSubalgebra
rw [← SetLike.mem_coe, VonNeumannAlgebra.coe_toStarSubalgebra, coe_covLocalVonNeumannAlgebra]
exact hmem

Expand All @@ -199,8 +202,8 @@ theorem covLocalVonNeumann_isFactor_smul (C : CovariantQuasilocalAlgebra)
(hB : IsAlexandrovBasisSet B)
(hcov : ∀ (a : C.quasilocal.carrier) (x : H),
Uop (π a (Uop.symm x)) = π (C.action L a) x)
(h : Physicslib4.IsFactor (C.covLocalVonNeumann π B)) :
Physicslib4.IsFactor (C.covLocalVonNeumann π (L • B)) := by
(h : Physicslib4.IsFactor (C.covLocalVonNeumann π hB)) :
Physicslib4.IsFactor (C.covLocalVonNeumann π (isAlexandrovBasisSet_smul L hB)) := by
rw [← C.lieConj_image_covLocalVonNeumann π Uop L hB hcov]
exact h.conj Uop

Expand Down
39 changes: 32 additions & 7 deletions Physicslib4/AQFT/HaagKastler/Isotony.lean
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,38 @@ spacetime is implemented by a *unital `*`-monomorphism*
`𝔘(B₁) ↪ 𝔘(B₂)`.

Blueprint reference: `def:isotony`.

The family is *chosen data*, not an existence statement: the identity and
composition laws below are equations between the maps themselves, so there is
nothing to state unless the maps are fixed. An axiom of the form "for each
inclusion there exists some monomorphism" cannot express functoriality at all.

`map_self` and `map_comp` say exactly that `B ↦ 𝔘(B)` is a functor on the
inclusion order of basis sets. They are *required* rather than derived because
they constrain the net's chosen embeddings, not the spacetime. Their payoff is
that the local algebras form a genuine directed system, which is what gives the
quasilocal algebra (`def:quasilocal-algebra`) its algebra structure.
-/
def Isotony (U : LocalNet) : Prop :=
∀ ⦃B₁ B₂ : Set StandardMinkowskiSpacetime.Carrier⦄,
structure Isotony (U : LocalNet) where
/-- The chosen unital `*`-monomorphism implementing each inclusion of basis
sets. This is data, which is what makes the two laws below statable. -/
map : ∀ ⦃B₁ B₂ : Set StandardMinkowskiSpacetime.Carrier⦄,
IsAlexandrovBasisSet B₁ → IsAlexandrovBasisSet B₂ → B₁ ⊆ B₂ →
∃ φ : StarAlgHom ℂ (U.algebra B₁) (U.algebra B₂),
Function.Injective φ
StarAlgHom ℂ (U.algebra B₁) (U.algebra B₂)
/-- Each chosen embedding is injective, i.e. a monomorphism. -/
injective : ∀ ⦃B₁ B₂ : Set StandardMinkowskiSpacetime.Carrier⦄
(h₁ : IsAlexandrovBasisSet B₁) (h₂ : IsAlexandrovBasisSet B₂) (h : B₁ ⊆ B₂),
Function.Injective (map h₁ h₂ h)
/-- **Identity law.** The embedding along `B ⊆ B` is the identity. -/
map_self : ∀ ⦃B : Set StandardMinkowskiSpacetime.Carrier⦄
(h : IsAlexandrovBasisSet B),
map h h (subset_refl B) = StarAlgHom.id ℂ (U.algebra B)
/-- **Composition law.** The embedding along `B₁ ⊆ B₃` factors through any
intermediate `B₂`. -/
map_comp : ∀ ⦃B₁ B₂ B₃ : Set StandardMinkowskiSpacetime.Carrier⦄
(h₁ : IsAlexandrovBasisSet B₁) (h₂ : IsAlexandrovBasisSet B₂)
(h₃ : IsAlexandrovBasisSet B₃) (h₁₂ : B₁ ⊆ B₂) (h₂₃ : B₂ ⊆ B₃),
(map h₂ h₃ h₂₃).comp (map h₁ h₂ h₁₂) = map h₁ h₃ (h₁₂.trans h₂₃)

/-- **Isotony is reflexive.** Every Alexandrov-basis set embeds into
itself via the identity unital `*`-monomorphism, independently of any
Expand All @@ -69,9 +95,8 @@ theorem Isotony.trans {U : LocalNet} (h : Isotony U)
(hB₁ : IsAlexandrovBasisSet B₁) (hB₂ : IsAlexandrovBasisSet B₂)
(hB₃ : IsAlexandrovBasisSet B₃) (h₁₂ : B₁ ⊆ B₂) (h₂₃ : B₂ ⊆ B₃) :
∃ φ : StarAlgHom ℂ (U.algebra B₁) (U.algebra B₃), Function.Injective φ := by
obtain ⟨φ, hφ⟩ := h hB₁ hB₂ h₁₂
obtain ⟨ψ, hψ⟩ := h hB₂ hB₃ h₂₃
exact ⟨ψ.comp φ, fun a b hab => hφ (hψ (by simpa using hab))⟩
refine ⟨(h.map hB₂ hB₃ h₂₃).comp (h.map hB₁ hB₂ h₁₂), ?_⟩
simpa using (h.injective hB₂ hB₃ h₂₃).comp (h.injective hB₁ hB₂ h₁₂)

end HaagKastler
end AQFT
Expand Down
17 changes: 9 additions & 8 deletions Physicslib4/AQFT/HaagKastler/LocalCommutativity.lean
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@ axioms, section 10.3 of the AQFT-in-Lean blueprint):
completely-spacelike local algebras commute pointwise.

* The quasilocal algebra itself — including its density / completion
property — is the subject of Axiom 4 (`QuasilocalCompleteness`);
here we only *use* the structure to phrase commutativity. The two
axioms can in principle share the same witness.
property — is *constructed* from the net by
`exists_quasilocalAlgebra` (`thrm:quasilocal-algebra-exists`); here
we only *use* the structure to phrase commutativity, and the
existential above may be witnessed by that canonical algebra.
-/

namespace Physicslib4
Expand All @@ -58,14 +59,14 @@ commute pointwise inside `Q.carrier`.

Blueprint reference: `def:local-commutativity`.
-/
def LocalCommutativity (U : LocalNet) : Prop :=
∃ Q : QuasilocalAlgebra U,
∀ ⦃B₁ B₂ : Set StandardMinkowskiSpacetime.Carrier⦄,
IsAlexandrovBasisSet B₁IsAlexandrovBasisSet B₂
def LocalCommutativity (U : LocalNet) (i : Isotony U) : Prop :=
∃ Q : QuasilocalAlgebra U i,
∀ ⦃B₁ B₂ : Set StandardMinkowskiSpacetime.Carrier⦄
(hB₁ : IsAlexandrovBasisSet B₁) (hB₂ : IsAlexandrovBasisSet B₂),
Spacetime.IsCompletelySpacelike StandardMinkowskiSpacetime
standardMinkowskiTimeOrientation B₁ B₂ →
∀ (a : U.algebra B₁) (b : U.algebra B₂),
Commute (Q.ι B₁ a) (Q.ι B₂ b)
Commute (Q.ι hB₁ a) (Q.ι hB₂ b)

end HaagKastler
end AQFT
Expand Down
Loading