Documentation

TauCeti.AlgebraicTopology.Quasicategory.Core

Equivalences and the core of a quasicategory #

An edge e : x₀ ⟶ x₁ of a simplicial set X is an equivalence when it admits an inverse up to 2-simplices, i.e. a structure SSet.Edge.InvStruct e. When X is a quasicategory this says exactly that e becomes an isomorphism in the homotopy category of X.

The core X.core of X is the subcomplex of the simplices all of whose edges are equivalences. When X is a quasicategory, its core is again a quasicategory: an inner horn determines all edges of its filler except, for Λ[2, 1], the long edge, which is a composite of two equivalences. Every Kan complex contained in X lies in the core. That the core of a quasicategory is itself a Kan complex, hence the largest Kan complex in X, is Joyal's theorem on special outer horns, which is not proved here. For the nerve of a category C, the core is the nerve of the groupoid Core C.

Main definitions #

Main results #

References #

def SSet.Edge.IsEquivalence {X : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} (e : Edge x₀ x₁) :

An edge e of a simplicial set is an equivalence when it admits an inverse up to 2-simplices, that is, a structure e.InvStruct. In a quasicategory these are the edges that become isomorphisms in the homotopy category (SSet.Edge.isEquivalence_iff_isIso).

Instances For
    theorem SSet.Edge.InvStruct.isEquivalence {X : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} {e : Edge x₀ x₁} (I : e.InvStruct) :
    noncomputable def SSet.Edge.IsEquivalence.invStruct {X : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} {e : Edge x₀ x₁} (h : e.IsEquivalence) :

    A choice of inverse structure for an equivalence.

    Instances For
      @[simp]
      theorem SSet.Edge.isEquivalence_id {X : SSet} (x : X.obj (Opposite.op { len := 0 })) :
      theorem SSet.Edge.IsEquivalence.map {X Y : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} {e : Edge x₀ x₁} (h : e.IsEquivalence) (f : X ⟶ Y) :
      theorem SSet.Edge.isEquivalence_iff_of_edge_eq {X : SSet} {x₀ x₁ y₀ y₁ : X.obj (Opposite.op { len := 0 })} {e : Edge x₀ x₁} {e' : Edge y₀ y₁} (h : e.edge = e'.edge) :

      Being an equivalence only depends on the underlying 1-simplex.

      @[simp]
      theorem SSet.Edge.isEquivalence_ofEq_iff {X : SSet} {x₀ x₁ y₀ y₁ : X.obj (Opposite.op { len := 0 })} {e : Edge x₀ x₁} (h₀ : x₀ = y₀) (h₁ : x₁ = y₁) :

      Transporting an edge along equalities of its endpoints does not change whether it is an equivalence.

      In a quasicategory, an edge is an equivalence exactly when its class in the homotopy category is an isomorphism.

      theorem SSet.Edge.CompStruct.isEquivalence₀₂ {X : SSet} {x₀ x₁ x₂ : X.obj (Opposite.op { len := 0 })} [X.Quasicategory] {e₀₁ : Edge x₀ x₁} {e₁₂ : Edge x₁ x₂} {e₀₂ : Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) (h₀₁ : e₀₁.IsEquivalence) (h₁₂ : e₁₂.IsEquivalence) :

      In a quasicategory, a composite of equivalences is an equivalence.

      theorem SSet.Edge.CompStruct.isEquivalence₁₂ {X : SSet} {x₀ x₁ x₂ : X.obj (Opposite.op { len := 0 })} [X.Quasicategory] {e₀₁ : Edge x₀ x₁} {e₁₂ : Edge x₁ x₂} {e₀₂ : Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) (h₀₁ : e₀₁.IsEquivalence) (h₀₂ : e₀₂.IsEquivalence) :

      In a quasicategory, if e₀₁ and a composite e₀₂ of e₀₁ and e₁₂ are equivalences, then so is e₁₂.

      theorem SSet.Edge.CompStruct.isEquivalence₀₁ {X : SSet} {x₀ x₁ x₂ : X.obj (Opposite.op { len := 0 })} [X.Quasicategory] {e₀₁ : Edge x₀ x₁} {e₁₂ : Edge x₁ x₂} {e₀₂ : Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) (h₁₂ : e₁₂.IsEquivalence) (h₀₂ : e₀₂.IsEquivalence) :

      In a quasicategory, if e₁₂ and a composite e₀₂ of e₀₁ and e₁₂ are equivalences, then so is e₀₁.

      theorem SSet.Edge.isEquivalence_of_kanComplex {X : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} [X.KanComplex] (e : Edge x₀ x₁) :

      Every edge of a Kan complex is an equivalence: filling the outer horns Λ[2, 0] and Λ[2, 2] provides a right and a left inverse in the homotopy category.

      In a quasicategory, if two faces δ 2 s and δ 0 s of a 2-simplex s are equivalences, then so is the third face δ 1 s.

      The edge of a simplex s along a map f : ⦋1⦌ ⟶ n selecting the same vertex index twice is degenerate, hence an equivalence.

      theorem SSet.π₀.mk_eq_mk_iff_nonempty_edge {X : SSet} [X.KanComplex] (x₀ x₁ : X.obj (Opposite.op { len := 0 })) :
      mk x₀ = mk x₁ ↔ Nonempty (Edge x₀ x₁)

      In a Kan complex, two vertices lie in the same connected component exactly when there is an edge between them: edges compose, and they can be reversed since they are equivalences.

      The core of a simplicial set X: the subcomplex of the simplices all of whose edges are equivalences. When X is a quasicategory, it is the ∞-groupoid of objects of X and equivalences between them.

      Instances For
        @[simp]
        theorem SSet.mem_core_obj_zero {X : SSet} (x : X.obj (Opposite.op { len := 0 })) :
        x ∈ X.core.obj (Opposite.op { len := 0 })

        Every vertex of X lies in its core.

        @[simp]
        theorem SSet.Edge.edge_mem_core_iff {X : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} (e : Edge x₀ x₁) :

        An edge lies in the core exactly when it is an equivalence.

        theorem SSet.le_core_iff {X : SSet} (A : X.Subcomplex) :
        A ≤ X.core ↔ ∀ s ∈ A.obj (Opposite.op { len := 1 }), (Edge.mk' s).IsEquivalence

        A subcomplex of X lies in the core exactly when all its edges are equivalences.

        A map of simplicial sets factors through the core exactly when it sends edges to equivalences.

        theorem SSet.image_core_le {X Y : SSet} (f : X ⟶ Y) :

        Maps of simplicial sets send cores into cores.

        theorem SSet.core_eq_top_iff {X : SSet} :
        X.core = ⊤ ↔ ∀ (s : X.obj (Opposite.op { len := 1 })), (Edge.mk' s).IsEquivalence

        The core of X is all of X exactly when every edge of X is an equivalence.

        @[simp]
        theorem SSet.core_eq_top {X : SSet} [X.KanComplex] :

        The core of a Kan complex is everything.

        Every Kan complex contained in X lies in the core of X.

        Every map from the unit 𝟙_ SSet factors through the core.

        Maps from the unit 𝟙_ SSet into the core of X are the same as maps into X.

        Instances For

          An edge of a product X ⊗ Y is an equivalence exactly when both of its projections are.

          @[simp]

          The core of a product is the product of the cores.

          theorem SSet.hasLiftingProperty_horn_ι_core_ι {X : SSet} [X.Quasicategory] {n : ℕ} (i : Fin (n + 3)) (h0 : 0 < i) (hn : i < Fin.last (n + 2)) :

          The inclusion of the core of a quasicategory has the right lifting property against inner horn inclusions. A filler in X of an inner horn in the core has all its edges in the horn, except for the long edge of a filler of Λ[2, 1], which is a composite of two equivalences.

          The inclusion of the core of a quasicategory is an inner fibration.

          The core of a quasicategory is a quasicategory.

          @[simp]

          An edge of the nerve of a category is an equivalence exactly when the corresponding morphism is an isomorphism.

          A 1-simplex of the nerve of a category is an equivalence exactly when the morphism it represents is an isomorphism.

          theorem CategoryTheory.nerve.mem_core_iff {C : Type u} [Category.{v, u} C] {n : SimplexCategoryᵒᵖ} (s : (nerve C).obj n) :
          s ∈ (nerve C).core.obj n ↔ ∀ ⦃i j : Fin ((Opposite.unop n).len + 1)⦄ (f : i ⟶ j), IsIso (s.map f)

          A simplex of the nerve of a category lies in the core exactly when all the morphisms it contains are isomorphisms.

          The nerve of the core of a category is the core of its nerve.

          Instances For
            @[simp]

            Under nerveIso, the inclusion of the core of the nerve corresponds to the nerve of the inclusion of the core.

            @[simp]

            Under nerveIso, the inclusion of the core of the nerve corresponds to the nerve of the inclusion of the core.