English
A left-inverse yields a linear equivalence between the domain and the range of the forward map.
Русский
Левое обратное отображение задаёт линейное эквив between домена и образа прямой карты.
LaTeX
$$def ofLeftInverse (g) (h) : M ≃ₛₗ[σ₁₂] (LinearMap.range f)$$
Lean4
/-- A linear map `f : M →ₗ[R] M₂` with a left-inverse `g : M₂ →ₗ[R] M` defines a linear
equivalence between `M` and `f.range`.
This is a computable alternative to `LinearEquiv.ofInjective`, and a bidirectional version of
`LinearMap.rangeRestrict`. -/
def ofLeftInverse [RingHomInvPair σ₁₂ σ₂₁] [RingHomInvPair σ₂₁ σ₁₂] {g : M₂ → M} (h : Function.LeftInverse g f) :
M ≃ₛₗ[σ₁₂] (LinearMap.range f) :=
{ LinearMap.rangeRestrict f with
toFun := LinearMap.rangeRestrict f
invFun := g ∘ (LinearMap.range f).subtype
left_inv := h
right_inv := fun x =>
Subtype.ext <|
let ⟨x', hx'⟩ := LinearMap.mem_range.mp x.prop
show f (g x) = x by rw [← hx', h x'] }