All proofs
Project-declaredLean 4.32.0 · mathlib@81a5d257c8e4

Regularity Domain is Connected iff

LinearPMap.IsSymmetric.regularityDomain_isConnected_iff

Plain-language statement

The regularity domain of a symmetric operator is connected iff it contains a real number.

Exact Lean statement

lemma regularityDomain_isConnected_iff :
    IsConnected T.regularityDomain ↔ (ofReal ⁻¹' T.regularityDomain).Nonempty

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma regularityDomain_isConnected_iff :    IsConnected T.regularityDomain  (ofReal ⁻¹' T.regularityDomain).Nonempty := by  rw [T.regularityDomain_isOpen.isConnected_iff_isPathConnected]  constructor  · intro h    obtain f, hf : JoinedIn T.regularityDomain (-I) I :=      h.joinedIn _ (hT.mem_regularityDomain_of_im_ne_zero (by simp)) _        (hT.mem_regularityDomain_of_im_ne_zero (by simp))    have hIVT := intermediate_value_Icc (f := fun t  (f t).im) zero_le_one (by fun_prop)    simp only [Path.source, neg_im, I_im, Path.target] at hIVT    obtain t, _, ht := hIVT (show (0 : )  Icc (-1) 1 by simp)    specialize hf t    rw [ re_add_im (f t), show (f t).im = 0 from ht] at hf    exact (f t).re, by simp_all  · intro r, hr    apply mem_preimage.mp at hr    refine isPathConnected_iff.mpr ?_, fun z₁ hz₁ z₂ hz₂  ?_    · exact I, hT.mem_regularityDomain_of_im_ne_zero (by simp)    · have h :  z  T.regularityDomain, JoinedIn T.regularityDomain z r := by        intro z hz        by_cases hz_im : z.im = 0        · rcases eq_or_ne z r with rfl | hzr          · exact JoinedIn.refl hr          · let path : Path z r := {              toFun t := ((z + r) + (z - r) * cexp (Real.pi * t * I)) / 2              source' := by simp              target' := by simp [add_comm z r, add_add_sub_cancel]            }            refine path, fun t  ?_            by_cases! ht :  n : , n = (t : )            · obtain n, htn := ht              have hexp : cexp (Real.pi * t * I) = (-1) ^ n := by                rw [ exp_pi_mul_I,  exp_int_mul,  htn]                exact congrArg cexp (by push_cast; ring)              rcases Int.even_or_odd n with he | ho              · simp [path, hexp, he.neg_one_zpow, hz]              · simp [path, hexp, ho.neg_one_zpow, add_comm z r, hr]            · have hzr' : z.re - r  0 :=                  fun h  hzr <| Complex.ext (sub_eq_zero.mp h) (by simp [hz_im])              refine hT.mem_regularityDomain_of_im_ne_zero ?_              simp [path, hz_im, exp_im, Real.sin_eq_zero_iff, mul_comm, hzr', ht]        · refine JoinedIn.of_segment_subset fun w a, b, _, _, _, hw  ?_          rcases eq_zero_or_neZero a with rfl | _          · simp_all          · exact hT.mem_regularityDomain_of_im_ne_zero fun _  hz_im (by simp_all [ hw])      exact (h z₁ hz₁).trans (h z₂ hz₂).symm
Project
Physlib
License
Apache-2.0
Commit
dd43e9e65791
Source
Physlib/QuantumMechanics/Operators/SpectralTheory/Symmetric.lean:142-187

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.32.0

Adiabatic relation log

adiabatic_relation_log

Plain-language statement

Adiabatic relation in logarithmic form: If S(Ua,Va,N) = S(Ub,Vb,N) with N fixed, then c * log (Ua/Ub) + log (Va/Vb) = 0.

physicsquantum field theoryrelativity

Source project: Physlib

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Adiabatic relation Ua Ub Va Vb

adiabatic_relation_UaUbVaVb

Plain-language statement

Adiabatic relation in product form: If S(Ua,Va,N) = S(Ub,Vb,N) with N fixed, then (Ua/Ub)^c * (Va/Vb) = 1.

physicsquantum field theoryrelativity

Source project: Physlib

Person-level attribution pending.

View proof record