Pushouts in Type #
We describe the pushout of two maps f : S ⟶ X₁ and g : S ⟶ X₂
in the category of types as the quotient of X₁ ⊕ X₂ by the
equivalence relation generated by a relation. We also study
the particular case when f is injective (in the file
CategoryTheory.Types.Monomorphisms, it is deduced that monomorphisms
are stable under cobase change in the category of types).
The pushout of two maps f : S ⟶ X₁ and g : S ⟶ X₂ is the quotient
by the equivalence relation on X₁ ⊕ X₂ generated by this relation.
- inl_inr {S X₁ X₂ : Type u} {f : S ⟶ X₁} {g : S ⟶ X₂} (s : S) : Rel f g (Sum.inl ((ConcreteCategory.hom f) s)) (Sum.inr ((ConcreteCategory.hom g) s))
Instances For
Construction of the pushout in the category of types, as a quotient of X₁ ⊕ X₂.
Equations
Instances For
In case f : S ⟶ X₁ is a monomorphism, this relation is the equivalence relation
generated by Pushout.Rel f g.
- refl {S X₁ X₂ : Type u} {f : S ⟶ X₁} {g : S ⟶ X₂} (x : X₁ ⊕ X₂) : Rel' f g x x
- inl_inl {S X₁ X₂ : Type u} {f : S ⟶ X₁} {g : S ⟶ X₂} (x₀ y₀ : S) (h : (ConcreteCategory.hom g) x₀ = (ConcreteCategory.hom g) y₀) : Rel' f g (Sum.inl ((ConcreteCategory.hom f) x₀)) (Sum.inl ((ConcreteCategory.hom f) y₀))
- inl_inr {S X₁ X₂ : Type u} {f : S ⟶ X₁} {g : S ⟶ X₂} (s : S) : Rel' f g (Sum.inl ((ConcreteCategory.hom f) s)) (Sum.inr ((ConcreteCategory.hom g) s))
- inr_inl {S X₁ X₂ : Type u} {f : S ⟶ X₁} {g : S ⟶ X₂} (s : S) : Rel' f g (Sum.inr ((ConcreteCategory.hom g) s)) (Sum.inl ((ConcreteCategory.hom f) s))
Instances For
The quotient of X₁ ⊕ X₂ by the relation PushoutRel' f g.
Equations
Instances For
The left inclusion in the constructed pushout Pushout f g.
Equations
- CategoryTheory.Limits.Types.Pushout.inl f g = TypeCat.ofHom fun (x : X₁) => Quot.mk (CategoryTheory.Limits.Types.Pushout.Rel f g) (Sum.inl x)
Instances For
The right inclusion in the constructed pushout Pushout f g.
Equations
- CategoryTheory.Limits.Types.Pushout.inr f g = TypeCat.ofHom fun (x : X₂) => Quot.mk (CategoryTheory.Limits.Types.Pushout.Rel f g) (Sum.inr x)
Instances For
The constructed pushout cocone in the category of types.
Equations
Instances For
A pushout square in Type where the top map is injective is a pullback square.
This is also essentially the lemma isPullback_of_isPushout_of_mono_left
from the file CategoryTheory.Adhesive.Basic in the case of the adhesive category of types.
Consider a pushout square involving types X₁, X₂, X₃ and X₄:
t
X₁ ⟶ X₂
l| |r \
v b v \ r'
X₃ ⟶ X₄ \
\ k\ |
\ b' v v
\______> X₅
Let k : X₄ ⟶ X₅, r' : X₂ ⟶ X₅ and b' : X₃ ⟶ X₅ be such
that r ≫ k = r' and b ≫ k = b'. Assume that
the outer square is a pullback, that r' is a monomorphism
and that b' is injective on the complement of the range of l,
then k : X₄ ⟶ X₅ is a monomorphism.
Consider a diagram where the outer square involving types X₁, X₂, X₃ and X₅
is a pullback, where the two bottom and right triangles commute:
t
X₁ ⟶ X₂
l| |r \
v b v \ r'
X₃ ⟶ X₄ \
\ k\ |
\ b' v v
\______> X₅
Assume that r' and k are monomorphisms, that r and b are jointly surjective,
and that b' is injective on the complement of the range of l, then
the top-left square is a pushout.
Consider a pullback square of types where the right map is a monomorphism. If the right and bottom map are jointly surjective, and the bottom map is injective on the complement on the range of the left map, then the square is a pushout square.