Mathlib Map

Theorems · Definition · category theory

Function.Exact.splitSurjectiveEquiv

{R : Type u_1} →
  {M : Type u_2} →
    {N : Type u_4} →
      {P : Type u_6} →
        [inst : Semiring R] →
          [inst_1 : AddCommGroup M] →
            [inst_2 : AddCommGroup N] →
              [inst_3 : AddCommGroup P] →
                [inst_4 : Module R M] →
                  [inst_5 : Module R N] →
                    [inst_6 : Module R P] →
                      {f : M →ₗ[R] N} →
                        {g : N →ₗ[R] P} →
                          Function.Exact ⇑f ⇑g →
                            Function.Injective ⇑f →
                              { l // g ∘ₗ l = LinearMap.id } ≃
                                { e // f = ↑e.symm ∘ₗ LinearMap.inl R M P ∧ g = LinearMap.snd R M P ∘ₗ ↑e }

Given an exact sequence 0 → M → N → P, giving a section P → N is equivalent to giving a splitting N ≃ M × P.

Defined in
Mathlib.Algebra.Exact.Basic
Cited by
4 results in Mathlib
Foundations
Depth 39 from the axioms · uses propext, Classical.choice, Quot.sound
Assumes
SemiringAddCommGroupAddCommGroupAddCommGroupModuleModuleModule

Around this declaration

Dashed lines are statement dependencies; solid lines are citations in proofs.

Cites18

Mathlib declarations this one mentions in its statement or cites explicitly in its proof. Plumbing is filtered out.

Cited by5

Results whose statement or proof uses this declaration.