Loogle!
Result
Found 350 declarations mentioning SSet.Truncated. Of these, only the first 200 are shown.
- SSet.Truncated 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : Type (u + 1) - SSet.truncation 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : CategoryTheory.Functor SSet (SSet.Truncated n) - SSet.Truncated.cosk 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : CategoryTheory.Functor (SSet.Truncated n) SSet - SSet.Truncated.sk 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : CategoryTheory.Functor (SSet.Truncated n) SSet - SSet.Truncated.cosk.faithful 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : (SSet.Truncated.cosk n).Faithful - SSet.Truncated.cosk.full 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : (SSet.Truncated.cosk n).Full - SSet.Truncated.cosk.fullyFaithful 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : (SSet.Truncated.cosk n).FullyFaithful - SSet.Truncated.coskAdj.reflective 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : CategoryTheory.Reflective (SSet.Truncated.cosk n) - SSet.Truncated.sk.faithful 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : (SSet.Truncated.sk n).Faithful - SSet.Truncated.sk.full 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : (SSet.Truncated.sk n).Full - SSet.Truncated.sk.fullyFaithful 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : (SSet.Truncated.sk n).FullyFaithful - SSet.Truncated.skAdj.coreflective 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : CategoryTheory.Coreflective (SSet.Truncated.sk n) - SSet.coskAdj 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : SSet.truncation n ⊣ SSet.Truncated.cosk n - SSet.skAdj 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : SSet.Truncated.sk n ⊣ SSet.truncation n - SSet.Truncated.uliftFunctor 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(k : ℕ) : CategoryTheory.Functor (SSet.Truncated k) (SSet.Truncated k) - SSet.Truncated.trunc 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n m : ℕ) (h : m ≤ n := by lia) : CategoryTheory.Functor (SSet.Truncated n) (SSet.Truncated m) - SSet.Truncated.id_app 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
{n : ℕ} (X : SSet.Truncated n) (d : (SimplexCategory.Truncated n)ᵒᵖ) : (CategoryTheory.CategoryStruct.id X).app d = CategoryTheory.CategoryStruct.id (X.obj d) - SSet.truncationCompTrunc 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
{n m : ℕ} (h : m ≤ n) : (SSet.truncation n).comp (SSet.Truncated.trunc n m ⋯) ≅ SSet.truncation m - SSet.Truncated.hom_ext 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
{n : ℕ} {X Y : SSet.Truncated n} {f g : X ⟶ Y} (w : ∀ (n_1 : (SimplexCategory.Truncated n)ᵒᵖ), f.app n_1 = g.app n_1) : f = g - SSet.Truncated.hom_ext_iff 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
{n : ℕ} {X Y : SSet.Truncated n} {f g : X ⟶ Y} : f = g ↔ ∀ (n_1 : (SimplexCategory.Truncated n)ᵒᵖ), f.app n_1 = g.app n_1 - SSet.Truncated.cosk_reflective 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : CategoryTheory.IsIso (SSet.coskAdj n).counit - SSet.Truncated.sk_coreflective 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
(n : ℕ) : CategoryTheory.IsIso (SSet.skAdj n).unit - SSet.Truncated.comp_app 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
{n : ℕ} {X Y Z : SSet.Truncated n} (f : X ⟶ Y) (g : Y ⟶ Z) (d : (SimplexCategory.Truncated n)ᵒᵖ) : (CategoryTheory.CategoryStruct.comp f g).app d = CategoryTheory.CategoryStruct.comp (f.app d) (g.app d) - SSet.Truncated.comp_app_assoc 📋 Mathlib.AlgebraicTopology.SimplicialSet.Basic
{n : ℕ} {X Y Z : SSet.Truncated n} (f : X ⟶ Y) (g : Y ⟶ Z) (d : (SimplexCategory.Truncated n)ᵒᵖ) {Z✝ : Type u_1} (h : Z.obj d ⟶ Z✝) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.CategoryStruct.comp f g).app d) h = CategoryTheory.CategoryStruct.comp (f.app d) (CategoryTheory.CategoryStruct.comp (g.app d) h) - SSet.Truncated.Edge.id 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} (x : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })) : SSet.Truncated.Edge x x - SSet.Truncated.Edge.CompStruct.idCompId 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} (x : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })) : (SSet.Truncated.Edge.id x).CompStruct (SSet.Truncated.Edge.id x) (SSet.Truncated.Edge.id x) - SSet.Truncated.Edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} (x₀ x₁ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })) : Type u - SSet.Truncated.Edge.CompStruct.compId 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x y : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} (e : SSet.Truncated.Edge x y) : e.CompStruct (SSet.Truncated.Edge.id y) e - SSet.Truncated.Edge.CompStruct.idComp 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x y : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} (e : SSet.Truncated.Edge x y) : (SSet.Truncated.Edge.id x).CompStruct e e - SSet.Truncated.Edge.edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} (self : SSet.Truncated.Edge x₀ x₁) : X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.Edge._proof_2 }) - SSet.Truncated.Edge.instSubsingleton 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} [Subsingleton (X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.Edge._proof_2 }))] {x y : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} : Subsingleton (SSet.Truncated.Edge x y) - SSet.Truncated.Edge.CompStruct 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} (e₀₁ : SSet.Truncated.Edge x₀ x₁) (e₁₂ : SSet.Truncated.Edge x₁ x₂) (e₀₂ : SSet.Truncated.Edge x₀ x₂) : Type u - SSet.Truncated.Edge.ext 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {x y : SSet.Truncated.Edge x₀ x₁} (edge : x.edge = y.edge) : x = y - SSet.Truncated.Edge.ext_iff 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {x y : SSet.Truncated.Edge x₀ x₁} : x = y ↔ x.edge = y.edge - SSet.Truncated.Edge.CompStruct.simplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (self : e₀₁.CompStruct e₁₂ e₀₂) : X.obj (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.Edge.CompStruct._proof_1 }) - SSet.Truncated.Edge.CompStruct.ext 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} {x y : e₀₁.CompStruct e₁₂ e₀₂} (simplex : x.simplex = y.simplex) : x = y - SSet.Truncated.Edge.CompStruct.ext_iff 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} {x y : e₀₁.CompStruct e₁₂ e₀₂} : x = y ↔ x.simplex = y.simplex - SSet.Truncated.Edge.exists_of_simplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} (s : X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.Edge._proof_2 })) : ∃ x₀ x₁ e, e.edge = s - SSet.Truncated.Edge.CompStruct.exists_of_simplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} (s : X.obj (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.Edge.CompStruct._proof_1 })) : ∃ x₀ x₁ x₂ e₀₁ e₁₂ e₀₂ h, h.simplex = s - SSet.Truncated.Edge.id_edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} (x : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })) : (SSet.Truncated.Edge.id x).edge = (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.σ₂ 0 SSet.Truncated.Edge._proof_3 SSet.Truncated.Edge._proof_1).op)) x - SSet.Truncated.Edge.src_eq 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} (self : SSet.Truncated.Edge x₀ x₁) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 1 SSet.Truncated.Edge._proof_1 SSet.Truncated.Edge._proof_3).op)) self.edge = x₀ - SSet.Truncated.Edge.tgt_eq 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} (self : SSet.Truncated.Edge x₀ x₁) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 0 SSet.Truncated.Edge._proof_1 SSet.Truncated.Edge._proof_3).op)) self.edge = x₁ - SSet.Truncated.Edge.CompStruct.d₀ 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (self : e₀₁.CompStruct e₁₂ e₀₂) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 0 SSet.Truncated.Edge._proof_2 SSet.Truncated.Edge.CompStruct._proof_2).op)) self.simplex = e₁₂.edge - SSet.Truncated.Edge.CompStruct.d₁ 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (self : e₀₁.CompStruct e₁₂ e₀₂) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 1 SSet.Truncated.Edge._proof_2 SSet.Truncated.Edge.CompStruct._proof_2).op)) self.simplex = e₀₂.edge - SSet.Truncated.Edge.CompStruct.d₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (self : e₀₁.CompStruct e₁₂ e₀₂) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 2 SSet.Truncated.Edge._proof_2 SSet.Truncated.Edge.CompStruct._proof_2).op)) self.simplex = e₀₁.edge - SSet.Truncated.Edge.map 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X Y : SSet.Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} (e : SSet.Truncated.Edge x₀ x₁) (f : X ⟶ Y) : SSet.Truncated.Edge ((CategoryTheory.ConcreteCategory.hom (f.app (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 }))) x₀) ((CategoryTheory.ConcreteCategory.hom (f.app (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 }))) x₁) - SSet.Truncated.Edge.map_id 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X Y : SSet.Truncated 2} (x : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })) (f : X ⟶ Y) : (SSet.Truncated.Edge.id x).map f = SSet.Truncated.Edge.id ((CategoryTheory.ConcreteCategory.hom (f.app (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 }))) x) - SSet.Truncated.Edge.mk' 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} (s : X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.Edge._proof_2 })) : SSet.Truncated.Edge ((CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 1 SSet.Truncated.Edge._proof_1 SSet.Truncated.Edge._proof_3).op)) s) ((CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 0 SSet.Truncated.Edge._proof_1 SSet.Truncated.Edge._proof_3).op)) s) - SSet.Truncated.Edge.CompStruct.idCompId_simplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} (x : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })) : (SSet.Truncated.Edge.CompStruct.idCompId x).simplex = (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.σ₂ 0 SSet.Truncated.Edge.CompStruct._proof_2 SSet.Truncated.Edge._proof_2).op)) ((CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.σ₂ 0 SSet.Truncated.Edge._proof_3 SSet.Truncated.Edge._proof_1).op)) x) - SSet.Truncated.Edge.mk'_edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} (s : X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.Edge._proof_2 })) : (SSet.Truncated.Edge.mk' s).edge = s - SSet.Truncated.Edge.map_edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X Y : SSet.Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} (e : SSet.Truncated.Edge x₀ x₁) (f : X ⟶ Y) : (e.map f).edge = (CategoryTheory.ConcreteCategory.hom (f.app (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.Edge._proof_2 }))) e.edge - SSet.Truncated.Edge.CompStruct.map 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X Y : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) (f : X ⟶ Y) : (e₀₁.map f).CompStruct (e₁₂.map f) (e₀₂.map f) - SSet.Truncated.Edge.mk 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} (edge : X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.Edge._proof_2 })) (src_eq : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 1 SSet.Truncated.Edge._proof_1 SSet.Truncated.Edge._proof_3).op)) edge = x₀ := by cat_disch) (tgt_eq : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 0 SSet.Truncated.Edge._proof_1 SSet.Truncated.Edge._proof_3).op)) edge = x₁ := by cat_disch) : SSet.Truncated.Edge x₀ x₁ - SSet.Truncated.Edge.CompStruct.map_simplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X Y : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) (f : X ⟶ Y) : (h.map f).simplex = (CategoryTheory.ConcreteCategory.hom (f.app (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.Edge.CompStruct._proof_1 }))) h.simplex - SSet.Truncated.Edge.CompStruct.mk 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStructTruncated
{X : SSet.Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (simplex : X.obj (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.Edge.CompStruct._proof_1 })) (d₂ : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 2 SSet.Truncated.Edge._proof_2 SSet.Truncated.Edge.CompStruct._proof_2).op)) simplex = e₀₁.edge := by cat_disch) (d₀ : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 0 SSet.Truncated.Edge._proof_2 SSet.Truncated.Edge.CompStruct._proof_2).op)) simplex = e₁₂.edge := by cat_disch) (d₁ : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.δ₂ 1 SSet.Truncated.Edge._proof_2 SSet.Truncated.Edge.CompStruct._proof_2).op)) simplex = e₀₂.edge := by cat_disch) : e₀₁.CompStruct e₁₂ e₀₂ - SSet.Edge.ofTruncated 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStruct
{X : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} (e : SSet.Truncated.Edge x₀ x₁) : SSet.Edge x₀ x₁ - SSet.Edge.toTruncated 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStruct
{X : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} (e : SSet.Edge x₀ x₁) : SSet.Truncated.Edge x₀ x₁ - SSet.Edge.toTruncated_id 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStruct
{X : SSet} (x₀ : X.obj (Opposite.op { len := 0 })) : (SSet.Edge.id x₀).toTruncated = SSet.Truncated.Edge.id x₀ - SSet.Edge.CompStruct.ofTruncated 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStruct
{X : SSet} {x₀ x₁ x₂ : X.obj (Opposite.op { len := 0 })} {e₀₁ : SSet.Edge x₀ x₁} {e₁₂ : SSet.Edge x₁ x₂} {e₀₂ : SSet.Edge x₀ x₂} (h : e₀₁.toTruncated.CompStruct e₁₂.toTruncated e₀₂.toTruncated) : e₀₁.CompStruct e₁₂ e₀₂ - SSet.Edge.CompStruct.toTruncated 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStruct
{X : SSet} {x₀ x₁ x₂ : X.obj (Opposite.op { len := 0 })} {e₀₁ : SSet.Edge x₀ x₁} {e₁₂ : SSet.Edge x₁ x₂} {e₀₂ : SSet.Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) : e₀₁.toTruncated.CompStruct e₁₂.toTruncated e₀₂.toTruncated - SSet.Edge.ofTruncated_edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStruct
{X : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} (e : SSet.Truncated.Edge x₀ x₁) : (SSet.Edge.ofTruncated e).edge = e.edge - SSet.Edge.ofEq_edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStruct
{X : SSet} {x₀ x₁ y₀ y₁ : X.obj (Opposite.op { len := 0 })} (e : SSet.Edge x₀ x₁) (h₀ : x₀ = y₀) (h₁ : x₁ = y₁) : (e.ofEq h₀ h₁).edge = e.edge - SSet.Edge.toTruncated_edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStruct
{X : SSet} {x₀ x₁ : X.obj (Opposite.op { len := 0 })} (e : SSet.Edge x₀ x₁) : e.toTruncated.edge = e.edge - SSet.Edge.CompStruct.ofEq_simplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.CompStruct
{X : SSet} {x₀ x₁ x₂ y₀ y₁ y₂ : X.obj (Opposite.op { len := 0 })} {e₀₁ : SSet.Edge x₀ x₁} {f₀₁ : SSet.Edge y₀ y₁} {e₁₂ : SSet.Edge x₁ x₂} {f₁₂ : SSet.Edge y₁ y₂} {e₀₂ : SSet.Edge x₀ x₂} {f₀₂ : SSet.Edge y₀ y₂} (c : e₀₁.CompStruct e₁₂ e₀₂) (h₀₁ : e₀₁.edge = f₀₁.edge) (h₁₂ : e₁₂.edge = f₁₂.edge) (h₀₂ : e₀₂.edge = f₀₂.edge) : (c.ofEq h₀₁ h₁₂ h₀₂).simplex = c.simplex - SSet.instInhabitedTruncated 📋 Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex
{n : ℕ} : Inhabited (SSet.Truncated n) - SSet.Truncated.Path₁ 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
(X : SSet.Truncated 1) (n : ℕ) : Type u - SSet.Truncated.Path 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} (X : SSet.Truncated (n + 1)) (m : ℕ) : Type u - SSet.Truncated.Path.interval 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} {m : ℕ} (f : X.Path m) (j l : ℕ) (h : j + l ≤ m := by omega) : X.Path l - SSet.Truncated.Path₁.arrow 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{X : SSet.Truncated 1} {n : ℕ} (self : X.Path₁ n) : Fin n → X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.Path₁._proof_2 }) - SSet.Truncated.Path₁.vertex 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{X : SSet.Truncated 1} {n : ℕ} (self : X.Path₁ n) : Fin (n + 1) → X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Path₁._proof_1 }) - SSet.Truncated.Path.arrow 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} {m : ℕ} (f : X.Path m) (i : Fin m) : X.obj (Opposite.op { obj := { len := 1 }, property := ⋯ }) - SSet.Truncated.spine 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} (X : SSet.Truncated (n + 1)) (m : ℕ) (h : m ≤ n + 1 := by omega) (Δ : X.obj (Opposite.op { obj := { len := m }, property := h })) : X.Path m - SSet.Truncated.Path.vertex 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} {m : ℕ} (f : X.Path m) (i : Fin (m + 1)) : X.obj (Opposite.op { obj := { len := 0 }, property := ⋯ }) - SSet.Truncated.Path.map 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X Y : SSet.Truncated (n + 1)} {m : ℕ} (f : X.Path m) (σ : X ⟶ Y) : Y.Path m - SSet.Truncated.Path₁.ext 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{X : SSet.Truncated 1} {n : ℕ} {x y : X.Path₁ n} (vertex : x.vertex = y.vertex) (arrow : x.arrow = y.arrow) : x = y - SSet.Truncated.Path₁.ext_iff 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{X : SSet.Truncated 1} {n : ℕ} {x y : X.Path₁ n} : x = y ↔ x.vertex = y.vertex ∧ x.arrow = y.arrow - SSet.Truncated.Path.map_interval 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X Y : SSet.Truncated (n + 1)} {m : ℕ} (f : X.Path m) (σ : X ⟶ Y) (j l : ℕ) (h : j + l ≤ m) : (f.map σ).interval j l h = (f.interval j l h).map σ - SSet.Truncated.Path.ext' 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} {m : ℕ} {f g : X.Path (m + 1)} (h : ∀ (i : Fin (m + 1)), f.arrow i = g.arrow i) : f = g - SSet.Truncated.Path.ext'_iff 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} {m : ℕ} {f g : X.Path (m + 1)} : f = g ↔ ∀ (i : Fin (m + 1)), f.arrow i = g.arrow i - SSet.Truncated.Path.ext 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} {m : ℕ} {f g : X.Path m} (hᵥ : f.vertex = g.vertex) (hₐ : f.arrow = g.arrow) : f = g - SSet.Truncated.Path.mk₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} (p q : X.Path 1) (h : p.vertex 1 = q.vertex 0) : X.Path 2 - SSet.Truncated.Path.ext_iff 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} {m : ℕ} {f g : X.Path m} : f = g ↔ f.vertex = g.vertex ∧ f.arrow = g.arrow - SSet.truncation_spine 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
(X : SSet) (n m : ℕ) (h : m ≤ n + 1) : ((SSet.truncation (n + 1)).obj X).spine m h = X.spine m - SSet.Truncated.trunc_spine 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} (X : SSet.Truncated (n + 1)) (k m : ℕ) (h : m ≤ k + 1) (hₙ : k ≤ n) : ((SSet.Truncated.trunc (n + 1) (k + 1) ⋯).obj X).spine m h = X.spine m ⋯ - SSet.Truncated.Path₁.arrow_src 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{X : SSet.Truncated 1} {n : ℕ} (self : X.Path₁ n) (i : Fin n) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ 1) SSet.Truncated.Path₁._proof_1 SSet.Truncated.Path₁._proof_5).op)) (self.arrow i) = self.vertex i.castSucc - SSet.Truncated.Path₁.arrow_tgt 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{X : SSet.Truncated 1} {n : ℕ} (self : X.Path₁ n) (i : Fin n) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ 0) SSet.Truncated.Path₁._proof_1 SSet.Truncated.Path₁._proof_5).op)) (self.arrow i) = self.vertex i.succ - SSet.Truncated.Path.map_arrow 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X Y : SSet.Truncated (n + 1)} {m : ℕ} (f : X.Path m) (σ : X ⟶ Y) (i : Fin m) : (f.map σ).arrow i = (CategoryTheory.ConcreteCategory.hom (σ.app (Opposite.op { obj := { len := 1 }, property := ⋯ }))) (f.arrow i) - SSet.Truncated.Path.mk₂_arrow 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} (p q : X.Path 1) (h : p.vertex 1 = q.vertex 0) (a✝ : Fin (Nat.succ 1)) : (p.mk₂ q h).arrow a✝ = ![p.arrow 0, q.arrow 0] a✝ - SSet.Truncated.Path.map_vertex 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X Y : SSet.Truncated (n + 1)} {m : ℕ} (f : X.Path m) (σ : X ⟶ Y) (i : Fin (m + 1)) : (f.map σ).vertex i = (CategoryTheory.ConcreteCategory.hom (σ.app (Opposite.op { obj := { len := 0 }, property := ⋯ }))) (f.vertex i) - SSet.Truncated.spine_map_subinterval 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} (X : SSet.Truncated (n + 1)) (m : ℕ) (hₘ : m ≤ n + 1) (j l : ℕ) (h : j + l ≤ m) (Δ : X.obj (Opposite.op { obj := { len := m }, property := hₘ })) : X.spine l ⋯ ((CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.subinterval j l h) ⋯ hₘ).op)) Δ) = (X.spine m hₘ Δ).interval j l h - SSet.Truncated.spine_arrow 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} (X : SSet.Truncated (n + 1)) (m : ℕ) (hₘ : m ≤ n + 1) (Δ : X.obj (Opposite.op { obj := { len := m }, property := hₘ })) (i : Fin m) : (X.spine m hₘ Δ).arrow i = (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.mkOfSucc i) ⋯ hₘ).op)) Δ - SSet.Truncated.spine_vertex 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} (X : SSet.Truncated (n + 1)) (m : ℕ) (hₘ : m ≤ n + 1) (Δ : X.obj (Opposite.op { obj := { len := m }, property := hₘ })) (i : Fin (m + 1)) : (X.spine m hₘ Δ).vertex i = (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr ({ len := 0 }.const { len := m } i) ⋯ hₘ).op)) Δ - SSet.Truncated.Path.mk₂_vertex 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} (p q : X.Path 1) (h : p.vertex 1 = q.vertex 0) (a✝ : Fin (Nat.succ 2)) : (p.mk₂ q h).vertex a✝ = ![p.vertex 0, p.vertex 1, q.vertex 1] a✝ - SSet.Truncated.Path.arrow_src 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} {m : ℕ} (f : X.Path m) (i : Fin m) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ 1) ⋯ ⋯).op)) (f.arrow i) = f.vertex i.castSucc - SSet.Truncated.Path.arrow_tgt 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} {X : SSet.Truncated (n + 1)} {m : ℕ} (f : X.Path m) (i : Fin m) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ 0) ⋯ ⋯).op)) (f.arrow i) = f.vertex i.succ - SSet.Subcomplex.liftPath_arrow_coe 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{X : SSet} (A : X.Subcomplex) {n : ℕ} (p : X.Path n) (hp₀ : ∀ (j : Fin (n + 1)), p.vertex j ∈ A.obj (Opposite.op { len := 0 })) (hp₁ : ∀ (j : Fin n), p.arrow j ∈ A.obj (Opposite.op { len := 1 })) (j : Fin n) : ↑((A.liftPath p hp₀ hp₁).arrow j) = p.arrow j - SSet.Subcomplex.liftPath_vertex_coe 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{X : SSet} (A : X.Subcomplex) {n : ℕ} (p : X.Path n) (hp₀ : ∀ (j : Fin (n + 1)), p.vertex j ∈ A.obj (Opposite.op { len := 0 })) (hp₁ : ∀ (j : Fin n), p.arrow j ∈ A.obj (Opposite.op { len := 1 })) (j : Fin (n + 1)) : ↑((A.liftPath p hp₀ hp₁).vertex j) = p.vertex j - SSet.Truncated.Path₁.mk 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{X : SSet.Truncated 1} {n : ℕ} (vertex : Fin (n + 1) → X.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Path₁._proof_1 })) (arrow : Fin n → X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.Path₁._proof_2 })) (arrow_src : ∀ (i : Fin n), (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ 1) SSet.Truncated.Path₁._proof_1 SSet.Truncated.Path₁._proof_5).op)) (arrow i) = vertex i.castSucc) (arrow_tgt : ∀ (i : Fin n), (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ 0) SSet.Truncated.Path₁._proof_1 SSet.Truncated.Path₁._proof_5).op)) (arrow i) = vertex i.succ) : X.Path₁ n - SSet.horn.spineId_vertex_coe 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} (i : Fin (n + 3)) (h₀ : 0 < i) (hₙ : i < Fin.last (n + 2)) (j : Fin (n + 2 + 1)) : ↑((SSet.horn.spineId i h₀ hₙ).vertex j) = SSet.stdSimplex.const (n + 2) j (Opposite.op { len := 0 }) - SSet.horn.spineId_arrow_coe 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} (i : Fin (n + 3)) (h₀ : 0 < i) (hₙ : i < Fin.last (n + 2)) (j : Fin (n + 2)) : ↑((SSet.horn.spineId i h₀ hₙ).arrow j) = (SSet.stdSimplex.spineId (n + 2)).arrow j - SSet.Truncated.spine_map_vertex 📋 Mathlib.AlgebraicTopology.SimplicialSet.Path
{n : ℕ} (X : SSet.Truncated (n + 1)) (m : ℕ) (hₘ : m ≤ n + 1) (Δ : X.obj (Opposite.op { obj := { len := m }, property := hₘ })) (a : ℕ) (hₐ : a ≤ n + 1) (φ : { obj := { len := a }, property := hₐ } ⟶ { obj := { len := m }, property := hₘ }) (i : Fin (a + 1)) : (X.spine a hₐ ((CategoryTheory.ConcreteCategory.hom (X.map φ.op)) Δ)).vertex i = (X.spine m hₘ Δ).vertex ((SimplexCategory.Hom.toOrderHom φ.hom) i) - SSet.Truncated.IsStrictSegal 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} (X : SSet.Truncated (n + 1)) : Prop - SSet.Truncated.StrictSegal 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} (X : SSet.Truncated (n + 1)) : Type u - SSet.Truncated.StrictSegal.isStrictSegal 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) : X.IsStrictSegal - SSet.Truncated.StrictSegal.ofIsStrictSegal 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} (X : SSet.Truncated (n + 1)) [X.IsStrictSegal] : X.StrictSegal - SSet.Truncated.StrictSegal.spine_spineToSimplex_apply 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1) (f : X.Path m) : X.spine m h (sx.spineToSimplex m h f) = f - SSet.StrictSegal.instIsStrictSegalObjTruncatedHAddNatOfNatTruncationOfIsStrictSegal 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{X : SSet} [X.IsStrictSegal] (n : ℕ) : ((SSet.truncation (n + 1)).obj X).IsStrictSegal - SSet.StrictSegal.truncation 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{X : SSet} (sx : X.StrictSegal) (n : ℕ) : ((SSet.truncation (n + 1)).obj X).StrictSegal - SSet.Truncated.StrictSegal.spineToSimplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (self : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1 := by lia) : X.Path m → X.obj (Opposite.op { obj := { len := m }, property := h }) - SSet.Truncated.StrictSegal.spineEquiv 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1 := by lia) : X.obj (Opposite.op { obj := { len := m }, property := h }) ≃ X.Path m - SSet.Truncated.spine_injective 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} (X : SSet.Truncated (n + 1)) [X.IsStrictSegal] {m : ℕ} {h : m ≤ n + 1} : Function.Injective (X.spine m h) - SSet.Truncated.IsStrictSegal.mk 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (spine_bijective : ∀ (m : ℕ) (h : autoParam (m ≤ n + 1) SSet.Truncated.IsStrictSegal._auto_1), Function.Bijective (X.spine m h)) : X.IsStrictSegal - SSet.Truncated.IsStrictSegal.spine_bijective 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} (X : SSet.Truncated (n + 1)) [self : X.IsStrictSegal] (m : ℕ) (h : m ≤ n + 1 := by grind) : Function.Bijective (X.spine m h) - SSet.Truncated.StrictSegal.spineToDiagonal 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1 := by lia) : X.Path m → X.obj (Opposite.op { obj := { len := 1 }, property := ⋯ }) - SSet.Truncated.StrictSegal.spine_spineToSimplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (self : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1) : X.spine m h ∘ self.spineToSimplex m ⋯ = id - SSet.Truncated.StrictSegal.spineToSimplex_spine_apply 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1) (Δ : X.obj (Opposite.op { obj := { len := m }, property := h })) : sx.spineToSimplex m h (X.spine m h Δ) = Δ - SSet.Truncated.spine_surjective 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} (X : SSet.Truncated (n + 1)) [X.IsStrictSegal] {m : ℕ} (p : X.Path m) (h : m ≤ n + 1 := by grind) : ∃ x, X.spine m h x = p - SSet.Truncated.StrictSegal.spineToSimplex_spine 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (self : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1) : self.spineToSimplex m ⋯ ∘ X.spine m h = id - SSet.Truncated.StrictSegal.spineInjective 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1 := by lia) : Function.Injective ⇑(sx.spineEquiv m h) - SSet.Truncated.StrictSegal.mk 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (spineToSimplex : (m : ℕ) → (h : autoParam (m ≤ n + 1) SSet.Truncated.StrictSegal._auto_1) → X.Path m → X.obj (Opposite.op { obj := { len := m }, property := h })) (spine_spineToSimplex : ∀ (m : ℕ) (h : m ≤ n + 1), X.spine m h ∘ spineToSimplex m ⋯ = id) (spineToSimplex_spine : ∀ (m : ℕ) (h : m ≤ n + 1), spineToSimplex m ⋯ ∘ X.spine m h = id) : X.StrictSegal - SSet.Truncated.StrictSegal.spineToSimplex_map 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X Y : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (sy : Y.StrictSegal) (m : ℕ) (h : m ≤ n) (f : X.Path (m + 1)) (σ : X ⟶ Y) : sy.spineToSimplex (m + 1) ⋯ (f.map σ) = (CategoryTheory.ConcreteCategory.hom (σ.app (Opposite.op { obj := { len := m + 1 }, property := ⋯ }))) (sx.spineToSimplex (m + 1) ⋯ f) - SSet.Truncated.StrictSegal.spineToSimplex_arrow 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1) (i : Fin m) (f : X.Path m) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.mkOfSucc i) ⋯ h).op)) (sx.spineToSimplex m h f) = f.arrow i - SSet.Truncated.StrictSegal.spineToSimplex_vertex 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1) (i : Fin (m + 1)) (f : X.Path m) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr ({ len := 0 }.const { len := m } i) ⋯ h).op)) (sx.spineToSimplex m h f) = f.vertex i - SSet.Truncated.StrictSegal.spineToSimplex_edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1) (f : X.Path m) (j l : ℕ) (hjl : j + l ≤ m) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.intervalEdge j l hjl) ⋯ h).op)) (sx.spineToSimplex m h f) = sx.spineToDiagonal l ⋯ (f.interval j l hjl) - SSet.Truncated.StrictSegal.spineToSimplex_interval 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1) (f : X.Path m) (j l : ℕ) (hjl : j + l ≤ m) : (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.subinterval j l hjl) ⋯ h).op)) (sx.spineToSimplex m h f) = sx.spineToSimplex l ⋯ (f.interval j l hjl) - SSet.Truncated.StrictSegal.spine_δ_arrow_gt 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n) (f : X.Path (m + 1)) {i : Fin m} {j : Fin (m + 2)} (hij : j < i.succ.castSucc) : (X.spine m ⋯ ((CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ j) ⋯ ⋯).op)) (sx.spineToSimplex (m + 1) ⋯ f))).arrow i = f.arrow i.succ - SSet.Truncated.StrictSegal.spine_δ_vertex_ge 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n) (f : X.Path (m + 1)) {i : Fin (m + 1)} {j : Fin (m + 2)} (hij : j ≤ i.castSucc) : (X.spine m ⋯ ((CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ j) ⋯ ⋯).op)) (sx.spineToSimplex (m + 1) ⋯ f))).vertex i = f.vertex i.succ - SSet.Truncated.StrictSegal.spine_δ_arrow_lt 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n) (f : X.Path (m + 1)) {i : Fin m} {j : Fin (m + 2)} (hij : i.succ.castSucc < j) : (X.spine m ⋯ ((CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ j) ⋯ ⋯).op)) (sx.spineToSimplex (m + 1) ⋯ f))).arrow i = f.arrow i.castSucc - SSet.Truncated.StrictSegal.spine_δ_vertex_lt 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n) (f : X.Path (m + 1)) {i : Fin (m + 1)} {j : Fin (m + 2)} (hij : i.castSucc < j) : (X.spine m ⋯ ((CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ j) ⋯ ⋯).op)) (sx.spineToSimplex (m + 1) ⋯ f))).vertex i = f.vertex i.castSucc - SSet.Truncated.StrictSegal.spine_δ_arrow_eq 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 2)} (sx : X.StrictSegal) (m : ℕ) (h : m ≤ n + 1) (f : X.Path (m + 1)) {i : Fin m} {j : Fin (m + 2)} (hij : j = i.succ.castSucc) : (X.spine m ⋯ ((CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.δ j) ⋯ ⋯).op)) (sx.spineToSimplex (m + 1) ⋯ f))).arrow i = sx.spineToDiagonal 2 ⋯ (f.interval (↑i) 2 ⋯) - SSet.Truncated.IsStrictSegal.hom_ext 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X Y : SSet.Truncated (n + 1)} [Y.IsStrictSegal] {f g : X ⟶ Y} (h : ∀ (x : X.obj (Opposite.op { obj := { len := 1 }, property := ⋯ })), (CategoryTheory.ConcreteCategory.hom (f.app (Opposite.op { obj := { len := 1 }, property := ⋯ }))) x = (CategoryTheory.ConcreteCategory.hom (g.app (Opposite.op { obj := { len := 1 }, property := ⋯ }))) x) : f = g - SSet.Truncated.IsStrictSegal.ext 📋 Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal
{n : ℕ} {X : SSet.Truncated (n + 1)} [X.IsStrictSegal] {d : ℕ} {hd : { len := d + 1 }.len ≤ n + 1} {x y : X.obj (Opposite.op { obj := { len := d + 1 }, property := hd })} (h : ∀ (i : Fin (d + 1)), (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.mkOfSucc i) ⋯ hd).op)) x = (CategoryTheory.ConcreteCategory.hom (X.map (SimplexCategory.Truncated.Hom.tr (SimplexCategory.mkOfSucc i) ⋯ hd).op)) y) : x = y - SSet.Truncated.instMonoidalTruncation 📋 Mathlib.AlgebraicTopology.SimplicialSet.Monoidal
(n : ℕ) : (SSet.truncation n).Monoidal - SSet.Truncated.tensor_map_apply_fst 📋 Mathlib.AlgebraicTopology.SimplicialSet.Monoidal
{n : ℕ} {X Y : SSet.Truncated n} {d e : (SimplexCategory.Truncated n)ᵒᵖ} (f : d ⟶ e) (x : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj d) : ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.MonoidalCategoryStruct.tensorHom (X.map f) (Y.map f))) x).1 = (CategoryTheory.ConcreteCategory.hom (X.map f)) x.1 - SSet.Truncated.tensor_map_apply_snd 📋 Mathlib.AlgebraicTopology.SimplicialSet.Monoidal
{n : ℕ} {X Y : SSet.Truncated n} {d e : (SimplexCategory.Truncated n)ᵒᵖ} (f : d ⟶ e) (x : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj d) : ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.MonoidalCategoryStruct.tensorHom (X.map f) (Y.map f))) x).2 = (CategoryTheory.ConcreteCategory.hom (Y.map f)) x.2 - CategoryTheory.Nerve.nerveFunctor₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.Coskeletal
: CategoryTheory.Functor CategoryTheory.Cat (SSet.Truncated 2) - CategoryTheory.Nerve.instIsStrictSegalObjCatTruncatedOfNatNatNerveFunctor₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.Coskeletal
(X : CategoryTheory.Cat) : (CategoryTheory.Nerve.nerveFunctor₂.obj X).IsStrictSegal - CategoryTheory.Nerve.cosk₂Iso 📋 Mathlib.AlgebraicTopology.SimplicialSet.Coskeletal
: CategoryTheory.nerveFunctor ≅ CategoryTheory.Nerve.nerveFunctor₂.comp (SSet.Truncated.cosk 2) - SSet.OneTruncation₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(S : SSet.Truncated 2) : Type u_1 - SSet.Truncated.HomotopyCategory 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(V : SSet.Truncated 2) : Type u - SSet.OneTruncation₂.reflQuiver 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(S : SSet.Truncated 2) : CategoryTheory.ReflQuiver (SSet.OneTruncation₂ S) - SSet.Truncated.instCategoryHomotopyCategory 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(V : SSet.Truncated 2) : CategoryTheory.Category.{u_1, u_1} V.HomotopyCategory - SSet.Truncated.HomotopyCategory.morphismPropertyHomMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(V : SSet.Truncated 2) : CategoryTheory.MorphismProperty V.HomotopyCategory - SSet.Truncated.HomotopyCategory.quotientFunctor 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(V : SSet.Truncated 2) : CategoryTheory.Functor (CategoryTheory.Cat.FreeRefl (SSet.OneTruncation₂ V)) V.HomotopyCategory - SSet.Truncated.HomotopyCategory.instFullFreeReflOneTruncation₂QuotientFunctor 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(V : SSet.Truncated 2) : (SSet.Truncated.HomotopyCategory.quotientFunctor V).Full - SSet.OneTruncation₂.HoRel₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(V : SSet.Truncated 2) : HomRel (CategoryTheory.Cat.FreeRefl (SSet.OneTruncation₂ V)) - SSet.Truncated.HomotopyCategory.morphismPropertyHomMk_eq_strictMap 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} : SSet.Truncated.HomotopyCategory.morphismPropertyHomMk V = (CategoryTheory.Cat.FreeRefl.morphismPropertyHomMk (SSet.OneTruncation₂ V)).strictMap (SSet.Truncated.HomotopyCategory.quotientFunctor V) - SSet.oneTruncation₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
: CategoryTheory.Functor (SSet.Truncated 2) CategoryTheory.ReflQuiv - SSet.Truncated.hoFunctor₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
: CategoryTheory.Functor (SSet.Truncated 2) CategoryTheory.Cat - SSet.oneTruncation₂_obj 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(S : SSet.Truncated 2) : SSet.oneTruncation₂.obj S = CategoryTheory.ReflQuiv.of (SSet.OneTruncation₂ S) - SSet.OneTruncation₂.ofNerve₂.natIso 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
: CategoryTheory.Nerve.nerveFunctor₂.comp SSet.oneTruncation₂ ≅ CategoryTheory.ReflQuiv.forget - SSet.Truncated.HomotopyCategory.multiplicativeClosure_morphismPropertyHomMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} : (SSet.Truncated.HomotopyCategory.morphismPropertyHomMk V).multiplicativeClosure = ⊤ - SSet.OneTruncation₂.nerveEquiv 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{C : Type u} [CategoryTheory.Category.{v, u} C] : SSet.OneTruncation₂ ((SSet.truncation 2).obj (CategoryTheory.nerve C)) ≃ C - SSet.Truncated.ev0₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} (φ : V.obj (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.ι0₂._proof_3 })) : SSet.OneTruncation₂ V - SSet.Truncated.ev1₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} (φ : V.obj (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.ι0₂._proof_3 })) : SSet.OneTruncation₂ V - SSet.Truncated.ev2₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} (φ : V.obj (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.ι0₂._proof_3 })) : SSet.OneTruncation₂ V - SSet.Truncated.HomotopyCategory.mk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} (x : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })) : V.HomotopyCategory - SSet.Truncated.HomotopyCategory.instSubsingletonOfObjOppositeTruncatedOfNatNatOpMkSimplexCategoryLeLenMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(X : SSet.Truncated 2) [Subsingleton (X.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 }))] : Subsingleton X.HomotopyCategory - SSet.Truncated.HomotopyCategory.instUniqueOfObjOppositeTruncatedOfNatNatOpMkSimplexCategoryLeLenMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(X : SSet.Truncated 2) [Unique (X.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 }))] : Unique X.HomotopyCategory - SSet.Truncated.HomotopyCategory.mk_surjective 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} : Function.Surjective SSet.Truncated.HomotopyCategory.mk - SSet.instUniqueOneTruncation₂DeltaZero 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
: Unique (SSet.OneTruncation₂ ((SSet.truncation 2).obj (SSet.stdSimplex.obj { len := 0 }))) - SSet.hoFunctor_obj 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(X : SSet) : SSet.hoFunctor.obj X = CategoryTheory.Cat.of X.HomotopyCategory - SSet.OneTruncation₂.map 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{S T : SSet.Truncated 2} (f : S ⟶ T) : SSet.OneTruncation₂ S ⥤rq SSet.OneTruncation₂ T - SSet.Truncated.mapHomotopyCategory 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V W : SSet.Truncated 2} (f : V ⟶ W) : CategoryTheory.Functor V.HomotopyCategory W.HomotopyCategory - SSet.Truncated.HomotopyCategory.cases_on 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {motive : V.HomotopyCategory → Prop} (h : ∀ (x : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })), motive (SSet.Truncated.HomotopyCategory.mk x)) (x : V.HomotopyCategory) : motive x - SSet.OneTruncation₂.reflQuiver_id 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(S : SSet.Truncated 2) (x : S.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })) : CategoryTheory.ReflQuiver.id x = SSet.Truncated.Edge.id x - SSet.Truncated.ev01₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} (φ : V.obj (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.ι0₂._proof_3 })) : SSet.Truncated.ev0₂ φ ⟶ SSet.Truncated.ev1₂ φ - SSet.Truncated.ev02₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} (φ : V.obj (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.ι0₂._proof_3 })) : SSet.Truncated.ev0₂ φ ⟶ SSet.Truncated.ev2₂ φ - SSet.Truncated.ev12₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} (φ : V.obj (Opposite.op { obj := { len := 2 }, property := SSet.Truncated.ι0₂._proof_3 })) : SSet.Truncated.ev1₂ φ ⟶ SSet.Truncated.ev2₂ φ - SSet.Truncated.HomotopyCategory.ext 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {x y : V.HomotopyCategory} (h : x.as.as = y.as.as) : x = y - SSet.Truncated.HomotopyCategory.lift_unique' 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(V : SSet.Truncated 2) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] (F₁ F₂ : CategoryTheory.Functor V.HomotopyCategory D) (h : (SSet.Truncated.HomotopyCategory.quotientFunctor V).comp F₁ = (SSet.Truncated.HomotopyCategory.quotientFunctor V).comp F₂) : F₁ = F₂ - SSet.instIsDiscreteHomotopyCategoryObjSimplexCategoryStdSimplexMkOfNatNat 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
: CategoryTheory.IsDiscrete (SSet.stdSimplex.obj { len := 0 }).HomotopyCategory - SSet.Truncated.HomotopyCategory.homMk_id 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} (x : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })) : SSet.Truncated.HomotopyCategory.homMk (SSet.Truncated.Edge.id x) = CategoryTheory.CategoryStruct.id (SSet.Truncated.HomotopyCategory.mk x) - SSet.HomotopyCategory.homMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X : SSet} {x y : X.obj (Opposite.op { len := 0 })} (e : SSet.Edge x y) : SSet.HomotopyCategory.mk x ⟶ SSet.HomotopyCategory.mk y - SSet.OneTruncation₂.hom_ext 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{S : SSet.Truncated 2} {x y : SSet.OneTruncation₂ S} {f g : x ⟶ y} (h : f.edge = g.edge) : f = g - SSet.OneTruncation₂.hom_ext_iff 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{S : SSet.Truncated 2} {x y : SSet.OneTruncation₂ S} {f g : x ⟶ y} : f = g ↔ f.edge = g.edge - SSet.OneTruncation₂.homOfEq_edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X : SSet.Truncated 2} {x₁ y₁ x₂ y₂ : SSet.OneTruncation₂ X} (f : x₁ ⟶ y₁) (hx : x₁ = x₂) (hy : y₁ = y₂) : (Quiver.homOfEq f hx hy).edge = f.edge - SSet.oneTruncation₂_map 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X✝ Y✝ : SSet.Truncated 2} (f : X✝ ⟶ Y✝) : SSet.oneTruncation₂.map f = SSet.OneTruncation₂.map f - SSet.OneTruncation₂.ofNerve₂ 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(C : Type u) [CategoryTheory.Category.{u, u} C] : CategoryTheory.ReflQuiv.of (SSet.OneTruncation₂ ((SSet.truncation 2).obj (CategoryTheory.nerve C))) ≅ CategoryTheory.ReflQuiv.of C - SSet.mapHomotopyCategory 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X Y : SSet} (f : X ⟶ Y) : CategoryTheory.Functor X.HomotopyCategory Y.HomotopyCategory - SSet.Truncated.HomotopyCategory.isTerminal 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(X : SSet.Truncated 2) [Unique (X.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 }))] [Subsingleton (X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.ι0₂._proof_5 }))] : CategoryTheory.Limits.IsTerminal (CategoryTheory.Cat.of X.HomotopyCategory) - SSet.OneTruncation₂.reflQuiver_Hom 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(S : SSet.Truncated 2) (x₀ x₁ : S.obj (Opposite.op { obj := { len := 0 }, property := SSet.Truncated.Edge._proof_1 })) : (x₀ ⟶ x₁) = SSet.Truncated.Edge x₀ x₁ - SSet.Truncated.HomotopyCategory.morphismPropertyHomMk_of_edge 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {x y : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })} (e : SSet.Truncated.Edge x y) : SSet.Truncated.HomotopyCategory.morphismPropertyHomMk V (SSet.Truncated.HomotopyCategory.homMk e) - SSet.Truncated.HomotopyCategory.subsingleton_hom 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(X : SSet.Truncated 2) [Unique (X.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 }))] [Subsingleton (X.obj (Opposite.op { obj := { len := 1 }, property := SSet.Truncated.ι0₂._proof_5 }))] (x y : X.HomotopyCategory) : Subsingleton (x ⟶ y) - SSet.Truncated.HomotopyCategory.homMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {x₀ x₁ : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })} (e : SSet.Truncated.Edge x₀ x₁) : SSet.Truncated.HomotopyCategory.mk x₀ ⟶ SSet.Truncated.HomotopyCategory.mk x₁ - SSet.HomotopyCategory.homMk_id 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X : SSet} (x : X.obj (Opposite.op { len := 0 })) : SSet.HomotopyCategory.homMk (SSet.Edge.id x) = CategoryTheory.CategoryStruct.id (SSet.HomotopyCategory.mk x) - SSet.Truncated.HomotopyCategory.morphismProperty_eq_top 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {W : CategoryTheory.MorphismProperty V.HomotopyCategory} [W.IsMultiplicative] (hW : ∀ {x y : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })} (e : SSet.Truncated.Edge x y), W (SSet.Truncated.HomotopyCategory.homMk e)) : W = ⊤ - SSet.HomotopyCategory.homMk_comp_homMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X : SSet} {x₀ x₁ x₂ : X.obj (Opposite.op { len := 0 })} {e₀₁ : SSet.Edge x₀ x₁} {e₁₂ : SSet.Edge x₁ x₂} {e₀₂ : SSet.Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) : CategoryTheory.CategoryStruct.comp (SSet.HomotopyCategory.homMk e₀₁) (SSet.HomotopyCategory.homMk e₁₂) = SSet.HomotopyCategory.homMk e₀₂ - SSet.Truncated.HomotopyCategory.hom_rec 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {motive : {x y : V.HomotopyCategory} → (x ⟶ y) → Prop} (homMk : ∀ {x y : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })} (e : SSet.Truncated.Edge x y), motive (SSet.Truncated.HomotopyCategory.homMk e)) (comp : ∀ {x y z : V.HomotopyCategory} (f : x ⟶ y) (g : y ⟶ z), motive f → motive g → motive (CategoryTheory.CategoryStruct.comp f g)) {x y : V.HomotopyCategory} (f : x ⟶ y) : motive f - SSet.Truncated.HomotopyCategory.homMk_comp_homMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {x₀ x₁ x₂ : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) : CategoryTheory.CategoryStruct.comp (SSet.Truncated.HomotopyCategory.homMk e₀₁) (SSet.Truncated.HomotopyCategory.homMk e₁₂) = SSet.Truncated.HomotopyCategory.homMk e₀₂ - SSet.hoFunctor_map 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X✝ Y✝ : SSet} (f : X✝ ⟶ Y✝) : SSet.hoFunctor.map f = (SSet.mapHomotopyCategory f).toCatHom - SSet.Truncated.HomotopyCategory.homMk_comp_homMk_assoc 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {x₀ x₁ x₂ : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) {Z : V.HomotopyCategory} (h✝ : SSet.Truncated.HomotopyCategory.mk x₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp (SSet.Truncated.HomotopyCategory.homMk e₀₁) (CategoryTheory.CategoryStruct.comp (SSet.Truncated.HomotopyCategory.homMk e₁₂) h✝) = CategoryTheory.CategoryStruct.comp (SSet.Truncated.HomotopyCategory.homMk e₀₂) h✝ - SSet.mapHomotopyCategory_obj_mk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X Y : SSet} (f : X ⟶ Y) (x : X.obj (Opposite.op { len := 0 })) : (SSet.mapHomotopyCategory f).obj (SSet.HomotopyCategory.mk x) = SSet.HomotopyCategory.mk ((CategoryTheory.ConcreteCategory.hom (f.app (Opposite.op { len := 0 }))) x) - SSet.Truncated.HomotopyCategory.congr_arrowMk_homMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {x₀ x₁ : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })} (e : SSet.Truncated.Edge x₀ x₁) {y₀ y₁ : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })} (e' : SSet.Truncated.Edge y₀ y₁) (h : e.edge = e'.edge) : CategoryTheory.Arrow.mk (SSet.Truncated.HomotopyCategory.homMk e) = CategoryTheory.Arrow.mk (SSet.Truncated.HomotopyCategory.homMk e') - SSet.instUniqueHomOneTruncation₂ObjTruncatedOfNatNatTruncationSimplexCategoryStdSimplexMk 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
(x y : SSet.OneTruncation₂ ((SSet.truncation 2).obj (SSet.stdSimplex.obj { len := 0 }))) : Unique (x ⟶ y) - SSet.OneTruncation₂.HoRel₂.of_compStruct 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {x₀ x₁ x₂ : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })} {e₀₁ : SSet.Truncated.Edge x₀ x₁} {e₁₂ : SSet.Truncated.Edge x₁ x₂} {e₀₂ : SSet.Truncated.Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) : SSet.OneTruncation₂.HoRel₂ V ((CategoryTheory.Cat.FreeRefl.quotientFunctor (SSet.OneTruncation₂ V)).map (CategoryTheory.CategoryStruct.comp (Quiver.Hom.toPath e₀₁) (Quiver.Hom.toPath e₁₂))) ((CategoryTheory.Cat.FreeRefl.quotientFunctor (SSet.OneTruncation₂ V)).map (Quiver.Hom.toPath e₀₂)) - SSet.HomotopyCategory.hom_rec 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X : SSet} {motive : {x y : X.HomotopyCategory} → (x ⟶ y) → Prop} (homMk : ∀ {x y : X.obj (Opposite.op { len := 0 })} (e : SSet.Edge x y), motive (SSet.HomotopyCategory.homMk e)) (comp : ∀ {x y z : X.HomotopyCategory} (f : x ⟶ y) (g : y ⟶ z), motive f → motive g → motive (CategoryTheory.CategoryStruct.comp f g)) {x y : X.HomotopyCategory} (f : x ⟶ y) : motive f - SSet.Truncated.HomotopyCategory.mkNatTrans 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {F G : CategoryTheory.Functor V.HomotopyCategory D} (φ : (x : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })) → F.obj (SSet.Truncated.HomotopyCategory.mk x) ⟶ G.obj (SSet.Truncated.HomotopyCategory.mk x)) (hφ : ∀ ⦃x y : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })⦄ (e : SSet.Truncated.Edge x y), CategoryTheory.CategoryStruct.comp (F.map (SSet.Truncated.HomotopyCategory.homMk e)) (φ y) = CategoryTheory.CategoryStruct.comp (φ x) (G.map (SSet.Truncated.HomotopyCategory.homMk e)) := by cat_disch) : F ⟶ G - SSet.HomotopyCategory.homMk_comp_homMk_assoc 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{X : SSet} {x₀ x₁ x₂ : X.obj (Opposite.op { len := 0 })} {e₀₁ : SSet.Edge x₀ x₁} {e₁₂ : SSet.Edge x₁ x₂} {e₀₂ : SSet.Edge x₀ x₂} (h : e₀₁.CompStruct e₁₂ e₀₂) {Z : X.HomotopyCategory} (h✝ : SSet.HomotopyCategory.mk x₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp (SSet.HomotopyCategory.homMk e₀₁) (CategoryTheory.CategoryStruct.comp (SSet.HomotopyCategory.homMk e₁₂) h✝) = CategoryTheory.CategoryStruct.comp (SSet.HomotopyCategory.homMk e₀₂) h✝ - SSet.Truncated.HomotopyCategory.mkNatIso 📋 Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
{V : SSet.Truncated 2} {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {F G : CategoryTheory.Functor V.HomotopyCategory D} (iso : (x : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })) → F.obj (SSet.Truncated.HomotopyCategory.mk x) ≅ G.obj (SSet.Truncated.HomotopyCategory.mk x)) (hiso : ∀ ⦃x y : V.obj (Opposite.op { obj := { len := 0 }, property := SSet.OneTruncation₂._proof_1 })⦄ (e : SSet.Truncated.Edge x y), CategoryTheory.CategoryStruct.comp (F.map (SSet.Truncated.HomotopyCategory.homMk e)) (iso y).hom = CategoryTheory.CategoryStruct.comp (iso x).hom (G.map (SSet.Truncated.HomotopyCategory.homMk e)) := by cat_disch) : F ≅ G
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c