OAI/Topology/EilenbergGanea/Regularization.lean
63 declarations, 0 contain sorry, 0 declared as axioms
Localized regularization for finite SU(2) systems.
- theorem
OAI.EilenbergGanea.complex_smul_decomposeline 25 - theorem
OAI.EilenbergGanea.realLinear_map_complex_smulline 34Source documentation
Commuting with a non-real scalar forces a real-linear map to be complex-linear.
theorem realLinear_map_complex_smul (f : V →ₗ[ℝ] V) (z : ℂ) (hz : z.im ≠ 0) (hf : ∀ x, f (z • x) = z • f x) (w : ℂ) (x : V) : f (w • x) = w • f x := by … - theorem
OAI.EilenbergGanea.complexLinear_of_commutes_nonrealline 45 - theorem
OAI.EilenbergGanea.rotation_commutant_blocksline 62Source documentation
A real derivative commuting with the fixed-plus-rotating representation has no mixed blocks. Its normal block is complex-linear.
theorem rotation_commutant_blocks (L : A × V →ₗ[ℝ] A × V) (z : ℂ) (hz : z.im ≠ 0) (h : ∀ a v, L (a, z • v) = ((L (a, v)).1, z • (L (a, v)).2)) : ∃ (T : A →ₗ[ℝ] A) (N : V →ₗ[ℂ] V), L = T.prodMap (N.restrictScalars ℝ) := by … - theorem
OAI.EilenbergGanea.complex_real_det_nonnegline 115 - theorem
OAI.EilenbergGanea.complex_real_det_posline 120 - theorem
OAI.EilenbergGanea.exists_small_simultaneous_regular_shiftline 132Source documentation
A single real scalar regularizes any finite collection of normal blocks.
theorem exists_small_simultaneous_regular_shift {ι : Type*} [Fintype ι] (N : ι → Module.End ℂ V) {ε : ℝ} (hε : 0 < ε) : ∃ s : ℝ, |s| < ε ∧ ∀ i, IsUnit (N i + algebraMap ℂ (Module.End ℂ V) (s : ℂ)) := by … - theorem
OAI.EilenbergGanea.equivariant_fderivline 157 - theorem
OAI.EilenbergGanea.equivariant_fderiv_detline 168 - def
OAI.EilenbergGanea.normalProjectionline 183Source documentation
The complement of the fixed subspace.
def normalProjection : (A × V) →L[ℝ] (A × V) := …
- theorem
OAI.EilenbergGanea.normalProjection_applyline 186 - def
OAI.EilenbergGanea.normalShiftline 188 - theorem
OAI.EilenbergGanea.normalShift_contDiffline 190 - theorem
OAI.EilenbergGanea.normalShift_fderivline 195 - theorem
OAI.EilenbergGanea.normalShift_fixedline 199 - def
OAI.EilenbergGanea.scalarRotationline 204 - theorem
OAI.EilenbergGanea.scalarRotation_applyline 208 - theorem
OAI.EilenbergGanea.fixed_fderiv_blocksline 212Source documentation
At a fixed point the derivative splits with a complex-linear normal block.
theorem fixed_fderiv_blocks (f : A × V → A × V) (hf : Differentiable ℝ f) (z : ℂˣ) (hz : (z : ℂ).im ≠ 0) (he : ∀ q, f (scalarRotation z q) = scalarRotation z (f q)) (a : A) : ∃ (T : A →ₗ[ℝ] A) (N : V →ₗ[ℂ] V), (fderiv ℝ f (a, 0)).toLinearMap = T.prodMap (N.restrictScalars ℝ) := by …Mentions: OAI.EilenbergGanea.scalarRotation
- theorem
OAI.EilenbergGanea.normalShift_fixed_detline 225Source documentation
Scalar shifts have the claimed fixed-block Jacobian, with no chart convention.
theorem normalShift_fixed_det (f : A × V → A × V) (hf : Differentiable ℝ f) (a : A) (T : A →ₗ[ℝ] A) (N : V →ₗ[ℂ] V) (h : (fderiv ℝ f (a, 0)).toLinearMap = T.prodMap (N.restrictScalars ℝ)) (s : ℝ) : (fderiv ℝ (normalShift f s) (a, 0)).det = T.det * ((N + algebraMap ℂ (Module.End ℂ V) (s : ℂ)).restrictScalars ℝ).det := by …Mentions: OAI.EilenbergGanea.normalShift
- def
OAI.EilenbergGanea.fixedRestrictionline 249 - theorem
OAI.EilenbergGanea.fixedRestriction_fderivline 252 - theorem
OAI.EilenbergGanea.exists_normalShift_regular_fixedline 267Source documentation
Simultaneously regularize the finite fixed fiber, retaining its tangent sign.
theorem exists_normalShift_regular_fixed (f : A × V → A × V) (hf : Differentiable ℝ f) (z : ℂˣ) (hz : (z : ℂ).im ≠ 0) (he : ∀ q, f (scalarRotation z q) = scalarRotation z (f q)) (S : Finset A) (c : ℝ) (hc : c ≠ 0) (hT : ∀ a ∈ S, (fderiv ℝ (fixedRestriction f) a).det = c) (ε : ℝ) (hε : 0 < ε) : ∃ s : ℝ, |s| < ε ∧ ∀ a ∈ S, (fderiv ℝ (normalShift f s) (a, 0)).det ≠ 0 ∧ (0 < (fderiv ℝ (normalShift f s) (a, 0)).det ↔ 0 < c) := by …Mentions: OAI.EilenbergGanea.scalarRotation, OAI.EilenbergGanea.fixedRestriction, OAI.EilenbergGanea.normalShift
- def
OAI.EilenbergGanea.linearPerturbationline 298 - def
OAI.EilenbergGanea.linearPerturbationDerivativeline 301 - theorem
OAI.EilenbergGanea.linearPerturbation_hasFDerivAtline 306 - def
OAI.EilenbergGanea.linearSolvedParameterline 315 - theorem
OAI.EilenbergGanea.linearSolvedParameter_outsideline 320 - theorem
OAI.EilenbergGanea.inverse_apply_cancelline 326 - theorem
OAI.EilenbergGanea.apply_inverse_cancelline 330 - theorem
OAI.EilenbergGanea.linearSolvedParameter_rootline 334 - theorem
OAI.EilenbergGanea.linearSolvedParameter_differentiableAtline 350 - theorem
OAI.EilenbergGanea.linearSolvedParameter_fderiv_outsideline 368 - theorem
OAI.EilenbergGanea.linearSolvedParameter_differential_relationline 380 - theorem
OAI.EilenbergGanea.linearSolvedParameter_recovers_rootline 409 - theorem
OAI.EilenbergGanea.linearSolvedParameter_criticalline 429 - theorem
OAI.EilenbergGanea.ae_regular_linear_parametersline 469Source documentation
Transversality with source-dependent linear parameter blocks, including finite equivariant bump perturbations. Only invertibility of a single active block is required at each root.
theorem ae_regular_linear_parameters [MeasurableSpace E] [BorelSpace E] (μ : MeasureTheory.Measure (ι → E)) [μ.IsAddHaarMeasure] (f : E → E) (T : ι → E → (E →L[ℝ] E)) (s : Set E) (hf : ∀ x ∈ s, DifferentiableAt ℝ f x) (hT : ∀ i x, x ∈ s → DifferentiableAt ℝ (T i) x) : ∀ᵐ p ∂μ, ∀ x ∈ s, linearPerturbation f T x p = 0 → (∃ i, IsUnit (T i x)) → (linearPerturbationDerivative f T x p).det ≠ 0 := by …Mentions: OAI.EilenbergGanea.linearPerturbation, OAI.EilenbergGanea.linearPerturbationDerivative
- def
OAI.EilenbergGanea.equivariantBumpOperatorline 514 - theorem
OAI.EilenbergGanea.representation_cancelline 518 - theorem
OAI.EilenbergGanea.representation_mul_applyline 525 - theorem
OAI.EilenbergGanea.equivariantBumpOperator_equivariantline 528 - theorem
OAI.EilenbergGanea.equivariantBumpOperator_contDiffline 542 - theorem
OAI.EilenbergGanea.unit_smul_equivline 548 - theorem
OAI.EilenbergGanea.equivariantBumpOperator_isUnitline 556 - theorem
OAI.EilenbergGanea.free_orbit_disjoint_neighborhoodline 574Source documentation
A free orbit for a finite linear action has a neighborhood with pairwise disjoint translates. No isometry hypothesis or metric constants are needed.
theorem free_orbit_disjoint_neighborhood (ρ : G →* E ≃L[ℝ] E) (x : E) (hx : ∀ g : G, ρ g x = x → g = 1) (W : Set E) (hW : IsOpen W) (hxW : x ∈ W) : ∃ V : Set E, IsOpen V ∧ x ∈ V ∧ V ⊆ W ∧ Pairwise fun g h : G => Disjoint (ρ g '' V) (ρ h '' V) := by … - theorem
OAI.EilenbergGanea.free_orbit_smooth_bumpline 611Source documentation
The bump family used in the free part of the localized-degree argument. Its complete closed support has disjoint translates, so each active parameter block is invertible.
theorem free_orbit_smooth_bump (ρ : G →* E ≃L[ℝ] E) (x : E) (hx : ∀ g : G, ρ g x = x → g = 1) (W : Set E) (hW : IsOpen W) (hxW : x ∈ W) : ∃ b : E → ℝ, ContDiff ℝ ∞ b ∧ HasCompactSupport b ∧ tsupport b ⊆ W ∧ b x = 1 ∧ Pairwise fun g h : G => Disjoint (ρ g '' tsupport b) (ρ h '' tsupport b) := by … - theorem
OAI.EilenbergGanea.compact_root_good_stabilityline 631 - theorem
OAI.EilenbergGanea.compact_free_bump_familyline 651 - theorem
OAI.EilenbergGanea.linearPerturbation_contDiffline 683 - theorem
OAI.EilenbergGanea.linearPerturbationDerivative_continuousline 692 - theorem
OAI.EilenbergGanea.exists_regular_linear_perturbationline 705Source documentation
A finite linear bump family regularizes all roots on a compact set, provided it has an invertible block at every initially critical root. The parameters can be chosen in any prescribed neighborhood of zero.
theorem exists_regular_linear_perturbation (μ : MeasureTheory.Measure (ι → E)) [μ.IsAddHaarMeasure] (f : E → E) (T : ι → E → (E →L[ℝ] E)) (hf : ContDiff ℝ ∞ f) (hT : ∀ i, ContDiff ℝ ∞ (T i)) (K : Set E) (hK : IsCompact K) (hcover : ∀ x ∈ K, f x = 0 → (fderiv ℝ f x).det = 0 → ∃ i, IsUnit (T i x)) (U : Set (ι → E)) (hU : U ∈ 𝓝 0) : ∃ p ∈ U, ∀ x ∈ K, linearPerturbation f T x p = 0 → (linearPerturbationDerivative f T x p).det ≠ 0 := by …Mentions: OAI.EilenbergGanea.linearPerturbation, OAI.EilenbergGanea.linearPerturbationDerivative
- theorem
OAI.EilenbergGanea.equivariantBumpOperator_eventually_zero_outsideline 763 - theorem
OAI.EilenbergGanea.exists_equivariant_regular_perturbationline 787Source documentation
The free-action regularization step. Critical roots must lie in the free locus, but already regular fixed roots need not. The perturbation is unchanged outside any chosen invariant open neighborhood of the critical roots.
theorem exists_equivariant_regular_perturbation (ρ : G →* E ≃L[ℝ] E) (f : E → E) (hf : ContDiff ℝ ∞ f) (heq : ∀ g x, f (ρ g x) = ρ g (f x)) (K W : Set E) (hK : IsCompact K) (hW : IsOpen W) (hinv : ∀ g x, x ∈ W → ρ g x ∈ W) (hcritical : ∀ x ∈ K, f x = 0 → (fderiv ℝ f x).det = 0 → x ∈ W ∧ ∀ g : G, ρ g x = x → g = 1) (ε : ℝ) (hε : 0 < ε) : ∃ g : E → E, ContDiff ℝ ∞ g ∧ (∀ a x, g (ρ a x) = ρ a (g x)) ∧ (∀ x ∉ W, g =ᶠ[𝓝 x] f) ∧ (∀ x ∈ K, ‖g x - f x‖ < ε) ∧ ∀ x ∈ K, g x = 0 → (fderiv ℝ g x).det ≠ 0 := by … - def
OAI.EilenbergGanea.scalarRotationRepresentationline 860 - theorem
OAI.EilenbergGanea.scalarRotationRepresentation_applyline 874 - theorem
OAI.EilenbergGanea.scalarRotation_freeline 878 - theorem
OAI.EilenbergGanea.normalShift_equivariantline 892 - theorem
OAI.EilenbergGanea.exists_fixed_free_regularizationline 904Source documentation
The full fixed-plus-free regularization step in fixed/normal coordinates. Unlike an assumed transversality interface, this is assembled from the finite normal spectrum argument and explicit free-orbit bump parameters above.
theorem exists_fixed_free_regularization (χ : G →* ℂˣ) (hχ : Function.Injective χ) (a₀ : G) (ha₀ : (χ a₀ : ℂ).im ≠ 0) (f : A × V → A × V) (hf : ContDiff ℝ ∞ f) (he : ∀ g q, f (scalarRotationRepresentation χ g q) = scalarRotationRepresentation χ g (f q)) (K : Set (A × V)) (hK : IsCompact K) (S : Finset A) (hS : ∀ a, (a, 0) ∈ K → f (a, 0) = 0 → a ∈ S) (c : ℝ) (hc : c ≠ 0) (hT : ∀ a ∈ S, (fderiv ℝ (fixedRestriction f) a).det = c) (ε : ℝ) (hε : 0 < ε) : ∃ g : A × V → A × V, ContDiff ℝ ∞ g ∧ (∀ a q, g (scalarRotationRepresentation χ a q) = …Mentions: OAI.EilenbergGanea.scalarRotationRepresentation, OAI.EilenbergGanea.fixedRestriction
- def
OAI.EilenbergGanea.invariantSubtypeActionline 979 - theorem
OAI.EilenbergGanea.signed_finite_action_nonzeroline 985 - theorem
OAI.EilenbergGanea.exists_regular_inverse_patchline 1044Source comment
A nonsingular derivative supplies an open inverse patch, without assuming that the map is proper or globally injective.theorem exists_regular_inverse_patch (f : E → E) {x : E} (hf : ContDiffAt ℝ 1 f x) (hd : (fderiv ℝ f x).det ≠ 0) : ∃ V : Set E, IsOpen V ∧ x ∈ V ∧ InjOn f V ∧ IsOpen (f '' V) := by … - theorem
OAI.EilenbergGanea.regular_fiber_isDiscreteline 1062Source comment
A regular level set is discrete. Only smoothness at the level set is required.theorem regular_fiber_isDiscrete (f : E → E) (y : E) (K : Set E) (hf : ∀ x ∈ K, f x = y → ContDiffAt ℝ 1 f x) (hd : ∀ x ∈ K, f x = y → (fderiv ℝ f x).det ≠ 0) : IsDiscrete (K ∩ f ⁻¹' {y}) := by … - theorem
OAI.EilenbergGanea.compact_regular_fiber_finiteline 1079Source comment
Compact regular fibers are finite, in the form needed by the signed count formula after regularization.theorem compact_regular_fiber_finite (f : E → E) (y : E) (K : Set E) (hK : IsCompact K) (hf : ContinuousOn f K) (hs : ∀ x ∈ K, f x = y → ContDiffAt ℝ 1 f x) (hd : ∀ x ∈ K, f x = y → (fderiv ℝ f x).det ≠ 0) : (K ∩ f ⁻¹' {y}).Finite := by … - theorem
OAI.EilenbergGanea.exists_regularization_nonzero_countline 1101Source documentation
The localized noncancellation part of degree, now for actual regular perturbations of a smooth map, not an assumed finite-orbit-count interface.
theorem exists_regularization_nonzero_count {p : ℕ} [Fact p.Prime] (hG : IsPGroup p G) (χ : G →* ℂˣ) (hχ : Function.Injective χ) (a₀ : G) (ha₀ : (χ a₀ : ℂ).im ≠ 0) (f : A × V → A × V) (hf : ContDiff ℝ ∞ f) (he : ∀ a q, f (scalarRotationRepresentation χ a q) = scalarRotationRepresentation χ a (f q)) (K : Set (A × V)) (hK : IsCompact K) (hKi : ∀ a q, q ∈ K → scalarRotationRepresentation χ a q ∈ K) (L : Set (A × V)) (hL : IsCompact L) (hKL : K ⊆ L) (S : Finset A) (hS : ∀ a, (a, 0) ∈ L → f (a, 0) = 0 → a ∈ S) (hex : ∃ a, (a, 0) ∈ K ∧ f (a, 0) = 0) (hSp : S.card < p) (c : ℝ) (hc : c ≠ 0) …