The index of a Fredholm operator
DefinitionFredholmBanach_SettingThe index of a Fredholm operator between normed spaces, following N. Bourbaki, Théories spectrales, Chapitre III, § 3, n° 3 (TS III.43).
Let be or , let , be normed spaces over and let be a bounded linear map. Write for its kernel, for its range and for its cokernel (an algebraic quotient). The index of is the integer
Fredholm operators themselves are not defined here: they are Mathlib's ContinuousLinearMap.IsFredholm ( is a strict map, is finite-dimensional and topologically complemented, and is closed and of finite codimension). For a Fredholm operator both dimensions are finite.
Formalization Note index u is Module.finrank 𝕜 u.ker - Module.finrank 𝕜 (F ⧸ u.range) in ℤ. Since Module.finrank is on infinite-dimensional spaces, index u is meaningful only when u.IsFredholm; every theorem about it assumes this. Bourbaki (TS III.43, formula (1)) uses the opposite sign, ; the sign here is the usual one in analysis and geometry. The scalar field is any RCLike field.
import Mathlib.Analysis.Normed.Operator.Fredholm.Basic
import Mathlib.Analysis.Normed.Operator.Compact.Basic
import Mathlib.Analysis.RCLike.Basic
/-!
# The index of a Fredholm operator
N. Bourbaki, *Théories spectrales*, Chapitre III, § 3, n° 2–3 (pp. TS III.40–III.43).
Fredholm operators are Mathlib's `ContinuousLinearMap.IsFredholm`: `u : E →L[𝕜] F` is
Fredholm if it is a strict map with closed range of finite codimension whose kernel is
finite-dimensional and topologically complemented. For Banach spaces over `ℝ` or `ℂ` this
agrees with Bourbaki's Definition 1 (existence of a quasi-inverse modulo finite rank).
The index is `ind u = dim Ker u - dim Coker u`, with `Coker u = F ⧸ Im u`.
Bourbaki (TS III.43, formula (1)) uses the opposite sign, `dim Coker u - dim Ker u`.
-/
namespace FredholmBanach
noncomputable section
/-- The index `dim Ker u - dim (F ⧸ Im u)` of a continuous linear map. `Module.finrank` is `0`
on infinite-dimensional spaces, so the value is meaningful only for Fredholm `u`. -/
def index {𝕜 E F : Type*} [RCLike 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E]
[NormedAddCommGroup F] [NormedSpace 𝕜 F] (u : E →L[𝕜] F) : ℤ :=
(Module.finrank 𝕜 u.ker : ℤ) - (Module.finrank 𝕜 (F ⧸ u.range) : ℤ)
end
end FredholmBanach
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Read-back: FredholmBanach_Setting (Definitions/Def_FredholmBanach_Setting.lean)
Imports. Mathlib's Fredholm basics (ContinuousLinearMap.IsFredholm), compact operators (IsCompactOperator) and RCLike. Neither IsFredholm nor IsCompactOperator is used in this file; they are imported only for downstream files.
Setting of the definition. is or (RCLike 𝕜). are normed vector spaces over (NormedAddCommGroup + NormedSpace). No completeness is assumed here, and no Fredholm hypothesis.
Definition. For a continuous linear map (E →L[𝕜] F),
u.ker,u.range, both as -linear subspaces.- is the algebraic quotient vector space (the range is not closed off first; no topology enters
finrank). Module.finrankis the dimension when finite and is when the space is infinite-dimensional. Both naturals are cast to before subtracting.
So the name is FredholmBanach.index, with sign convention .
Degenerate cases / remarks.
- or behave as expected: e.g. with finite-dimensional has index .
- For non-Fredholm the value is junk: e.g. if is infinite-dimensional and the cokernel is , index ; an injective map with infinite-dimensional cokernel also gets index . The docstring acknowledges this.
- Sign convention is opposite to Bourbaki (TS III.43 uses ); the docstring says so explicitly. It agrees with the common analysis convention.
- The docstring's claim that
IsFredholmagrees with Bourbaki's quasi-inverse definition is commentary, not part of the formal content.
Nothing looks mis-formalized; the only caveat is that the definition is meaningful only for Fredholm .
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.