Split simplicial objects #
In this file, we introduce the notion of split simplicial object.
If C
is a category that has finite coproducts, a splitting
s : Splitting X
of a simplicial object X
in C
consists
of the datum of a sequence of objects s.N : ℕ → C
(which
we shall refer to as "nondegenerate simplices") and a
sequence of morphisms s.ι n : s.N n → X _[n]
that have
the property that a certain canonical map identifies X _[n]
with the coproduct of objects s.N i
indexed by all possible
epimorphisms [n] ⟶ [i]
in SimplexCategory
. (We do not
assume that the morphisms s.ι n
are monomorphisms: in the
most common categories, this would be a consequence of the
axioms.)
Simplicial objects equipped with a splitting form a category
SimplicialObject.Split C
.
References #
- [Stacks: Splitting simplicial objects] https://stacks.math.columbia.edu/tag/017O
The index set which appears in the definition of split simplicial objects.
Equations
- SimplicialObject.Splitting.IndexSet Δ = ((Δ' : SimplexCategoryᵒᵖ) × { α : Opposite.unop Δ ⟶ Opposite.unop Δ' // CategoryTheory.Epi α })
Instances For
The element in Splitting.IndexSet Δ
attached to an epimorphism f : Δ ⟶ Δ'
.
Equations
- SimplicialObject.Splitting.IndexSet.mk f = ⟨Opposite.op Δ', ⟨f, ⋯⟩⟩
Instances For
The epimorphism in SimplexCategory
associated to A : Splitting.IndexSet Δ
Equations
- A.e = ↑A.snd
Instances For
Equations
- One or more equations did not get rendered due to their size.
The distinguished element in Splitting.IndexSet Δ
which corresponds to the
identity of Δ
.
Equations
Instances For
Equations
The condition that an element Splitting.IndexSet Δ
is the distinguished
element Splitting.IndexSet.Id Δ
.
Equations
- A.EqId = (A = SimplicialObject.Splitting.IndexSet.id Δ)
Instances For
Given A : IndexSet Δ₁
, if p.unop : unop Δ₂ ⟶ unop Δ₁
is an epi, this
is the obvious element in A : IndexSet Δ₂
associated to the composition
of epimorphisms p.unop ≫ A.e
.
Equations
- A.epiComp p = ⟨A.fst, ⟨CategoryTheory.CategoryStruct.comp p.unop A.e, ⋯⟩⟩
Instances For
When A : IndexSet Δ
and θ : Δ → Δ'
is a morphism in SimplexCategoryᵒᵖ
,
an element in IndexSet Δ'
can be defined by using the epi-mono factorisation
of θ.unop ≫ A.e
.
Equations
Instances For
Given a sequences of objects N : ℕ → C
in a category C
, this is
a family of objects indexed by the elements A : Splitting.IndexSet Δ
.
The Δ
-simplices of a split simplicial objects shall identify to the
coproduct of objects in such a family.
Equations
- SimplicialObject.Splitting.summand N Δ A = N (Opposite.unop A.fst).len
Instances For
The cofan for summand N Δ
induced by morphisms N n ⟶ X_ [n]
for all n : ℕ
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A splitting of a simplicial object X
consists of the datum of a sequence
of objects N
, a sequence of morphisms ι : N n ⟶ X _[n]
such that
for all Δ : SimplexCategoryᵒᵖ
, the canonical map Splitting.map X ι Δ
is an isomorphism.
- N : ℕ → C
The "nondegenerate simplices"
N n
for alln : ℕ
. - ι (n : ℕ) : self.N n ⟶ X.obj (Opposite.op (SimplexCategory.mk n))
- isColimit' (Δ : SimplexCategoryᵒᵖ) : CategoryTheory.Limits.IsColimit (SimplicialObject.Splitting.cofan' self.N X self.ι Δ)
Instances For
The cofan for summand s.N Δ
induced by a splitting of a simplicial object.
Equations
- s.cofan Δ = CategoryTheory.Limits.Cofan.mk (X.obj Δ) fun (A : SimplicialObject.Splitting.IndexSet Δ) => CategoryTheory.CategoryStruct.comp (s.ι (Opposite.unop A.fst).len) (X.map A.e.op)
Instances For
The cofan s.cofan Δ
is colimit.
Equations
- s.isColimit Δ = s.isColimit' Δ
Instances For
As it is stated in Splitting.hom_ext
, a morphism f : X ⟶ Y
from a split
simplicial object to any simplicial object is determined by its restrictions
s.φ f n : s.N n ⟶ Y _[n]
to the distinguished summands in each degree n
.
Equations
- s.φ f n = CategoryTheory.CategoryStruct.comp (s.ι n) (f.app (Opposite.op (SimplexCategory.mk n)))
Instances For
The map X.obj Δ ⟶ Z
obtained by providing a family of morphisms on all the
terms of decomposition given by a splitting s : Splitting X
Equations
- s.desc Δ F = CategoryTheory.Limits.Cofan.IsColimit.desc (s.isColimit Δ) F
Instances For
A simplicial object that is isomorphic to a split simplicial object is split.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The category SimplicialObject.Split C
is the category of simplicial objects
in C
equipped with a splitting, and morphisms are morphisms of simplicial objects
which are compatible with the splittings.
the underlying simplicial object
- s : SimplicialObject.Splitting self.X
a splitting of the simplicial object
Instances For
The object in SimplicialObject.Split C
attached to a splitting s : Splitting X
of a simplicial object X
.
Equations
- SimplicialObject.Split.mk' s = { X := X, s := s }
Instances For
Morphisms in SimplicialObject.Split C
are morphisms of simplicial objects that
are compatible with the splittings.
- F : S₁.X ⟶ S₂.X
the morphism between the underlying simplicial objects
the morphism between the "nondegenerate"
n
-simplices for alln : ℕ
- comm (n : ℕ) : CategoryTheory.CategoryStruct.comp (S₁.s.ι n) (self.F.app (Opposite.op (SimplexCategory.mk n))) = CategoryTheory.CategoryStruct.comp (self.f n) (S₂.s.ι n)
Instances For
Equations
The functor SimplicialObject.Split C ⥤ SimplicialObject C
which forgets
the splitting.
Equations
- SimplicialObject.Split.forget C = { obj := fun (S : SimplicialObject.Split C) => S.X, map := fun {X Y : SimplicialObject.Split C} (Φ : X ⟶ Y) => Φ.F, map_id := ⋯, map_comp := ⋯ }
Instances For
The functor SimplicialObject.Split C ⥤ C
which sends a simplicial object equipped
with a splitting to its nondegenerate n
-simplices.
Equations
- SimplicialObject.Split.evalN C n = { obj := fun (S : SimplicialObject.Split C) => S.s.N n, map := fun {X Y : SimplicialObject.Split C} (Φ : X ⟶ Y) => Φ.f n, map_id := ⋯, map_comp := ⋯ }
Instances For
The inclusion of each summand in the coproduct decomposition of simplices
in split simplicial objects is a natural transformation of functors
SimplicialObject.Split C ⥤ C
Equations
- SimplicialObject.Split.natTransCofanInj C A = { app := fun (S : SimplicialObject.Split C) => (S.s.cofan Δ).inj A, naturality := ⋯ }