Effective epimorphisms #
We define the notion of effective epimorphic (pre)sieves, morphisms and family of morphisms and provide some API for relating the three notions.
More precisely, if f
is a morphism, then f
is an effective epi if and only if the sieve
it generates is effective epimorphic; see CategoryTheory.Sieve.effectiveEpimorphic_singleton
.
The analogous statement for a family of morphisms is in the theorem
CategoryTheory.Sieve.effectiveEpimorphic_family
.
We have defined the notion of effective epi for morphisms and families of morphisms in such a
way that avoids requiring the existence of pullbacks. However, if the relevant pullbacks exist
then these definitions are equivalent, see effectiveEpiStructOfRegularEpi
,
regularEpiOfEffectiveEpi
, and effectiveEpiOfKernelPair
.
See nlab: Effective Epimorphism and
Stacks 00WP for the standard definitions. Note that
our notion of EffectiveEpi
is often called "strict epi" in the literature.
References #
- [Elephant]: Sketches of an Elephant, P. T. Johnstone: C2.1, Example 2.1.12.
- nlab: Effective Epimorphism and
- Stacks 00WP for the standard definitions.
TODO #
- Find sufficient conditions on functors to preserve/reflect effective epis.
A sieve is effective epimorphic if the associated cocone is a colimit cocone.
Equations
Instances For
A presieve is effective epimorphic if the cocone associated to the sieve it generates is a colimit cocone.
Equations
Instances For
The sieve of morphisms which factor through a given morphism f
.
This is equal to Sieve.generate (Presieve.singleton f)
, but has
more convenient definitional properties.
Equations
- One or more equations did not get rendered due to their size.
Instances For
This structure encodes the data required for a morphism to be an effective epimorphism.
- desc : {W : C} → (e : Y ⟶ W) → (∀ {Z : C} (g₁ g₂ : Z ⟶ Y), CategoryTheory.CategoryStruct.comp g₁ f = CategoryTheory.CategoryStruct.comp g₂ f → CategoryTheory.CategoryStruct.comp g₁ e = CategoryTheory.CategoryStruct.comp g₂ e) → (X ⟶ W)
- fac : ∀ {W : C} (e : Y ⟶ W) (h : ∀ {Z : C} (g₁ g₂ : Z ⟶ Y), CategoryTheory.CategoryStruct.comp g₁ f = CategoryTheory.CategoryStruct.comp g₂ f → CategoryTheory.CategoryStruct.comp g₁ e = CategoryTheory.CategoryStruct.comp g₂ e), CategoryTheory.CategoryStruct.comp f (self.desc e (_ : ∀ {Z : C} (g₁ g₂ : Z ⟶ Y), CategoryTheory.CategoryStruct.comp g₁ f = CategoryTheory.CategoryStruct.comp g₂ f → CategoryTheory.CategoryStruct.comp g₁ e = CategoryTheory.CategoryStruct.comp g₂ e)) = e
- uniq : ∀ {W : C} (e : Y ⟶ W) (h : ∀ {Z : C} (g₁ g₂ : Z ⟶ Y), CategoryTheory.CategoryStruct.comp g₁ f = CategoryTheory.CategoryStruct.comp g₂ f → CategoryTheory.CategoryStruct.comp g₁ e = CategoryTheory.CategoryStruct.comp g₂ e) (m : X ⟶ W), CategoryTheory.CategoryStruct.comp f m = e → m = self.desc e (_ : ∀ {Z : C} (g₁ g₂ : Z ⟶ Y), CategoryTheory.CategoryStruct.comp g₁ f = CategoryTheory.CategoryStruct.comp g₂ f → CategoryTheory.CategoryStruct.comp g₁ e = CategoryTheory.CategoryStruct.comp g₂ e)
Instances For
A morphism f : Y ⟶ X
is an effective epimorphism provided that f
exhibits X
as a colimit
of the diagram of all "relations" R ⇉ Y
.
If f
has a kernel pair, then this is equivalent to showing that the corresponding cofork is
a colimit.
- effectiveEpi : Nonempty (CategoryTheory.EffectiveEpiStruct f)
Instances
Some chosen EffectiveEpiStruct
associated to an effective epi.
Equations
Instances For
Descend along an effective epi.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : CategoryTheory.Epi f) = (_ : CategoryTheory.Epi f)
Implementation: This is a construction which will be used in the proof that the sieve generated by a single arrow is effective epimorphic if and only if the arrow is an effective epi.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Implementation: This is a construction which will be used in the proof that the sieve generated by a single arrow is effective epimorphic if and only if the arrow is an effective epi.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The sieve of morphisms which factor through a morphism in a given family.
This is equal to Sieve.generate (Presieve.ofArrows X π)
, but has
more convenient definitional properties.
Equations
- One or more equations did not get rendered due to their size.
Instances For
This structure encodes the data required for a family of morphisms to be effective epimorphic.
- desc : {W : C} → (e : (a : α) → X a ⟶ W) → (∀ {Z : C} (a₁ a₂ : α) (g₁ : Z ⟶ X a₁) (g₂ : Z ⟶ X a₂), CategoryTheory.CategoryStruct.comp g₁ (π a₁) = CategoryTheory.CategoryStruct.comp g₂ (π a₂) → CategoryTheory.CategoryStruct.comp g₁ (e a₁) = CategoryTheory.CategoryStruct.comp g₂ (e a₂)) → (B ⟶ W)
- fac : ∀ {W : C} (e : (a : α) → X a ⟶ W) (h : ∀ {Z : C} (a₁ a₂ : α) (g₁ : Z ⟶ X a₁) (g₂ : Z ⟶ X a₂), CategoryTheory.CategoryStruct.comp g₁ (π a₁) = CategoryTheory.CategoryStruct.comp g₂ (π a₂) → CategoryTheory.CategoryStruct.comp g₁ (e a₁) = CategoryTheory.CategoryStruct.comp g₂ (e a₂)) (a : α), CategoryTheory.CategoryStruct.comp (π a) (self.desc e (_ : ∀ {Z : C} (a₁ a₂ : α) (g₁ : Z ⟶ X a₁) (g₂ : Z ⟶ X a₂), CategoryTheory.CategoryStruct.comp g₁ (π a₁) = CategoryTheory.CategoryStruct.comp g₂ (π a₂) → CategoryTheory.CategoryStruct.comp g₁ (e a₁) = CategoryTheory.CategoryStruct.comp g₂ (e a₂))) = e a
- uniq : ∀ {W : C} (e : (a : α) → X a ⟶ W) (h : ∀ {Z : C} (a₁ a₂ : α) (g₁ : Z ⟶ X a₁) (g₂ : Z ⟶ X a₂), CategoryTheory.CategoryStruct.comp g₁ (π a₁) = CategoryTheory.CategoryStruct.comp g₂ (π a₂) → CategoryTheory.CategoryStruct.comp g₁ (e a₁) = CategoryTheory.CategoryStruct.comp g₂ (e a₂)) (m : B ⟶ W), (∀ (a : α), CategoryTheory.CategoryStruct.comp (π a) m = e a) → m = self.desc e (_ : ∀ {Z : C} (a₁ a₂ : α) (g₁ : Z ⟶ X a₁) (g₂ : Z ⟶ X a₂), CategoryTheory.CategoryStruct.comp g₁ (π a₁) = CategoryTheory.CategoryStruct.comp g₂ (π a₂) → CategoryTheory.CategoryStruct.comp g₁ (e a₁) = CategoryTheory.CategoryStruct.comp g₂ (e a₂))
Instances For
A family of morphisms f a : X a ⟶ B
indexed by α
is effective epimorphic
provided that the f a
exhibit B
as a colimit of the diagram of all "relations"
R → X a₁
, R ⟶ X a₂
for all a₁ a₂ : α
.
- effectiveEpiFamily : Nonempty (CategoryTheory.EffectiveEpiFamilyStruct X π)
Instances
Some chosen EffectiveEpiFamilyStruct
associated to an effective epi family.
Equations
Instances For
Descend along an effective epi family.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The effective epi family structure on the identity
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
Implementation: This is a construction which will be used in the proof that the sieve generated by a family of arrows is effective epimorphic if and only if the family is an effective epi.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Implementation: This is a construction which will be used in the proof that the sieve generated by a family of arrows is effective epimorphic if and only if the family is an effective epi.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given an EffectiveEpiFamily X π
such that the coproduct of X
exists, Sigma.desc π
is an
EffectiveEpi
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
This is an auxiliary lemma used twice in the definition of EffectiveEpiFamilyOfEffectiveEpiDesc
.
It is the h
hypothesis of EffectiveEpi.desc
and EffectiveEpi.fac
.
If a coproduct interacts well enough with pullbacks, then a family whose domains are the terms of
the coproduct is effective epimorphic whenever Sigma.desc
induces an effective epimorphism from
the coproduct itself.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An EffectiveEpiFamily
consisting of a single EffectiveEpi
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
A single element EffectiveEpiFamily
constists of an EffectiveEpi
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : CategoryTheory.EffectiveEpi f) = (_ : CategoryTheory.EffectiveEpi f)
A family of morphisms with the same target inducing an isomorphism from the coproduct to the target
is an EffectiveEpiFamily
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : CategoryTheory.EffectiveEpiFamily X π) = (_ : CategoryTheory.EffectiveEpiFamily X π)
The identity is an effective epi.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : CategoryTheory.EffectiveEpi f) = (_ : CategoryTheory.EffectiveEpi f)
A split epi followed by an effective epi is an effective epi. This version takes an explicit section
to the split epi, and is mainly used to define effectiveEpiStructCompOfEffectiveEpiSplitEpi
,
which takes a IsSplitEpi
instance instead.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A split epi followed by an effective epi is an effective epi.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
The data of an EffectiveEpi
structure on a RegularEpi
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : CategoryTheory.EffectiveEpi f) = (_ : CategoryTheory.EffectiveEpi f)
A morphism which is a coequalizer for its kernel pair is an effective epi.
An effective epi which has a kernel pair is a regular epi.
Equations
- One or more equations did not get rendered due to their size.