Imports
/-
Copyright (c) 2026 Axiomatic-AI. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Matteo Cipollina
-/
module
public import Physlib.QuantumMechanics.Operators.CovarianceUncertainty bounds for partial linear maps
i. Overview
In this module we prove abstract Robertson and Robertson–Schrödinger uncertainty bounds for symmetric partial linear maps on a complex inner product space. The statements are independent of any concrete position or momentum operator.
The centered-commutator results use only the domain assumptions needed to form the centered
vectors. The raw-commutator results add the second-order domain hypotheses required to apply A
to Bψ and B to Aψ.
ii. Key results
inner_im_of_commutator_eq : an anti-Hermitian commutator identity fixes the imaginary part of
an inner product.
centeredCommutatorExpectation : the scalar commutator of the centered vectors.
rawCommutatorExpectation : the expectation of the raw commutator on a state.
inner_centered_commutator_of_raw_commutator : a raw commutator expectation gives the centered
commutator expectation.
state_uncertainty_squared_of_centered_commutator : the Robertson squared bound from a centered
commutator identity.
state_uncertainty_squared_with_covariance_of_centered_commutator : the strengthened
Robertson–Schrödinger bound.
state_uncertainty_of_centered_commutator : the standard-deviation form of the bound.
state_uncertainty_squared_of_raw_commutator,
state_uncertainty_squared_with_covariance_of_raw_commutator, and
state_uncertainty_of_raw_commutator : variants using a raw commutator expectation.
iii. Table of contents
A. Inner product lemmas
B. Centered commutator bounds
C. Raw commutator bounds
iv. References
[H. P. Robertson, The Uncertainty Principle (1929)][robertson1929uncertainty].
[E. Schrodinger, Zum Heisenbergschen Unscharfeprinzip (1930)][schrodinger1930heisenberg].
[B. C. Hall, Quantum Theory for Mathematicians, Chapter 12][hall2013quantum].
@[expose] public sectionA. Inner product lemmas
H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_conj_im:(⟪v, u⟫_ℂ).im = -(⟪u, v⟫_ℂ).imh_im:(⟪u, v⟫_ℂ).im - -(⟪u, v⟫_ℂ).im = c⊢ (⟪u, v⟫_ℂ).im = c / 2
linarith All goals completed! 🐙
lemma inner_norm_sq_eq_re_sq_add_commutator_half_sq {u v : H} {c : ℝ}
(h_comm : ⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * c) :
‖⟪u, v⟫_ℂ‖ ^ 2 = (⟪u, v⟫_ℂ).re ^ 2 + (c / 2) ^ 2 := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ ‖⟪u, v⟫_ℂ‖ ^ 2 = (⟪u, v⟫_ℂ).re ^ 2 + (c / 2) ^ 2
rw [← Complex.normSq_eq_norm_sq, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ Complex.normSq ⟪u, v⟫_ℂ = (⟪u, v⟫_ℂ).re ^ 2 + (c / 2) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (⟪u, v⟫_ℂ).re * (⟪u, v⟫_ℂ).re + c / 2 * (c / 2) = (⟪u, v⟫_ℂ).re ^ 2 + (c / 2) ^ 2 Complex.normSq_apply, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (⟪u, v⟫_ℂ).re * (⟪u, v⟫_ℂ).re + (⟪u, v⟫_ℂ).im * (⟪u, v⟫_ℂ).im = (⟪u, v⟫_ℂ).re ^ 2 + (c / 2) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (⟪u, v⟫_ℂ).re * (⟪u, v⟫_ℂ).re + c / 2 * (c / 2) = (⟪u, v⟫_ℂ).re ^ 2 + (c / 2) ^ 2 inner_im_of_commutator_eq h_comm H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (⟪u, v⟫_ℂ).re * (⟪u, v⟫_ℂ).re + c / 2 * (c / 2) = (⟪u, v⟫_ℂ).re ^ 2 + (c / 2) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (⟪u, v⟫_ℂ).re * (⟪u, v⟫_ℂ).re + c / 2 * (c / 2) = (⟪u, v⟫_ℂ).re ^ 2 + (c / 2) ^ 2] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (⟪u, v⟫_ℂ).re * (⟪u, v⟫_ℂ).re + c / 2 * (c / 2) = (⟪u, v⟫_ℂ).re ^ 2 + (c / 2) ^ 2
ring All goals completed! 🐙
lemma sub_expectation_commutator_eq_raw
(ψ a b : H) (μa μb : ℝ)
(hμa_right : ⟪ψ, a⟫_ℂ = (μa : ℂ)) (hμa_left : ⟪a, ψ⟫_ℂ = (μa : ℂ))
(hμb_right : ⟪ψ, b⟫_ℂ = (μb : ℂ)) (hμb_left : ⟪b, ψ⟫_ℂ = (μb : ℂ)) (hψ_norm : ‖ψ‖ = 1) :
⟪a - (μa : ℂ) • ψ, b - (μb : ℂ) • ψ⟫_ℂ -
⟪b - (μb : ℂ) • ψ, a - (μa : ℂ) • ψ⟫_ℂ =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a - ↑μa • ψ, b - ↑μb • ψ⟫_ℂ - ⟪b - ↑μb • ψ, a - ↑μa • ψ⟫_ℂ = ⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ
calc
⟪a - (μa : ℂ) • ψ, b - (μb : ℂ) • ψ⟫_ℂ -
⟪b - (μb : ℂ) • ψ, a - (μa : ℂ) • ψ⟫_ℂ =
(⟪a, b⟫_ℂ - (μb : ℂ) * ⟪a, ψ⟫_ℂ - star (μa : ℂ) * ⟪ψ, b⟫_ℂ +
star (μa : ℂ) * (μb : ℂ) * ⟪ψ, ψ⟫_ℂ) -
(⟪b, a⟫_ℂ - (μa : ℂ) * ⟪b, ψ⟫_ℂ - star (μb : ℂ) * ⟪ψ, a⟫_ℂ +
star (μb : ℂ) * (μa : ℂ) * ⟪ψ, ψ⟫_ℂ) := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a - ↑μa • ψ, b - ↑μb • ψ⟫_ℂ - ⟪b - ↑μb • ψ, a - ↑μa • ψ⟫_ℂ =
⟪a, b⟫_ℂ - ↑μb * ⟪a, ψ⟫_ℂ - star ↑μa * ⟪ψ, b⟫_ℂ + star ↑μa * ↑μb * ⟪ψ, ψ⟫_ℂ -
(⟪b, a⟫_ℂ - ↑μa * ⟪b, ψ⟫_ℂ - star ↑μb * ⟪ψ, a⟫_ℂ + star ↑μb * ↑μa * ⟪ψ, ψ⟫_ℂ)
simp only [inner_sub_left, inner_sub_right, inner_smul_left, inner_smul_right] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - (starRingEnd ℂ) ↑μa * ⟪ψ, b⟫_ℂ - ↑μb * (⟪a, ψ⟫_ℂ - (starRingEnd ℂ) ↑μa * ⟪ψ, ψ⟫_ℂ) -
(⟪b, a⟫_ℂ - (starRingEnd ℂ) ↑μb * ⟪ψ, a⟫_ℂ - ↑μa * (⟪b, ψ⟫_ℂ - (starRingEnd ℂ) ↑μb * ⟪ψ, ψ⟫_ℂ)) =
⟪a, b⟫_ℂ - ↑μb * ⟪a, ψ⟫_ℂ - star ↑μa * ⟪ψ, b⟫_ℂ + star ↑μa * ↑μb * ⟪ψ, ψ⟫_ℂ -
(⟪b, a⟫_ℂ - ↑μa * ⟪b, ψ⟫_ℂ - star ↑μb * ⟪ψ, a⟫_ℂ + star ↑μb * ↑μa * ⟪ψ, ψ⟫_ℂ)
simp [mul_comm, mul_assoc] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μa * ⟪ψ, b⟫_ℂ - ↑μb * (⟪a, ψ⟫_ℂ - ↑μa * ↑‖ψ‖ ^ 2) -
(⟪b, a⟫_ℂ - ↑μb * ⟪ψ, a⟫_ℂ - ↑μa * (⟪b, ψ⟫_ℂ - ↑μb * ↑‖ψ‖ ^ 2)) =
⟪a, b⟫_ℂ - ↑μb * ⟪a, ψ⟫_ℂ - ↑μa * ⟪ψ, b⟫_ℂ - (⟪b, a⟫_ℂ - ↑μa * ⟪b, ψ⟫_ℂ - ↑μb * ⟪ψ, a⟫_ℂ)
ring_nf All goals completed! 🐙
_ = ⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ⟪a, ψ⟫_ℂ - star ↑μa * ⟪ψ, b⟫_ℂ + star ↑μa * ↑μb * ⟪ψ, ψ⟫_ℂ -
(⟪b, a⟫_ℂ - ↑μa * ⟪b, ψ⟫_ℂ - star ↑μb * ⟪ψ, a⟫_ℂ + star ↑μb * ↑μa * ⟪ψ, ψ⟫_ℂ) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ
rw [hμa_right, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ⟪a, ψ⟫_ℂ - star ↑μa * ⟪ψ, b⟫_ℂ + star ↑μa * ↑μb * ⟪ψ, ψ⟫_ℂ -
(⟪b, a⟫_ℂ - ↑μa * ⟪b, ψ⟫_ℂ - star ↑μb * ↑μa + star ↑μb * ↑μa * ⟪ψ, ψ⟫_ℂ) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ↑1 ^ 2 -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ↑1 ^ 2) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ hμa_left, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ⟪ψ, b⟫_ℂ + star ↑μa * ↑μb * ⟪ψ, ψ⟫_ℂ -
(⟪b, a⟫_ℂ - ↑μa * ⟪b, ψ⟫_ℂ - star ↑μb * ↑μa + star ↑μb * ↑μa * ⟪ψ, ψ⟫_ℂ) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ↑1 ^ 2 -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ↑1 ^ 2) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ hμb_right, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ⟪ψ, ψ⟫_ℂ -
(⟪b, a⟫_ℂ - ↑μa * ⟪b, ψ⟫_ℂ - star ↑μb * ↑μa + star ↑μb * ↑μa * ⟪ψ, ψ⟫_ℂ) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ↑1 ^ 2 -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ↑1 ^ 2) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ hμb_left, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ⟪ψ, ψ⟫_ℂ -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ⟪ψ, ψ⟫_ℂ) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ↑1 ^ 2 -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ↑1 ^ 2) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ inner_self_eq_norm_sq_to_K, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ↑‖ψ‖ ^ 2 -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ↑‖ψ‖ ^ 2) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ↑1 ^ 2 -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ↑1 ^ 2) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ
hψ_norm H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ↑1 ^ 2 -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ↑1 ^ 2) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ↑1 ^ 2 -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ↑1 ^ 2) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μb * ↑μa - star ↑μa * ↑μb + star ↑μa * ↑μb * ↑1 ^ 2 -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - star ↑μb * ↑μa + star ↑μb * ↑μa * ↑1 ^ 2) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ
simp only [Complex.star_def, Complex.conj_ofReal, pow_two, mul_assoc, mul_comm] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hψ:Ha:Hb:Hμa:ℝμb:ℝhμa_right:⟪ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ψ⟫_ℂ = ↑μahμb_right:⟪ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ψ⟫_ℂ = ↑μbhψ_norm:‖ψ‖ = 1⊢ ⟪a, b⟫_ℂ - ↑μa * ↑μb - ↑μa * ↑μb + ↑μa * (↑μb * (↑1 * ↑1)) -
(⟪b, a⟫_ℂ - ↑μa * ↑μb - ↑μa * ↑μb + ↑μa * (↑μb * (↑1 * ↑1))) =
⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ
ring_nf All goals completed! 🐙
lemma raw_commutator_eq_of_symmetric
(A B : H →ₗ.[ℂ] H) (hA : A.IsSymmetric) (hB : B.IsSymmetric)
(ψ : A.domain) (hψB : (ψ : H) ∈ B.domain)
(hBA : A ψ ∈ B.domain) (hAB : B ⟨ψ, hψB⟩ ∈ A.domain)
{c : ℝ}
(h_raw : ⟪(ψ : H), A ⟨B ⟨ψ, hψB⟩, hAB⟩ - B ⟨A ψ, hBA⟩⟫_ℂ = Complex.I * c) :
⟪A ψ, B ⟨ψ, hψB⟩⟫_ℂ - ⟪B ⟨ψ, hψB⟩, A ψ⟫_ℂ = Complex.I * c := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑c⊢ ⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ - ⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = Complex.I * ↑c
have ha_pairing :
⟪A ψ, B ⟨ψ, hψB⟩⟫_ℂ = ⟪(ψ : H), A ⟨B ⟨ψ, hψB⟩, hAB⟩⟫_ℂ := by
exact hA ψ ⟨B ⟨ψ, hψB⟩, hAB⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑cha_pairing:⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ⊢ ⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ - ⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑cha_pairing:⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ⊢ ⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ - ⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = Complex.I * ↑c
have hb_pairing :
⟪B ⟨ψ, hψB⟩, A ψ⟫_ℂ = ⟪(ψ : H), B ⟨A ψ, hBA⟩⟫_ℂ := by
exact hB ⟨ψ, hψB⟩ ⟨A ψ, hBA⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑cha_pairing:⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂhb_pairing:⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ⊢ ⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ - ⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑cha_pairing:⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂhb_pairing:⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ⊢ ⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ - ⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = Complex.I * ↑c
calc
⟪A ψ, B ⟨ψ, hψB⟩⟫_ℂ - ⟪B ⟨ψ, hψB⟩, A ψ⟫_ℂ =
⟪(ψ : H), A ⟨B ⟨ψ, hψB⟩, hAB⟩⟫_ℂ -
⟪(ψ : H), B ⟨A ψ, hBA⟩⟫_ℂ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑cha_pairing:⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂhb_pairing:⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ⊢ ⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ - ⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ - ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ
rw [ha_pairing, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑cha_pairing:⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂhb_pairing:⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ⊢ ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ - ⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ - ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ All goals completed! 🐙 hb_pairing H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑cha_pairing:⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂhb_pairing:⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ⊢ ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ - ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ - ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ All goals completed! 🐙] All goals completed! 🐙
_ = ⟪(ψ : H), A ⟨B ⟨ψ, hψB⟩, hAB⟩ - B ⟨A ψ, hBA⟩⟫_ℂ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑cha_pairing:⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂhb_pairing:⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ⊢ ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ - ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ
rw [inner_sub_right H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑cha_pairing:⟪↑A ψ, ↑B ⟨↑ψ, hψB⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂhb_pairing:⟪↑B ⟨↑ψ, hψB⟩, ↑A ψ⟫_ℂ = ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ⊢ ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ - ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩⟫_ℂ - ⟪↑ψ, ↑B ⟨↑A ψ, hBA⟩⟫_ℂ All goals completed! 🐙] All goals completed! 🐙
_ = Complex.I * c := h_raw
The scalar commutator of the centered vectors of A and B in the state ψ.
def centeredCommutatorExpectation (A B : H →ₗ.[ℂ] H)
(ψ : A.domain) (hψB : (ψ : H) ∈ B.domain) : ℂ :=
⟪centered A ψ, centered B ⟨ψ, hψB⟩⟫_ℂ -
⟪centered B ⟨ψ, hψB⟩, centered A ψ⟫_ℂ
The expectation of the raw commutator [A, B] in the state ψ, with explicit second-order
domain witnesses.
def rawCommutatorExpectation (A B : H →ₗ.[ℂ] H)
(ψ : A.domain) (hψB : (ψ : H) ∈ B.domain)
(hBA : A ψ ∈ B.domain) (hAB : B ⟨ψ, hψB⟩ ∈ A.domain) : ℂ :=
⟪(ψ : H), A ⟨B ⟨ψ, hψB⟩, hAB⟩ - B ⟨A ψ, hBA⟩⟫_ℂ
lemma commutator_half_sq_le_mul_norm_sq {u v : H} {c : ℝ}
(h_comm : ⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * c) :
(|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2
suffices (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 by exact this H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2
have h_sq : |c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 := by
have h_bound : |c / 2| ≤ ‖u‖ * ‖v‖ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_bound:|c / 2| ≤ ‖u‖ * ‖v‖⊢ |c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_sq:|c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2
have h_im : |(⟪u, v⟫_ℂ).im| ≤ ‖u‖ * ‖v‖ :=
le_trans (Complex.abs_im_le_norm ⟪u, v⟫_ℂ) (norm_inner_le_norm u v) H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_im:|(⟪u, v⟫_ℂ).im| ≤ ‖u‖ * ‖v‖⊢ |c / 2| ≤ ‖u‖ * ‖v‖ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_bound:|c / 2| ≤ ‖u‖ * ‖v‖⊢ |c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_sq:|c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2
rwa [inner_im_of_commutator_eq h_comm H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_im:|c / 2| ≤ ‖u‖ * ‖v‖⊢ |c / 2| ≤ ‖u‖ * ‖v‖ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_bound:|c / 2| ≤ ‖u‖ * ‖v‖⊢ |c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_sq:|c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_im:|c / 2| ≤ ‖u‖ * ‖v‖⊢ |c / 2| ≤ ‖u‖ * ‖v‖ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_bound:|c / 2| ≤ ‖u‖ * ‖v‖⊢ |c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_sq:|c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 at h_im H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_bound:|c / 2| ≤ ‖u‖ * ‖v‖⊢ |c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_sq:|c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2
have h_nonneg : 0 ≤ ‖u‖ * ‖v‖ := mul_nonneg (norm_nonneg u) (norm_nonneg v) H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_bound:|c / 2| ≤ ‖u‖ * ‖v‖h_nonneg:0 ≤ ‖u‖ * ‖v‖⊢ |c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_sq:|c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2
nlinarith [abs_nonneg (c / 2), h_bound, h_nonneg] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_sq:|c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hu:Hv:Hc:ℝh_comm:⟪u, v⟫_ℂ - ⟪v, u⟫_ℂ = Complex.I * ↑ch_sq:|c / 2| ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2⊢ (|c| / 2) ^ 2 ≤ (‖u‖ * ‖v‖) ^ 2
simpa [abs_div] using h_sq All goals completed! 🐙
private lemma sqrt_mul_le_of_sq_le {x y z : ℝ}
(hx : 0 ≤ x) (hz : 0 ≤ z) (hxy : z ^ 2 ≤ x * y) :
z ≤ Real.sqrt x * Real.sqrt y := by x:ℝy:ℝz:ℝhx:0 ≤ xhz:0 ≤ zhxy:z ^ 2 ≤ x * y⊢ z ≤ √x * √y
suffices z ≤ Real.sqrt x * Real.sqrt y by exact this x:ℝy:ℝz:ℝhx:0 ≤ xhz:0 ≤ zhxy:z ^ 2 ≤ x * y⊢ z ≤ √x * √y x:ℝy:ℝz:ℝhx:0 ≤ xhz:0 ≤ zhxy:z ^ 2 ≤ x * y⊢ z ≤ √x * √y
have hs : Real.sqrt (z ^ 2) ≤ Real.sqrt (x * y) := Real.sqrt_le_sqrt hxy x:ℝy:ℝz:ℝhx:0 ≤ xhz:0 ≤ zhxy:z ^ 2 ≤ x * yhs:√(z ^ 2) ≤ √(x * y)⊢ z ≤ √x * √y
rw [Real.sqrt_sq hz, x:ℝy:ℝz:ℝhx:0 ≤ xhz:0 ≤ zhxy:z ^ 2 ≤ x * yhs:z ≤ √(x * y)⊢ z ≤ √x * √y x:ℝy:ℝz:ℝhx:0 ≤ xhz:0 ≤ zhxy:z ^ 2 ≤ x * yhs:z ≤ √x * √y⊢ z ≤ √x * √y Real.sqrt_mul hx x:ℝy:ℝz:ℝhx:0 ≤ xhz:0 ≤ zhxy:z ^ 2 ≤ x * yhs:z ≤ √x * √y⊢ z ≤ √x * √y x:ℝy:ℝz:ℝhx:0 ≤ xhz:0 ≤ zhxy:z ^ 2 ≤ x * yhs:z ≤ √x * √y⊢ z ≤ √x * √y] at hs x:ℝy:ℝz:ℝhx:0 ≤ xhz:0 ≤ zhxy:z ^ 2 ≤ x * yhs:z ≤ √x * √y⊢ z ≤ √x * √y
simpa [mul_comm] using hs All goals completed! 🐙B. Centered commutator bounds
include h_centeredA centered commutator identity implies the squared Robertson uncertainty bound.
lemma state_uncertainty_squared_of_centered_commutator :
(|c| / 2) ^ 2 ≤ variance A ψ * variance B ⟨ψ, hψB⟩ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ A.variance ψ * B.variance ⟨↑ψ, hψB⟩
rw [variance_eq_centered_norm_sq, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * B.variance ⟨↑ψ, hψB⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * ‖B.centered ⟨↑ψ, hψB⟩‖ ^ 2 variance_eq_centered_norm_sq H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * ‖B.centered ⟨↑ψ, hψB⟩‖ ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * ‖B.centered ⟨↑ψ, hψB⟩‖ ^ 2] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * ‖B.centered ⟨↑ψ, hψB⟩‖ ^ 2
rw [show ‖centered A ψ‖ ^ 2 * ‖centered B ⟨ψ, hψB⟩‖ ^ 2 =
(‖centered A ψ‖ * ‖centered B ⟨ψ, hψB⟩‖) ^ 2 by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ A.variance ψ * B.variance ⟨↑ψ, hψB⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2 ring All goals completed! 🐙 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ (|c| / 2) ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2
exact commutator_half_sq_le_mul_norm_sq (by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ ⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ - ⟪B.centered ⟨↑ψ, hψB⟩, A.centered ψ⟫_ℂ = Complex.I * ↑c simpa [centeredCommutatorExpectation] using
h_centered All goals completed! 🐙)A centered commutator identity implies the Robertson–Schrödinger uncertainty bound.
lemma state_uncertainty_squared_with_covariance_of_centered_commutator :
(covariance A B ψ hψB) ^ 2 + (c / 2) ^ 2 ≤
variance A ψ * variance B ⟨ψ, hψB⟩ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ A.variance ψ * B.variance ⟨↑ψ, hψB⟩
rw [variance_eq_centered_norm_sq, H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * B.variance ⟨↑ψ, hψB⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * ‖B.centered ⟨↑ψ, hψB⟩‖ ^ 2 variance_eq_centered_norm_sq H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * ‖B.centered ⟨↑ψ, hψB⟩‖ ^ 2 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * ‖B.centered ⟨↑ψ, hψB⟩‖ ^ 2] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ ‖A.centered ψ‖ ^ 2 * ‖B.centered ⟨↑ψ, hψB⟩‖ ^ 2
rw [show ‖centered A ψ‖ ^ 2 * ‖centered B ⟨ψ, hψB⟩‖ ^ 2 =
(‖centered A ψ‖ * ‖centered B ⟨ψ, hψB⟩‖) ^ 2 by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ A.variance ψ * B.variance ⟨↑ψ, hψB⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2 ring All goals completed! 🐙 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2
calc
(covariance A B ψ hψB) ^ 2 + (c / 2) ^ 2 =
‖⟪centered A ψ, centered B ⟨ψ, hψB⟩⟫_ℂ‖ ^ 2 := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 = ‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖ ^ 2
rw [inner_norm_sq_eq_re_sq_add_commutator_half_sq
(by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ ⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ - ⟪B.centered ⟨↑ψ, hψB⟩, A.centered ψ⟫_ℂ = Complex.I * ↑?m.284 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 = (⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ).re ^ 2 + (c / 2) ^ 2 simpa [centeredCommutatorExpectation] using h_centered All goals completed! 🐙 H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 = (⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ).re ^ 2 + (c / 2) ^ 2)] H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ A.covariance B ψ hψB ^ 2 + (c / 2) ^ 2 = (⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ).re ^ 2 + (c / 2) ^ 2
rfl All goals completed! 🐙
_ ≤ (‖centered A ψ‖ * ‖centered B ⟨ψ, hψB⟩‖) ^ 2 := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ ‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖ ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2
have h_bound :=
norm_inner_le_norm (𝕜 := ℂ) (centered A ψ) (centered B ⟨ψ, hψB⟩) H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑ch_bound:‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖ ≤ ‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖⊢ ‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖ ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2
have h_inner_nonneg : 0 ≤ ‖⟪centered A ψ, centered B ⟨ψ, hψB⟩⟫_ℂ‖ :=
norm_nonneg _ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑ch_bound:‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖ ≤ ‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖h_inner_nonneg:0 ≤ ‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖⊢ ‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖ ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2
have h_mul_nonneg : 0 ≤ ‖centered A ψ‖ * ‖centered B ⟨ψ, hψB⟩‖ :=
mul_nonneg (norm_nonneg _) (norm_nonneg _) H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑ch_bound:‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖ ≤ ‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖h_inner_nonneg:0 ≤ ‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖h_mul_nonneg:0 ≤ ‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖⊢ ‖⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ‖ ^ 2 ≤ (‖A.centered ψ‖ * ‖B.centered ⟨↑ψ, hψB⟩‖) ^ 2
nlinarith All goals completed! 🐙A centered commutator identity implies the standard uncertainty bound.
lemma state_uncertainty_of_centered_commutator :
|c| / 2 ≤ standardDeviation A ψ * standardDeviation B ⟨ψ, hψB⟩ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c⊢ |c| / 2 ≤ A.standardDeviation ψ * B.standardDeviation ⟨↑ψ, hψB⟩
have h_sq := state_uncertainty_squared_of_centered_commutator A B ψ hψB h_centered H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑ch_sq:(|c| / 2) ^ 2 ≤ A.variance ψ * B.variance ⟨↑ψ, hψB⟩⊢ |c| / 2 ≤ A.standardDeviation ψ * B.standardDeviation ⟨↑ψ, hψB⟩
refine sqrt_mul_le_of_sq_le (variance_nonneg A ψ) (by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] Hψ:↥A.domainhψB:↑ψ ∈ B.domainc:ℝh_centered:A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑ch_sq:(|c| / 2) ^ 2 ≤ A.variance ψ * B.variance ⟨↑ψ, hψB⟩⊢ 0 ≤ |c| / 2 positivity All goals completed! 🐙) ?_
simpa [standardDeviation] using h_sq All goals completed! 🐙C. Raw commutator bounds
include hA hB hψ_norm hBA hAB h_rawA raw commutator expectation determines the centered commutator expectation.
lemma inner_centered_commutator_of_raw_commutator :
centeredCommutatorExpectation A B ψ hψB = Complex.I * c := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑c⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
let a : H := A ψ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψ⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
let b : H := B ⟨ψ, hψB⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
let μa : ℝ := expectedValue A ψ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψ⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
let μb : ℝ := expectedValue B ⟨ψ, hψB⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
have hμa_right : ⟪(ψ : H), a⟫_ℂ = (μa : ℂ) := by
simpa [a, μa] using expectedValue_eq_inner A hA ψ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μa⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μa⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
have hμa_left : ⟪a, (ψ : H)⟫_ℂ = (μa : ℂ) := by
have h_symm : ⟪a, (ψ : H)⟫_ℂ = ⟪(ψ : H), a⟫_ℂ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑c⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μah_symm:⟪a, ↑ψ⟫_ℂ = ⟪↑ψ, a⟫_ℂ⊢ ⟪a, ↑ψ⟫_ℂ = ↑μa H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μa⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
simpa [a] using hA ψ ψ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μah_symm:⟪a, ↑ψ⟫_ℂ = ⟪↑ψ, a⟫_ℂ⊢ ⟪a, ↑ψ⟫_ℂ = ↑μa H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μa⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μah_symm:⟪a, ↑ψ⟫_ℂ = ⟪↑ψ, a⟫_ℂ⊢ ⟪a, ↑ψ⟫_ℂ = ↑μa H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μa⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
simpa [h_symm] using hμa_right H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μa⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μa⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
have hμb_right : ⟪(ψ : H), b⟫_ℂ = (μb : ℂ) := by
simpa [b, μb] using expectedValue_eq_inner B hB ⟨ψ, hψB⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μb⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μb⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
have hμb_left : ⟪b, (ψ : H)⟫_ℂ = (μb : ℂ) := by
have h_symm : ⟪b, (ψ : H)⟫_ℂ = ⟪(ψ : H), b⟫_ℂ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑c⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbh_symm:⟪b, ↑ψ⟫_ℂ = ⟪↑ψ, b⟫_ℂ⊢ ⟪b, ↑ψ⟫_ℂ = ↑μb H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ↑ψ⟫_ℂ = ↑μb⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
simpa [b] using hB ⟨ψ, hψB⟩ ⟨ψ, hψB⟩ H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbh_symm:⟪b, ↑ψ⟫_ℂ = ⟪↑ψ, b⟫_ℂ⊢ ⟪b, ↑ψ⟫_ℂ = ↑μb H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ↑ψ⟫_ℂ = ↑μb⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbh_symm:⟪b, ↑ψ⟫_ℂ = ⟪↑ψ, b⟫_ℂ⊢ ⟪b, ↑ψ⟫_ℂ = ↑μb H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ↑ψ⟫_ℂ = ↑μb⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
simpa [h_symm] using hμb_right H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ↑ψ⟫_ℂ = ↑μb⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ↑ψ⟫_ℂ = ↑μb⊢ A.centeredCommutatorExpectation B ψ hψB = Complex.I * ↑c
calc
centeredCommutatorExpectation A B ψ hψB =
⟪centered A ψ, centered B ⟨ψ, hψB⟩⟫_ℂ -
⟪centered B ⟨ψ, hψB⟩, centered A ψ⟫_ℂ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ↑ψ⟫_ℂ = ↑μb⊢ A.centeredCommutatorExpectation B ψ hψB =
⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ - ⟪B.centered ⟨↑ψ, hψB⟩, A.centered ψ⟫_ℂ
rfl All goals completed! 🐙
_ =
⟪a - (μa : ℂ) • (ψ : H), b - (μb : ℂ) • (ψ : H)⟫_ℂ -
⟪b - (μb : ℂ) • (ψ : H), a - (μa : ℂ) • (ψ : H)⟫_ℂ := by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ↑ψ⟫_ℂ = ↑μb⊢ ⟪A.centered ψ, B.centered ⟨↑ψ, hψB⟩⟫_ℂ - ⟪B.centered ⟨↑ψ, hψB⟩, A.centered ψ⟫_ℂ =
⟪a - ↑μa • ↑ψ, b - ↑μb • ↑ψ⟫_ℂ - ⟪b - ↑μb • ↑ψ, a - ↑μa • ↑ψ⟫_ℂ
rfl All goals completed! 🐙
_ = ⟪a, b⟫_ℂ - ⟪b, a⟫_ℂ :=
sub_expectation_commutator_eq_raw (ψ : H) a b μa μb
hμa_right hμa_left hμb_right hμb_left hψ_norm
_ = Complex.I * c :=
raw_commutator_eq_of_symmetric A B hA hB ψ hψB hBA hAB
(by H:Type u_1inst✝¹:NormedAddCommGroup Hinst✝:InnerProductSpace ℂ HA:H →ₗ.[ℂ] HB:H →ₗ.[ℂ] HhA:A.IsSymmetrichB:B.IsSymmetricψ:↥A.domainhψB:↑ψ ∈ B.domainhψ_norm:‖↑ψ‖ = 1hBA:↑A ψ ∈ B.domainhAB:↑B ⟨↑ψ, hψB⟩ ∈ A.domainc:ℝh_raw:A.rawCommutatorExpectation B ψ hψB hBA hAB = Complex.I * ↑ca:H := ↑A ψb:H := ↑B ⟨↑ψ, hψB⟩μa:ℝ := A.expectedValue ψμb:ℝ := B.expectedValue ⟨↑ψ, hψB⟩hμa_right:⟪↑ψ, a⟫_ℂ = ↑μahμa_left:⟪a, ↑ψ⟫_ℂ = ↑μahμb_right:⟪↑ψ, b⟫_ℂ = ↑μbhμb_left:⟪b, ↑ψ⟫_ℂ = ↑μb⊢ ⟪↑ψ, ↑A ⟨↑B ⟨↑ψ, hψB⟩, hAB⟩ - ↑B ⟨↑A ψ, hBA⟩⟫_ℂ = Complex.I * ↑c simpa [rawCommutatorExpectation] using h_raw All goals completed! 🐙)A raw commutator expectation implies the squared Robertson uncertainty bound.
lemma state_uncertainty_squared_of_raw_commutator :
(|c| / 2) ^ 2 ≤ variance A ψ * variance B ⟨ψ, hψB⟩ :=
state_uncertainty_squared_of_centered_commutator A B ψ hψB
(inner_centered_commutator_of_raw_commutator A B hA hB ψ hψB hψ_norm hBA hAB h_raw)A raw commutator expectation implies the squared uncertainty bound with covariance term.
lemma state_uncertainty_squared_with_covariance_of_raw_commutator :
(covariance A B ψ hψB) ^ 2 + (c / 2) ^ 2 ≤
variance A ψ * variance B ⟨ψ, hψB⟩ :=
state_uncertainty_squared_with_covariance_of_centered_commutator A B ψ hψB
(inner_centered_commutator_of_raw_commutator A B hA hB ψ hψB hψ_norm hBA hAB h_raw)A raw commutator expectation implies the standard uncertainty bound.
lemma state_uncertainty_of_raw_commutator :
|c| / 2 ≤ standardDeviation A ψ * standardDeviation B ⟨ψ, hψB⟩ :=
state_uncertainty_of_centered_commutator A B ψ hψB
(inner_centered_commutator_of_raw_commutator A B hA hB ψ hψB hψ_norm hBA hAB h_raw)