Bourbaki, Théories Spectrales, Chapitres 3 à 5 contains a (imo) very nice presentation of Fredholm operators, which I think is very suitable for Mathlib. Hence, instead of the more common definition given on Wikipedia, I suggest the following start for the theory:
- Define a predicate
LinearMap.FiniteRank expressing that the range of a linear map is finite. Show that it's stable under addition and composition by an arbitrary linear map.
- Define a predicate
ContinuousLinearMap.EqModFinite (probably with a fancy notation like ≡ᶠ) saying that the difference between two operators E →L[𝕜] F has finite rank. Show that it behaves well under composition and addition of operators.
- Define a Fredholm pair to be a pair of bounded operator
T : E →L[𝕜] F and S : F →L[𝕜] E between TVSs such that both (S ∘L T) ≡ᶠ ContinuousLinearMap.id 𝕜 E and (T ∘L S) ≡ᶠ ContinuousLinearMap.id 𝕜 F. Show that being a Fredholm pair is symmetric, and behaves well with composition of operators.
- An operator
T is Fredholm if there exists S such that (T, S) is a Fredholm pair. The composition of two Fredholm operators is Fredholm;
adding a finite rank operator to a Fredholm operator gives a Fredholm operator.
- A Fredholm operator has finite dimensional kernel and cokernel
The next important theorem will be to prove that an operator is Fredholm if and only if it is strict, has finite dimensional kernel and cokernel, and has closed range. This will rely crucially on #38471.
Some design decisions I'd be happy to discuss :
- The relation
≡ᶠ is just equality modulo the submodule of finite rank operators. Is that a better definition? Note that we can't use the Ideal API because we don't want to force E = F.
- I made up the name "Fredholm pair". We could also say that
S is a "Fredholm inverse" or "quasi-inverse" to T. Note that, after much work, we will get that an operator is Fredholm if and only if it admits an inverse modulo compact operators, so there are really two notions of "almost inverse" interacting.
Bourbaki, Théories Spectrales, Chapitres 3 à 5 contains a (imo) very nice presentation of Fredholm operators, which I think is very suitable for Mathlib. Hence, instead of the more common definition given on Wikipedia, I suggest the following start for the theory:
LinearMap.FiniteRankexpressing that the range of a linear map is finite. Show that it's stable under addition and composition by an arbitrary linear map.ContinuousLinearMap.EqModFinite(probably with a fancy notation like≡ᶠ) saying that the difference between two operatorsE →L[𝕜] Fhas finite rank. Show that it behaves well under composition and addition of operators.T : E →L[𝕜] FandS : F →L[𝕜] Ebetween TVSs such that both(S ∘L T) ≡ᶠ ContinuousLinearMap.id 𝕜 Eand(T ∘L S) ≡ᶠ ContinuousLinearMap.id 𝕜 F. Show that being a Fredholm pair is symmetric, and behaves well with composition of operators.Tis Fredholm if there existsSsuch that(T, S)is a Fredholm pair. The composition of two Fredholm operators is Fredholm;adding a finite rank operator to a Fredholm operator gives a Fredholm operator.
The next important theorem will be to prove that an operator is Fredholm if and only if it is strict, has finite dimensional kernel and cokernel, and has closed range. This will rely crucially on #38471.
Some design decisions I'd be happy to discuss :
≡ᶠis just equality modulo the submodule of finite rank operators. Is that a better definition? Note that we can't use theIdealAPI because we don't want to forceE = F.Sis a "Fredholm inverse" or "quasi-inverse" toT. Note that, after much work, we will get that an operator is Fredholm if and only if it admits an inverse modulo compact operators, so there are really two notions of "almost inverse" interacting.