All proofs
Project-declaredLean 4.32.0 · mathlib@81a5d257c8e4

Exist completions subset of complete

SuperSymmetry.SU5.ChargeSpectrum.exist_completions_subset_of_complete

Plain-language statement

If x is a subset of y and y is complete, then there is a completion of x which is also a subset of y.

Exact Lean statement

lemma exist_completions_subset_of_complete (S5 S10 : Finset 𝓩) (x y : ChargeSpectrum 𝓩)
    (hsubset : x ⊆ y) (hy : y ∈ ofFinset S5 S10) (hycomplete : IsComplete y) :
    ∃ z ∈ completions S5 S10 x, z ⊆ y

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma exist_completions_subset_of_complete (S5 S10 : Finset 𝓩) (x y : ChargeSpectrum 𝓩)    (hsubset : x  y) (hy : y  ofFinset S5 S10) (hycomplete : IsComplete y) :     z  completions S5 S10 x, z  y := by  by_cases hx : IsComplete x  · use x    simp_all  rw [Subset] at hsubset  dsimp [hasSubset] at hsubset  match x, y with  | x1, x2, x3, x4, y1, y2, y3, y4 =>  simp [IsComplete] at hycomplete  rw [Option.isSome_iff_exists, Option.isSome_iff_exists] at hycomplete  obtain y1, rfl := hycomplete.1  obtain y2, rfl := hycomplete.2.1  rw [Finset.eq_empty_iff_forall_notMem, Finset.eq_empty_iff_forall_notMem] at hycomplete  simp at hycomplete  obtain z3, hz3 := hycomplete.1  obtain z4, hz4 := hycomplete.2  simp [mem_ofFinset_iff] at hy  have hz3Mem : z3  S5 := by    apply hy.2.2.1    simp_all  have hz4Mem : z4  S10 := by    apply hy.2.2.2    simp_all  have hy1' : some y1  if x1.isSome = true then {x1} else      Multiset.map (fun y => some y) S5.val := by    match x1 with    | none => simpa using hy.1    | some a => simp_all  have hy2' : some y2  if x2.isSome = true then {x2} else      Multiset.map (fun y => some y) S5.val := by    match x2 with    | none => simpa using hy.2.1    | some a => simp_all  simp_all  refine ⟨⟨y1, y2, if x3 =then {z3} else x3, if x4 =then {z4} else x4, ?_, ?_  · rw [mem_completions_iff]    refine by simp_all, by simp_all, ?_, ?_    · split_ifs with h3 <;> simp_all    · split_ifs with h4 <;> simp_all  · rw [Subset]    dsimp [hasSubset]    refine by simp_all, by simp_all, ?_, ?_    · split_ifs with h3 <;> simp_all [Finset.singleton_subset_iff]    · split_ifs with h4 <;> simp_all [Finset.singleton_subset_iff]
Project
Physlib
License
Apache-2.0
Commit
dd43e9e65791
Source
Physlib/Particles/SuperSymmetry/SU5/ChargeSpectrum/Completions.lean:303-348

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