Exactness of a pair #
-
For two maps
f : M → Nandg : N → P, withZero P,Function.AddExact f gsays that `Set.range f = Set.preimage {0} -
For two maps
f : M → Nandg : N → P, withOne P,Function.Exact f gsays that `Set.range f = Set.preimage {1} -
For linear maps
f : M →ₗ[R] Nandg : N →ₗ[R] P,Exact f gsays that `range f = ker g``
TODO : #
-
add the cases of
AddMonoidHom -
add the multiplicative case (
Function.Exactwill becomeFunction.AddExact?)
theorem
Function.Exact.comp_eq_zero
{M : Type u_1}
{N : Type u_2}
{P : Type u_3}
(f : M → N)
(g : N → P)
[Zero P]
(h : Function.Exact f g)
:
theorem
Function.Exact.linearMap_ker_eq
{M : Type u_1}
{N : Type u_2}
{P : Type u_3}
{R : Type u_4}
[CommSemiring R]
[AddCommMonoid M]
[AddCommMonoid N]
[AddCommMonoid P]
[Module R M]
[Module R N]
[Module R P]
{f : M →ₗ[R] N}
{g : N →ₗ[R] P}
(hfg : Function.Exact ⇑f ⇑g)
:
theorem
Function.LinearMap.exact_iff
{M : Type u_1}
{N : Type u_2}
{P : Type u_3}
{R : Type u_4}
[CommSemiring R]
[AddCommMonoid M]
[AddCommMonoid N]
[AddCommMonoid P]
[Module R M]
[Module R N]
[Module R P]
{f : M →ₗ[R] N}
{g : N →ₗ[R] P}
:
Function.Exact ⇑f ⇑g ↔ LinearMap.ker g = LinearMap.range f
theorem
Function.Exact.linearMap_comp_eq_zero
{M : Type u_1}
{N : Type u_2}
{P : Type u_3}
{R : Type u_4}
[CommSemiring R]
[AddCommMonoid M]
[AddCommMonoid N]
[AddCommMonoid P]
[Module R M]
[Module R N]
[Module R P]
{f : M →ₗ[R] N}
{g : N →ₗ[R] P}
(h : Function.Exact ⇑f ⇑g)
:
g ∘ₗ f = 0