OAI/Topology/EilenbergGanea/IntegralDegree.lean
43 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.EilenbergGanea.compact_selected_fiberline 24 - theorem
OAI.EilenbergGanea.exists_constant_jacobian_sign_patchline 41Source comment
The determinant retains its sign on a sufficiently small neighborhood of a regular point.theorem exists_constant_jacobian_sign_patch (f : E → E) {x : E} (hf : ContDiff ℝ 1 f) (hd : (fderiv ℝ f x).det ≠ 0) (W : Set E) (hW : IsOpen W) (hxW : x ∈ W) : ∃ V : Set E, IsOpen V ∧ x ∈ V ∧ V ⊆ W ∧ InjOn f V ∧ IsOpen (f '' V) ∧ ∀ z ∈ V, (fderiv ℝ f z).det = (if 0 < (fderiv ℝ f x).det then 1 else -1) * |(fderiv ℝ f z).det| := by … - theorem
OAI.EilenbergGanea.disjoint_regular_inverse_patchesline 82Source comment
Finitely many regular roots admit pairwise disjoint inverse neighborhoods, all contained in the prescribed isolating open set.theorem disjoint_regular_inverse_patches (f : E → E) (hf : ContDiff ℝ 1 f) (U : Set E) (hU : IsOpen U) (S : Set E) (hS : S.Finite) (hSU : S ⊆ U) (hd : ∀ x ∈ S, (fderiv ℝ f x).det ≠ 0) : ∃ V : S → Set E, (∀ x, IsOpen (V x) ∧ (x : E) ∈ V x ∧ V x ⊆ U ∧ InjOn f (V x) ∧ IsOpen (f '' V x) ∧ ∀ z ∈ V x, (fderiv ℝ f z).det = (if 0 < (fderiv ℝ f x).det then 1 else -1) * |(fderiv ℝ f z).det|) ∧ Pairwise (fun x y => Disjoint (V x) (V y)) := by … - theorem
OAI.EilenbergGanea.exists_target_neighborhood_of_patchesline 105 - def
OAI.EilenbergGanea.jacobianIntegralline 146Source comment
The integral representative of local degree against a target bump.def jacobianIntegral (f : E → E) (U : Set E) (ρ : E → ℝ) : ℝ := …
- theorem
OAI.EilenbergGanea.jacobianIntegral_of_injOnline 150Source comment
The signed change-of-variables formula on one regular inverse patch.theorem jacobianIntegral_of_injOn (f : E → E) (U : Set E) (hU : MeasurableSet U) (hf : ∀ x ∈ U, DifferentiableAt ℝ f x) (hinj : InjOn f U) (ρ : E → ℝ) (σ : ℝ) (hσ : ∀ x ∈ U, (fderiv ℝ f x).det = σ * |(fderiv ℝ f x).det|) : jacobianIntegral μ f U ρ = σ * ∫ y in f '' U, ρ y ∂μ := by …Mentions: OAI.EilenbergGanea.jacobianIntegral
- theorem
OAI.EilenbergGanea.jacobianIntegral_inverse_patchline 167Source comment
If the normalized target bump is supported inside an inverse patch, the patch contributes exactly the sign of its Jacobian.theorem jacobianIntegral_inverse_patch (f : E → E) (U : Set E) (hU : MeasurableSet U) (hf : ∀ x ∈ U, DifferentiableAt ℝ f x) (hinj : InjOn f U) (ρ : E → ℝ) (σ : ℝ) (hσ : ∀ x ∈ U, (fderiv ℝ f x).det = σ * |(fderiv ℝ f x).det|) (hsupp : Function.support ρ ⊆ f '' U) (hunit : ∫ y, ρ y ∂μ = 1) : jacobianIntegral μ f U ρ = σ := by …Mentions: OAI.EilenbergGanea.jacobianIntegral
- theorem
OAI.EilenbergGanea.jacobianIntegral_sum_patchesline 183 - theorem
OAI.EilenbergGanea.jacobianIntegral_eq_sum_signsline 203Source comment
The regular signed-count formula, once disjoint inverse patches and a small normalized target bump have been chosen.theorem jacobianIntegral_eq_sum_signs {ι : Type*} [Fintype ι] (f : E → E) (U : Set E) (hU : MeasurableSet U) (V : ι → Set E) (hV : ∀ i, MeasurableSet (V i)) (hsub : ∀ i, V i ⊆ U) (hdisj : Pairwise (fun i j => Disjoint (V i) (V j))) (hf : ∀ x ∈ U, DifferentiableAt ℝ f x) (hinj : ∀ i, InjOn f (V i)) (ρ : E → ℝ) (σ : ι → ℝ) (hσ : ∀ i x, x ∈ V i → (fderiv ℝ f x).det = σ i * |(fderiv ℝ f x).det|) (hcovered : ∀ x ∈ U, ρ (f x) ≠ 0 → ∃ i, x ∈ V i) (hsupp : ∀ i, Function.support ρ ⊆ f '' V i) (hunit : ∫ y, ρ y ∂μ = 1) (hint : IntegrableOn (fun x => (fderiv ℝ f x).det * ρ (f x)) U μ) : jacobianIntegral μ f U ρ = ∑ i, σ i := by …Mentions: OAI.EilenbergGanea.jacobianIntegral
- theorem
OAI.EilenbergGanea.jacobianIntegral_eq_zero_of_no_preimageline 224 - theorem
OAI.EilenbergGanea.exists_normalized_smooth_bumpline 241Source documentation
A normalized smooth target bump can be supported in any prescribed neighborhood of the target.
theorem exists_normalized_smooth_bump (y : E) (N : Set E) (hN : IsOpen N) (hy : y ∈ N) : ∃ ρ : E → ℝ, ContDiff ℝ ∞ ρ ∧ HasCompactSupport ρ ∧ tsupport ρ ⊆ N ∧ (∫ z, ρ z ∂μ) = 1 := by … - theorem
OAI.EilenbergGanea.regular_signed_count_neighborhoodline 255Source documentation
One target neighborhood works for every normalized continuous density. This uniformity lets the same density be used throughout a localized homotopy.
theorem regular_signed_count_neighborhood (f : E → E) (hf : ContDiff ℝ 1 f) (y : E) (U : Set E) (hU : IsOpen U) (hc : IsCompact (closure U)) (hb : ∀ x ∈ frontier U, f x ≠ y) (s : Finset E) (hs : ∀ x, x ∈ s ↔ x ∈ U ∧ f x = y) (hd : ∀ x ∈ s, (fderiv ℝ f x).det ≠ 0) : ∃ N : Set E, IsOpen N ∧ y ∈ N ∧ ∀ ρ : E → ℝ, Continuous ρ → Function.support ρ ⊆ N → (∫ z, ρ z ∂μ) = 1 → jacobianIntegral μ f U ρ = ∑ x ∈ s, (if 0 < (fderiv ℝ f x).det then 1 else -1) := by …Mentions: OAI.EilenbergGanea.jacobianIntegral
- theorem
OAI.EilenbergGanea.regular_signed_count_densityline 289Source documentation
The analytic representative has exactly the expected signed regular count for a sufficiently concentrated normalized target bump.
theorem regular_signed_count_density (f : E → E) (hf : ContDiff ℝ 1 f) (y : E) (U : Set E) (hU : IsOpen U) (hc : IsCompact (closure U)) (hb : ∀ x ∈ frontier U, f x ≠ y) (s : Finset E) (hs : ∀ x, x ∈ s ↔ x ∈ U ∧ f x = y) (hd : ∀ x ∈ s, (fderiv ℝ f x).det ≠ 0) : ∃ ρ : E → ℝ, ContDiff ℝ ∞ ρ ∧ HasCompactSupport ρ ∧ (∫ z, ρ z ∂μ) = 1 ∧ jacobianIntegral μ f U ρ = ∑ x ∈ s, (if 0 < (fderiv ℝ f x).det then 1 else -1) := by …Mentions: OAI.EilenbergGanea.jacobianIntegral
- def
OAI.EilenbergGanea.coordinateBasisline 327Source documentation
Standard coordinate basis as a tuple of vectors.
def coordinateBasis (n : ℕ) : Fin n → (Fin n → ℝ) := fun i => Pi.single i 1
- def
OAI.EilenbergGanea.formFluxline 330Source documentation
The signed coordinate coefficient of an n-form in dimension n+1.
def formFlux {n : ℕ} (form : (Fin (n + 1) → ℝ) → (Fin (n + 1) → ℝ) [⋀^Fin n]→L[ℝ] ℝ) (i : Fin (n + 1)) (x : Fin (n + 1) → ℝ) : ℝ := … - theorem
OAI.EilenbergGanea.integral_extDeriv_boxline 338Source documentation
Stokes on a rectangular box, as a direct consequence of Mathlib's Bochner divergence theorem. No smoothness of an arbitrary open-set boundary is assumed in the later application.
theorem integral_extDeriv_box {n : ℕ} (form : (Fin (n + 1) → ℝ) → (Fin (n + 1) → ℝ) [⋀^Fin n]→L[ℝ] ℝ) (hform : Differentiable ℝ form) (a b : Fin (n + 1) → ℝ) (hab : a ≤ b) (hint : IntegrableOn (fun x => extDeriv form x (coordinateBasis (n + 1))) (Icc a b)) : (∫ x in Icc a b, extDeriv form x (coordinateBasis (n + 1))) = ∑ i : Fin (n + 1), ((∫ x in Icc (a ∘ i.succAbove) (b ∘ i.succAbove), formFlux form i (i.insertNth (b i) x)) - ∫ x in Icc (a ∘ i.succAbove) (b ∘ i.succAbove), formFlux form i (i.insertNth (a i) x)) := by …Mentions: OAI.EilenbergGanea.coordinateBasis, OAI.EilenbergGanea.formFlux
- theorem
OAI.EilenbergGanea.extDeriv_topForm_eq_zeroline 368Source documentation
Every top-degree differential form on Euclidean n-space is closed.
theorem extDeriv_topForm_eq_zero {n : ℕ} (φ : (Fin n → ℝ) → (Fin n → ℝ) [⋀^Fin n]→L[ℝ] ℝ) (x : Fin n → ℝ) : extDeriv φ x = 0 := by … - theorem
OAI.EilenbergGanea.extDeriv_pullback_topForm_eq_zeroline 378Source documentation
The pullback of a top form by a C² map is closed (the Piola identity).
theorem extDeriv_pullback_topForm_eq_zero {n : ℕ} {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] (φ : (Fin n → ℝ) → (Fin n → ℝ) [⋀^Fin n]→L[ℝ] ℝ) (hφ : Differentiable ℝ φ) (F : E → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (x : E) : extDeriv (fun y => (φ (F y)).compContinuousLinearMap (fderiv ℝ F y)) x = 0 := by … - theorem
OAI.EilenbergGanea.closedForm_boundary_boxline 389Source documentation
A closed form has total signed flux zero across the faces of a box.
theorem closedForm_boundary_box {n : ℕ} (form : (Fin (n + 1) → ℝ) → (Fin (n + 1) → ℝ) [⋀^Fin n]→L[ℝ] ℝ) (hform : Differentiable ℝ form) (hclosed : ∀ x, extDeriv form x = 0) (a b : Fin (n + 1) → ℝ) (hab : a ≤ b) : (∑ i : Fin (n + 1), ((∫ x in Icc (a ∘ i.succAbove) (b ∘ i.succAbove), formFlux form i (i.insertNth (b i) x)) - ∫ x in Icc (a ∘ i.succAbove) (b ∘ i.succAbove), formFlux form i (i.insertNth (a i) x))) = 0 := by …Mentions: OAI.EilenbergGanea.formFlux
- theorem
OAI.EilenbergGanea.closedForm_opposite_facesline 405Source documentation
The coefficient integrals on two opposing faces of a box agree for a closed form whose flux on all other faces is zero. This is the analytic homotopy-invariance step with the sides outside the support of the form.
theorem closedForm_opposite_faces {n : ℕ} (form : (Fin (n + 1) → ℝ) → (Fin (n + 1) → ℝ) [⋀^Fin n]→L[ℝ] ℝ) (hform : Differentiable ℝ form) (hclosed : ∀ x, extDeriv form x = 0) (a b : Fin (n + 1) → ℝ) (hab : a ≤ b) (k : Fin (n + 1)) (hside : ∀ i, i ≠ k → ∀ x ∈ Icc (a ∘ i.succAbove) (b ∘ i.succAbove), formFlux form i (i.insertNth (b i) x) = 0 ∧ formFlux form i (i.insertNth (a i) x) = 0) : (∫ x in Icc (a ∘ k.succAbove) (b ∘ k.succAbove), formFlux form k (k.insertNth (b k) x)) = ∫ x in Icc (a ∘ k.succAbove) (b ∘ k.succAbove), formFlux form k (k.insertNth (a k) x) := by …Mentions: OAI.EilenbergGanea.formFlux
- def
OAI.EilenbergGanea.coordinateVolumeFormline 434Source documentation
Determinant form with the standard coordinate orientation.
def coordinateVolumeForm (n : ℕ) : (Fin n → ℝ) [⋀^Fin n]→L[ℝ] ℝ := …
- theorem
OAI.EilenbergGanea.differentiable_pullback_topFormline 438Source documentation
Smooth pullbacks of a top form are differentiable.
theorem differentiable_pullback_topForm {n : ℕ} {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] (φ : (Fin n → ℝ) → (Fin n → ℝ) [⋀^Fin n]→L[ℝ] ℝ) (hφ : Differentiable ℝ φ) (F : E → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) : Differentiable ℝ (fun y => (φ (F y)).compContinuousLinearMap (fderiv ℝ F y)) := by … - theorem
OAI.EilenbergGanea.indicator_eventuallyEq_or_zeroline 451Source documentation
Restricting a field to an open set whose boundary avoids its topological support is locally either the original field or zero.
theorem indicator_eventuallyEq_or_zero {X A : Type*} [TopologicalSpace X] [Zero A] (U : Set X) (hU : IsOpen U) (f : X → A) (hb : Disjoint (frontier U) (tsupport f)) (x : X) : U.indicator f =ᶠ[nhds x] f ∨ U.indicator f =ᶠ[nhds x] fun _ => 0 := by … - theorem
OAI.EilenbergGanea.localized_closedFormline 473Source documentation
Excision at the differential-form level: cutting off at an arbitrary isolating open-set boundary preserves differentiability and closedness.
theorem localized_closedForm {n : ℕ} {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] (form : E → E [⋀^Fin n]→L[ℝ] ℝ) (hform : Differentiable ℝ form) (hclosed : ∀ x, extDeriv form x = 0) (U : Set E) (hU : IsOpen U) (hb : Disjoint (frontier U) (tsupport form)) : Differentiable ℝ (U.indicator form) ∧ ∀ x, extDeriv (U.indicator form) x = 0 := by … - theorem
OAI.EilenbergGanea.pullback_topForm_opposite_facesline 493Source documentation
Homotopy-invariant integrals of a pulled-back target top form, with no unproved mapping-degree primitive.
theorem pullback_topForm_opposite_faces {n : ℕ} (φ : (Fin n → ℝ) → (Fin n → ℝ) [⋀^Fin n]→L[ℝ] ℝ) (hφ : Differentiable ℝ φ) (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (a b : Fin (n + 1) → ℝ) (hab : a ≤ b) (k : Fin (n + 1)) (hside : ∀ i, i ≠ k → ∀ x ∈ Icc (a ∘ i.succAbove) (b ∘ i.succAbove), φ (F (i.insertNth (b i) x)) = 0 ∧ φ (F (i.insertNth (a i) x)) = 0) : (∫ x in Icc (a ∘ k.succAbove) (b ∘ k.succAbove), formFlux (fun y => (φ (F y)).compContinuousLinearMap (fderiv ℝ F y)) k (k.insertNth (b k) x)) = ∫ x in Icc (a ∘ k.succAbove) (b ∘ k.succAbove), formFlux (fun y => (φ (F y)).compContinuousLinearMap (fderiv ℝ F y)) …Mentions: OAI.EilenbergGanea.formFlux
- theorem
OAI.EilenbergGanea.coordinateVolumeForm_linearline 515Source documentation
Evaluation of the standard volume form is the ordinary linear determinant.
theorem coordinateVolumeForm_linear {n : ℕ} (L : (Fin n → ℝ) →L[ℝ] (Fin n → ℝ)) : coordinateVolumeForm n (fun i => L (coordinateBasis n i)) = L.det := by …Mentions: OAI.EilenbergGanea.coordinateVolumeForm, OAI.EilenbergGanea.coordinateBasis
- theorem
OAI.EilenbergGanea.formFlux_pullback_first_faceline 527Source documentation
At a temporal face, the pullback coefficient is precisely the signed Jacobian density of the corresponding slice.
theorem formFlux_pullback_first_face {n : ℕ} (ρ : (Fin n → ℝ) → ℝ) (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (t : ℝ) (x : Fin n → ℝ) (hF : DifferentiableAt ℝ F (Fin.cons t x)) : formFlux (fun y => ((ρ (F y)) • coordinateVolumeForm n).compContinuousLinearMap (fderiv ℝ F y)) 0 (Fin.cons t x) = (fderiv ℝ (fun z => F (Fin.cons t z)) x).det * ρ (F (Fin.cons t x)) := by …Mentions: OAI.EilenbergGanea.formFlux, OAI.EilenbergGanea.coordinateVolumeForm
- theorem
OAI.EilenbergGanea.jacobian_integral_homotopy_boxline 556Source documentation
Smooth homotopy invariance of the Jacobian integral against a target bump whose pullback vanishes on the spatial sides of a containing box.
theorem jacobian_integral_homotopy_box {n : ℕ} (ρ : (Fin n → ℝ) → ℝ) (hρ : Differentiable ℝ ρ) (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (t₀ t₁ : ℝ) (ht : t₀ ≤ t₁) (a b : Fin n → ℝ) (hab : a ≤ b) (hside : ∀ i : Fin (n + 1), i ≠ 0 → ∀ x ∈ Icc ((Fin.cons t₀ a : Fin (n + 1) → ℝ) ∘ i.succAbove) ((Fin.cons t₁ b : Fin (n + 1) → ℝ) ∘ i.succAbove), ρ (F (i.insertNth ((Fin.cons t₁ b : Fin (n + 1) → ℝ) i) x)) = 0 ∧ ρ (F (i.insertNth ((Fin.cons t₀ a : Fin (n + 1) → ℝ) i) x)) = 0) : (∫ x in Icc a b, (fderiv ℝ (fun z => F (Fin.cons t₁ z)) x).det * ρ (F (Fin.cons t₁ x))) = ∫ x in Icc a b, (fderiv ℝ (fun z => F (Fin.cons t₀ z)) x).det * … - theorem
OAI.EilenbergGanea.tsupport_pullback_density_subsetline 588Source documentation
The support of a pulled-back density lies above the support of the target bump. This provides the needed collar at an arbitrary isolating boundary.
theorem tsupport_pullback_density_subset {n : ℕ} {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] (ρ : (Fin n → ℝ) → ℝ) (F : E → (Fin n → ℝ)) (hF : Continuous F) : tsupport (fun y => ((ρ (F y)) • coordinateVolumeForm n).compContinuousLinearMap (fderiv ℝ F y)) ⊆ F ⁻¹' tsupport ρ := by …Mentions: OAI.EilenbergGanea.coordinateVolumeForm
- theorem
OAI.EilenbergGanea.jacobian_integral_homotopy_localized_boxline 602Source documentation
Localized homotopy invariance on an arbitrary open spatial set. The boundary collar is expressed by avoidance of the target bump, not by a smooth boundary assumption. The spatial box is only an integration device.
theorem jacobian_integral_homotopy_localized_box {n : ℕ} (ρ : (Fin n → ℝ) → ℝ) (hρ : Differentiable ℝ ρ) (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (U : Set (Fin n → ℝ)) (hU : IsOpen U) (hboundary : ∀ y : Fin (n + 1) → ℝ, (fun i => y i.succ) ∈ frontier U → F y ∉ tsupport ρ) (t₀ t₁ : ℝ) (ht : t₀ ≤ t₁) (a b : Fin n → ℝ) (hab : a ≤ b) (hbox : U ⊆ Icc a b) (hside : ∀ i : Fin (n + 1), i ≠ 0 → ∀ x ∈ Icc ((Fin.cons t₀ a : Fin (n + 1) → ℝ) ∘ i.succAbove) ((Fin.cons t₁ b : Fin (n + 1) → ℝ) ∘ i.succAbove), (fun j : Fin n => (i.insertNth ((Fin.cons t₁ b : Fin (n + 1) → ℝ) i) x : … - theorem
OAI.EilenbergGanea.jacobian_integral_homotopy_localizedline 669Source documentation
Homotopy invariance on a bounded open set, without selecting a box or requiring any shape or smoothness of its boundary.
theorem jacobian_integral_homotopy_localized {n : ℕ} (ρ : (Fin n → ℝ) → ℝ) (hρ : Differentiable ℝ ρ) (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (U : Set (Fin n → ℝ)) (hU : IsOpen U) (hUb : Bornology.IsBounded U) (hboundary : ∀ y : Fin (n + 1) → ℝ, (fun i => y i.succ) ∈ frontier U → F y ∉ tsupport ρ) (t₀ t₁ : ℝ) (ht : t₀ ≤ t₁) : (∫ x in U, (fderiv ℝ (fun z => F (Fin.cons t₁ z)) x).det * ρ (F (Fin.cons t₁ x))) = ∫ x in U, (fderiv ℝ (fun z => F (Fin.cons t₀ z)) x).det * ρ (F (Fin.cons t₀ x)) := by … - theorem
OAI.EilenbergGanea.jacobian_integral_homotopy_localized_intervalline 709Source documentation
Only boundary avoidance during the given interval is needed. Smooth saturation of the time coordinate turns it into the global collar hypothesis of the preceding Stokes argument, with the endpoints unchanged.
theorem jacobian_integral_homotopy_localized_interval {n : ℕ} (ρ : (Fin n → ℝ) → ℝ) (hρ : Differentiable ℝ ρ) (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (U : Set (Fin n → ℝ)) (hU : IsOpen U) (hUb : Bornology.IsBounded U) (hboundary : ∀ t ∈ Icc (0 : ℝ) 1, ∀ x ∈ frontier U, F (Fin.cons t x) ∉ tsupport ρ) : (∫ x in U, (fderiv ℝ (fun z => F (Fin.cons 1 z)) x).det * ρ (F (Fin.cons 1 x))) = ∫ x in U, (fderiv ℝ (fun z => F (Fin.cons 0 z)) x).det * ρ (F (Fin.cons 0 x)) := by … - theorem
OAI.EilenbergGanea.regular_count_persistsline 744Source documentation
A nonzero signed regular count cannot disappear under a smooth homotopy whose boundary avoids the target. All analytic degree ingredients are proved above; in particular this is not an assumed Brouwer-degree interface.
theorem regular_count_persists {n : ℕ} (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (y : Fin n → ℝ) (U : Set (Fin n → ℝ)) (hU : IsOpen U) (hc : IsCompact (closure U)) (hb : ∀ t ∈ Icc (0 : ℝ) 1, ∀ x ∈ frontier U, F (Fin.cons t x) ≠ y) (s : Finset (Fin n → ℝ)) (hs : ∀ x, x ∈ s ↔ x ∈ U ∧ F (Fin.cons 0 x) = y) (hd : ∀ x ∈ s, (fderiv ℝ (fun z => F (Fin.cons 0 z)) x).det ≠ 0) (hcount : (∑ x ∈ s, (if 0 < (fderiv ℝ (fun z => F (Fin.cons 0 z)) x).det then 1 else -1 : ℝ)) ≠ 0) : ∃ x ∈ U, F (Fin.cons 1 x) = y := by … - theorem
OAI.EilenbergGanea.regular_count_persists_finiteDimensionalline 819Source documentation
The analytic nonzero-count theorem is independent of a choice of linear coordinates. This form applies directly to finite products of quaternions.
theorem regular_count_persists_finiteDimensional (F : ℝ × E → E) (hF : ContDiff ℝ 2 F) (y : E) (U : Set E) (hU : IsOpen U) (hc : IsCompact (closure U)) (hb : ∀ t ∈ Icc (0 : ℝ) 1, ∀ x ∈ frontier U, F (t, x) ≠ y) (s : Finset E) (hs : ∀ x, x ∈ s ↔ x ∈ U ∧ F (0, x) = y) (hd : ∀ x ∈ s, (fderiv ℝ (fun z => F (0, z)) x).det ≠ 0) (hcount : (∑ x ∈ s, (if 0 < (fderiv ℝ (fun z => F (0, z)) x).det then 1 else -1 : ℝ)) ≠ 0) : ∃ x ∈ U, F (1, x) = y := by … - theorem
OAI.EilenbergGanea.regular_approximation_persistsline 901Source documentation
A regular perturbation at time zero can be propagated along an arbitrary boundary-root-free smooth homotopy. The perturbation need not be equivariant away from the initial time.
theorem regular_approximation_persists {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] (F : ℝ × E → E) (hF : ContDiff ℝ 2 F) (U : Set E) (hU : IsOpen U) (hc : IsCompact (closure U)) (hb : ∀ t ∈ Icc (0 : ℝ) 1, ∀ x ∈ frontier U, F (t, x) ≠ 0) (happrox : ∀ ε : ℝ, 0 < ε → ∃ g : E → E, ContDiff ℝ ∞ g ∧ (∀ x ∈ closure U, ‖g x - F (0, x)‖ < ε) ∧ ∃ s : Finset E, (∀ x, x ∈ s ↔ x ∈ closure U ∧ g x = 0) ∧ (∀ x ∈ s, (fderiv ℝ g x).det ≠ 0) ∧ (∑ x ∈ s, (if 0 < (fderiv ℝ g x).det then 1 else -1 : ℝ)) ≠ 0) : ∃ x ∈ U, F (1, x) = 0 := by … - theorem
OAI.EilenbergGanea.localized_word_root_persistsline 962Source documentation
Localized nonsingular-exponent word-map roots cannot disappear under a boundary-root-free smooth homotopy, even though the initial word map can have singular roots.
theorem localized_word_root_persists {m : ℕ} (w : Fin m → FreeGroup (Fin m)) (hB : (exponentMatrix w).det ≠ 0) (F : ℝ × ((Fin m → ℂ) × (Fin m → ℂ)) → ((Fin m → ℂ) × (Fin m → ℂ))) (hF : ContDiff ℝ 2 F) (hF0 : ∀ q, F (0, q) = splitWordMap w q) (U : Set ((Fin m → ℂ) × (Fin m → ℂ))) (hU : IsOpen U) (hc : IsCompact (closure U)) (hUi : ∀ z : ℂ, ‖z‖ = 1 → ∀ q ∈ closure U, (q.1, z • q.2) ∈ closure U) (h1 : (1, 0) ∈ U) (hb : ∀ t ∈ Icc (0 : ℝ) 1, ∀ x ∈ frontier U, F (t, x) ≠ 0) : ∃ x ∈ U, F (1, x) = 0 := by …Mentions: OAI.EilenbergGanea.exponentMatrix, OAI.EilenbergGanea.splitWordMap
- theorem
OAI.EilenbergGanea.jacobian_integral_moving_boxline 984Source documentation
Stokes localization in an arbitrary open subset of time times space. The two slices may be different; no regularity of the moving boundary is used.
theorem jacobian_integral_moving_box {n : ℕ} (ρ : (Fin n → ℝ) → ℝ) (hρ : Differentiable ℝ ρ) (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (C : Set (Fin (n + 1) → ℝ)) (hC : IsOpen C) (hboundary : ∀ y ∈ frontier C, F y ∉ tsupport ρ) (t₀ t₁ : ℝ) (ht : t₀ ≤ t₁) (a b : Fin n → ℝ) (hab : a ≤ b) (hbox : ∀ t, {x | (Fin.cons t x : Fin (n + 1) → ℝ) ∈ C} ⊆ Icc a b) (hside : ∀ i : Fin (n + 1), i ≠ 0 → ∀ x ∈ Icc ((Fin.cons t₀ a : Fin (n + 1) → ℝ) ∘ i.succAbove) ((Fin.cons t₁ b : Fin (n + 1) → ℝ) ∘ i.succAbove), i.insertNth ((Fin.cons t₁ b : Fin (n + 1) → ℝ) i) x ∉ C ∧ i.insertNth ((Fin.cons t₀ a : Fin (n + 1) → ℝ) i) x ∉ C) : … - theorem
OAI.EilenbergGanea.jacobian_integral_movingline 1049Source documentation
Box-free moving-domain Stokes, with arbitrary open moving slices contained in one bounded spatial set.
theorem jacobian_integral_moving {n : ℕ} (ρ : (Fin n → ℝ) → ℝ) (hρ : Differentiable ℝ ρ) (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (C : Set (Fin (n + 1) → ℝ)) (hC : IsOpen C) (hboundary : ∀ y ∈ frontier C, F y ∉ tsupport ρ) (hCb : Bornology.IsBounded {x : Fin n → ℝ | ∃ t : ℝ, Fin.cons t x ∈ C}) (t₀ t₁ : ℝ) (ht : t₀ ≤ t₁) : (∫ x in {x | (Fin.cons t₁ x : Fin (n + 1) → ℝ) ∈ C}, (fderiv ℝ (fun z => F (Fin.cons t₁ z)) x).det * ρ (F (Fin.cons t₁ x))) = ∫ x in {x | (Fin.cons t₀ x : Fin (n + 1) → ℝ) ∈ C}, (fderiv ℝ (fun z => F (Fin.cons t₀ z)) x).det * ρ (F (Fin.cons t₀ x)) := by … - theorem
OAI.EilenbergGanea.jacobian_integral_moving_intervalline 1090Source documentation
Smooth time saturation reduces the collar hypothesis to the actual time interval even for moving open domains.
theorem jacobian_integral_moving_interval {n : ℕ} (ρ : (Fin n → ℝ) → ℝ) (hρ : Differentiable ℝ ρ) (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (C : Set (Fin (n + 1) → ℝ)) (hC : IsOpen C) (hboundary : ∀ y ∈ frontier C, y 0 ∈ Icc (0 : ℝ) 1 → F y ∉ tsupport ρ) (hCb : Bornology.IsBounded {x : Fin n → ℝ | ∃ t ∈ Icc (0 : ℝ) 1, Fin.cons t x ∈ C}) : (∫ x in {x | (Fin.cons 1 x : Fin (n + 1) → ℝ) ∈ C}, (fderiv ℝ (fun z => F (Fin.cons 1 z)) x).det * ρ (F (Fin.cons 1 x))) = ∫ x in {x | (Fin.cons 0 x : Fin (n + 1) → ℝ) ∈ C}, (fderiv ℝ (fun z => F (Fin.cons 0 z)) x).det * ρ (F (Fin.cons 0 x)) := by … - theorem
OAI.EilenbergGanea.regular_count_persists_movingline 1130Source documentation
A nonzero signed count survives an arbitrary moving open set. The compact boundary slab hypothesis is satisfied by the fixed annulus in the quaternion application; no boundary triangulation or regular-value hypothesis is used along the homotopy.
theorem regular_count_persists_moving {n : ℕ} (F : (Fin (n + 1) → ℝ) → (Fin n → ℝ)) (hF : ContDiff ℝ 2 F) (y : Fin n → ℝ) (C : Set (Fin (n + 1) → ℝ)) (hC : IsOpen C) (hc₀ : IsCompact (closure {x | (Fin.cons 0 x : Fin (n + 1) → ℝ) ∈ C})) (hc₁ : IsCompact (closure {x | (Fin.cons 1 x : Fin (n + 1) → ℝ) ∈ C})) (hcB : IsCompact {q | q ∈ frontier C ∧ q 0 ∈ Icc (0 : ℝ) 1}) (hCb : Bornology.IsBounded {x : Fin n → ℝ | ∃ t ∈ Icc (0 : ℝ) 1, Fin.cons t x ∈ C}) (hb : ∀ q ∈ frontier C, q 0 ∈ Icc (0 : ℝ) 1 → F q ≠ y) (s : Finset (Fin n → ℝ)) (hs : ∀ x, x ∈ s ↔ Fin.cons 0 x ∈ C ∧ F (Fin.cons 0 x) = y) (hd : ∀ x ∈ s, (fderiv ℝ (fun z => F (Fin.cons 0 z)) x).det ≠ 0) (hcount : (∑ x ∈ s, (if 0 < (fderiv ℝ (fun z => F (Fin.cons 0 z)) x).det … - theorem
OAI.EilenbergGanea.regular_count_persists_moving_finiteDimensionalline 1200Source documentation
Coordinate-free moving-domain nonzero-count persistence.
theorem regular_count_persists_moving_finiteDimensional (F : ℝ × E → E) (hF : ContDiff ℝ 2 F) (y : E) (C : Set (ℝ × E)) (hC : IsOpen C) (hc₀ : IsCompact (closure {x | (0, x) ∈ C})) (hc₁ : IsCompact (closure {x | (1, x) ∈ C})) (hcB : IsCompact {q : ℝ × E | q ∈ frontier C ∧ q.1 ∈ Icc (0 : ℝ) 1}) (hCb : Bornology.IsBounded {x : E | ∃ t ∈ Icc (0 : ℝ) 1, (t, x) ∈ C}) (hb : ∀ q ∈ frontier C, q.1 ∈ Icc (0 : ℝ) 1 → F q ≠ y) (s : Finset E) (hs : ∀ x, x ∈ s ↔ (0, x) ∈ C ∧ F (0, x) = y) (hd : ∀ x ∈ s, (fderiv ℝ (fun z => F (0, z)) x).det ≠ 0) (hcount : (∑ x ∈ s, (if 0 < (fderiv ℝ (fun z => F (0, z)) x).det then 1 else -1 : ℝ)) ≠ 0) : ∃ x, (1, x) ∈ C ∧ F (1, x) = y := by … - theorem
OAI.EilenbergGanea.regular_approximation_persists_movingline 1315Source documentation
Arbitrarily small regular approximations at the initial slice suffice for moving-domain continuation. Uniform closeness is requested on the spatial projection of the boundary slab, not on an assumed fixed isolating domain.
theorem regular_approximation_persists_moving (F : ℝ × E → E) (hF : ContDiff ℝ 2 F) (C : Set (ℝ × E)) (hC : IsOpen C) (hc₀ : IsCompact (closure {x | (0, x) ∈ C})) (hc₁ : IsCompact (closure {x | (1, x) ∈ C})) (hcB : IsCompact {q : ℝ × E | q ∈ frontier C ∧ q.1 ∈ Icc (0 : ℝ) 1}) (hCb : Bornology.IsBounded {x : E | ∃ t ∈ Icc (0 : ℝ) 1, (t, x) ∈ C}) (hb : ∀ q ∈ frontier C, q.1 ∈ Icc (0 : ℝ) 1 → F q ≠ 0) (L : Set E) (hLB : ∀ q ∈ frontier C, q.1 ∈ Icc (0 : ℝ) 1 → q.2 ∈ L) (happrox : ∀ ε : ℝ, 0 < ε → ∃ g : E → E, ContDiff ℝ ∞ g ∧ (∀ x ∈ L, ‖g x - F (0, x)‖ < ε) ∧ ∃ s : Finset E, (∀ x, x ∈ s ↔ x ∈ closure {z | (0, z) ∈ C} ∧ g x = 0) ∧ … - theorem
OAI.EilenbergGanea.localized_word_root_persists_movingline 1382Source documentation
Full localized word-root persistence for moving open sets. Contains the singular pure-word initial maps used in the manuscript's finite-quotient step.
theorem localized_word_root_persists_moving {m : ℕ} (w : Fin m → FreeGroup (Fin m)) (hB : (exponentMatrix w).det ≠ 0) (F : ℝ × ((Fin m → ℂ) × (Fin m → ℂ)) → ((Fin m → ℂ) × (Fin m → ℂ))) (hF : ContDiff ℝ 2 F) (hF0 : ∀ q, F (0, q) = splitWordMap w q) (C : Set (ℝ × ((Fin m → ℂ) × (Fin m → ℂ)))) (hC : IsOpen C) (hc₀ : IsCompact (closure {x | (0, x) ∈ C})) (hc₁ : IsCompact (closure {x | (1, x) ∈ C})) (hcB : IsCompact {q | q ∈ frontier C ∧ q.1 ∈ Icc (0 : ℝ) 1}) (hCb : Bornology.IsBounded {x | ∃ t ∈ Icc (0 : ℝ) 1, (t, x) ∈ C}) (hUi : ∀ z : ℂ, ‖z‖ = 1 → ∀ q ∈ closure {x | (0, x) ∈ C}, (q.1, z • q.2) ∈ closure {x | (0, x) ∈ C}) (h1 : (0, (1, 0)) ∈ C) …Mentions: OAI.EilenbergGanea.exponentMatrix, OAI.EilenbergGanea.splitWordMap