Theorem 9.8 — the invertible operators form an open set
ProvedRudin.ch09_invertible_openLet be the set of invertible linear operators on . If and then ; consequently is open in , and the map is continuous on .
import Mathlib open Filter Topology
namespace Rudin
/-- Rudin, Theorem 9.8: the set `Ω` of invertible linear operators on `ℝⁿ` is open — indeed
`B ∈ Ω` whenever `‖B - A‖ ‖A⁻¹‖ < 1` for some `A ∈ Ω` — and inversion is continuous on `Ω`. -/
theorem ch09_invertible_open (n : ℕ)
(inv : (EuclideanSpace ℝ (Fin n) →L[ℝ] EuclideanSpace ℝ (Fin n)) →
(EuclideanSpace ℝ (Fin n) →L[ℝ] EuclideanSpace ℝ (Fin n)))
(hinv : ∀ A : EuclideanSpace ℝ (Fin n) →L[ℝ] EuclideanSpace ℝ (Fin n),
Function.Bijective A → (∀ x, inv A (A x) = x) ∧ ∀ y, A (inv A y) = y) :
(∀ A B : EuclideanSpace ℝ (Fin n) →L[ℝ] EuclideanSpace ℝ (Fin n),
Function.Bijective A → ‖B - A‖ * ‖inv A‖ < 1 → Function.Bijective B) ∧
IsOpen {A : EuclideanSpace ℝ (Fin n) →L[ℝ] EuclideanSpace ℝ (Fin n) | Function.Bijective A} ∧
ContinuousOn inv {A | Function.Bijective A} := by sorry
end RudinRead-back
What the Lean code literally says, in plain math · Aristotle (Harmonic)
Fix and work with continuous linear operators on (with the operator norm). Let be given data: a function assigning to each such operator another one, subject to the hypothesis that whenever is bijective, is a two-sided inverse of , i.e. for all and for all . (For non-bijective the value is unconstrained.) Then three assertions hold:
- For all operators : if is bijective and , then is bijective;
- the set is open in the operator norm topology;
- is continuous on that set (relative continuity at each bijective operator).
Bijectivity here is bijectivity of the underlying map. The statement is conditional on the existence of the inverse-assigning function supplied as a hypothesis; nothing is asserted about a canonical choice. The case is included, where the only operator is bijective.
Confirmed by the mission captain (proposal self-audit).