Properties of morphisms #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We provide the basic framework for talking about properties of morphisms. The following meta-properties are defined
respects_iso
:P
respects isomorphisms ifP f → P (e ≫ f)
andP f → P (f ≫ e)
, wheree
is an isomorphism.stable_under_composition
:P
is stable under composition ifP f → P g → P (f ≫ g)
.stable_under_base_change
:P
is stable under base change if in all pullback squares, the left map satisfiesP
if the right map satisfies it.stable_under_cobase_change
:P
is stable under cobase change if in all pushout squares, the right map satisfiesP
if the left map satisfies it.
A morphism_property C
is a class of morphisms between objects in C
.
Equations
- category_theory.morphism_property C = Π ⦃X Y : C⦄, (X ⟶ Y) → Prop
Instances for category_theory.morphism_property
Equations
Equations
- category_theory.morphism_property.has_subset = {subset := λ (P₁ P₂ : category_theory.morphism_property C), ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P₁ f → P₂ f}
Equations
- category_theory.morphism_property.has_inter = {inter := λ (P₁ P₂ : category_theory.morphism_property C) (X Y : C) (f : X ⟶ Y), P₁ f ∧ P₂ f}
The morphism property in Cᵒᵖ
associated to a morphism property in C
Instances for category_theory.morphism_property.op
The morphism property in C
associated to a morphism property in Cᵒᵖ
The inverse image of a morphism_property D
by a functor C ⥤ D
Equations
- P.inverse_image F = λ (X Y : C) (f : X ⟶ Y), P (F.map f)
A morphism property respects_iso
if it still holds when composed with an isomorphism
A morphism property is stable_under_composition
if the composition of two such morphisms
still falls in the class.
A morphism property is stable_under_inverse
if the inverse of a morphism satisfying
the property still falls in the class.
A morphism property is stable_under_base_change
if the base change of such a morphism
still falls in the class.
Equations
- P.stable_under_base_change = ∀ ⦃X Y Y' S : C⦄ ⦃f : X ⟶ S⦄ ⦃g : Y ⟶ S⦄ ⦃f' : Y' ⟶ Y⦄ ⦃g' : Y' ⟶ X⦄, category_theory.is_pullback f' g' g f → P g → P g'
A morphism property is stable_under_cobase_change
if the cobase change of such a morphism
still falls in the class.
Equations
- P.stable_under_cobase_change = ∀ ⦃A A' B B' : C⦄ ⦃f : A ⟶ A'⦄ ⦃g : A ⟶ B⦄ ⦃f' : B ⟶ B'⦄ ⦃g' : A' ⟶ B'⦄, category_theory.is_pushout g f f' g' → P f → P f'
If P : morphism_property C
and F : C ⥤ D
, then
P.is_inverted_by F
means that all morphisms in P
are mapped by F
to isomorphisms in D
.
Equations
- P.is_inverted_by F = ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P f → category_theory.is_iso (F.map f)
Given app : Π X, F₁.obj X ⟶ F₂.obj X
where F₁
and F₂
are two functors,
this is the morphism_property C
satisfied by the morphisms in C
with respect
to whom app
is natural.
The morphism_property C
satisfied by isomorphisms in C
.
Equations
- category_theory.morphism_property.isomorphisms C = λ (X Y : C) (f : X ⟶ Y), category_theory.is_iso f
The morphism_property C
satisfied by monomorphisms in C
.
Equations
- category_theory.morphism_property.monomorphisms C = λ (X Y : C) (f : X ⟶ Y), category_theory.mono f
The morphism_property C
satisfied by epimorphisms in C
.
Equations
- category_theory.morphism_property.epimorphisms C = λ (X Y : C) (f : X ⟶ Y), category_theory.epi f
The full subcategory of C ⥤ D
consisting of functors inverting morphisms in W
Equations
- W.functors_inverting D = category_theory.full_subcategory (λ (F : C ⥤ D), W.is_inverted_by F)
Instances for category_theory.morphism_property.functors_inverting
A constructor for W.functors_inverting D
Equations
- category_theory.morphism_property.functors_inverting.mk F hF = {obj := F, property := hF}
For P : morphism_property C
, P.diagonal
is a morphism property that holds for f : X ⟶ Y
whenever P
holds for X ⟶ Y xₓ Y
.
Equations
- P.diagonal = λ (X Y : C) (f : X ⟶ Y), P (category_theory.limits.pullback.diagonal f)
P.universally
holds for a morphism f : X ⟶ Y
iff P
holds for all X ×[Y] Y' ⟶ Y'
.
Equations
- P.universally = λ (X Y : C) (f : X ⟶ Y), ∀ ⦃X' Y' : C⦄ (i₁ : X' ⟶ X) (i₂ : Y' ⟶ Y) (f' : X' ⟶ Y'), category_theory.is_pullback f' i₁ i₂ f → P f'
Injectiveness (in a concrete category) as a morphism_property
Equations
- category_theory.morphism_property.injective C = λ (X Y : C) (f : X ⟶ Y), function.injective ⇑f
Surjectiveness (in a concrete category) as a morphism_property
Equations
- category_theory.morphism_property.surjective C = λ (X Y : C) (f : X ⟶ Y), function.surjective ⇑f
Bijectiveness (in a concrete category) as a morphism_property
Equations
- category_theory.morphism_property.bijective C = λ (X Y : C) (f : X ⟶ Y), function.bijective ⇑f