Fredholm property and index of when is a bijection
ProvedFredholmBanach.isFredholm_index_of_bijective_coprodLet be or , let , be Banach spaces over , and let be a bounded linear map. Let be a linear subspace of finite codimension and a finite-dimensional linear subspace. If the map
is bijective, then is a Fredholm operator and
where .
This gives a way to recognize a Fredholm operator, and to read off its index, from a bijective map obtained by restricting to a subspace of finite codimension and adding a finite-dimensional subspace of the target. It is reusable for statements about Fredholm operators near a given one and about perturbations.
Formalization Note. is an arbitrary Submodule 𝕜 E (no closedness assumption) with FiniteDimensional 𝕜 (E ⧸ E₀); is a Submodule 𝕜 F with FiniteDimensional 𝕜 C. The map is (v.comp E₀.subtypeL).coprod C.subtypeL : E₀ × C →L[𝕜] F, and only its bijectivity as a function is assumed. Fredholm is Mathlib's ContinuousLinearMap.IsFredholm, and index is FredholmBanach.index (kernel minus cokernel, the opposite of Bourbaki's sign).
import Definitions.Def_FredholmBanach_Setting
namespace FredholmBanach
/-- Let `E₀ ⊆ E` have finite codimension and `C ⊆ F` be finite-dimensional. If
`(x, c) ↦ v x + c` is a bijection `E₀ × C → F`, then `v` is Fredholm and
`index v = dim (E ⧸ E₀) - dim C`. -/
theorem isFredholm_index_of_bijective_coprod {𝕜 E F : Type*} [RCLike 𝕜]
[NormedAddCommGroup E] [NormedSpace 𝕜 E] [CompleteSpace E]
[NormedAddCommGroup F] [NormedSpace 𝕜 F] [CompleteSpace F]
(E₀ : Submodule 𝕜 E) [FiniteDimensional 𝕜 (E ⧸ E₀)] (C : Submodule 𝕜 F) [FiniteDimensional 𝕜 C]
(v : E →L[𝕜] F) (hv : Function.Bijective ((v.comp E₀.subtypeL).coprod C.subtypeL)) :
v.IsFredholm ∧ index v =
(Module.finrank 𝕜 (E ⧸ E₀) : ℤ) - (Module.finrank 𝕜 C : ℤ) := by sorry
end FredholmBanach