Skip to content

Commit 64694b0

Browse files
committed
feat(AlgebraicTopology): basic missing lemmas about the simplex category (#31248)
1 parent 282887a commit 64694b0

File tree

5 files changed

+47
-5
lines changed

5 files changed

+47
-5
lines changed

Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ open Simplicial CategoryTheory Limits
2626

2727
namespace SimplexCategory
2828

29-
instance {n m : } : DecidableEq (⦋n⦌⦋m⦌) := fun a b =>
29+
instance {n m : SimplexCategory} : DecidableEq (nm) := fun a b =>
3030
decidable_of_iff (a.toOrderHom = b.toOrderHom) SimplexCategory.Hom.ext_iff.symm
3131

3232
section Init
@@ -145,6 +145,8 @@ lemma mkOfSucc_homToOrderHom_zero {n} (i : Fin n) :
145145
lemma mkOfSucc_homToOrderHom_one {n} (i : Fin n) :
146146
DFunLike.coe (F := Fin 2 →o Fin (n + 1)) (Hom.toOrderHom (mkOfSucc i)) 1 = i.succ := rfl
147147

148+
@[simp]
149+
lemma mkOfSucc_eq_id : mkOfSucc (0 : Fin 1) = 𝟙 _ := by decide
148150

149151
/-- The morphism `⦋2⦌ ⟶ ⦋n⦌` that picks out a specified composite of morphisms in `Fin (n+1)`. -/
150152
def mkOfLeComp {n} (i j k : Fin (n + 1)) (h₁ : i ≤ j) (h₂ : j ≤ k) :
@@ -382,6 +384,10 @@ theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
382384
(Fin.succ_le_castSucc_iff.mpr (H.trans_lt' h)), Fin.predAbove_of_le_castSucc _ k.succ
383385
(Fin.succ_le_castSucc_iff.mpr h)]
384386

387+
lemma δ_zero_eq_const : δ (0 : Fin 2) = const _ _ 1 := by decide
388+
389+
lemma δ_one_eq_const : δ (1 : Fin 2) = const _ _ 0 := by decide
390+
385391
/--
386392
If `f : ⦋m⦌ ⟶ ⦋n+1⦌` is a morphism and `j` is not in the range of `f`,
387393
then `factor_δ f j` is a morphism `⦋m⦌ ⟶ ⦋n⦌` such that
@@ -454,6 +460,10 @@ lemma mkOfSucc_δ_eq {n : ℕ} {i : Fin n} {j : Fin (n + 2)}
454460
rw [Fin.succAbove_castSucc_self]
455461
rfl
456462

463+
lemma mkOfSucc_one_eq_δ : mkOfSucc (1 : Fin 2) = δ 0 := by decide
464+
465+
lemma mkOfSucc_zero_eq_δ : mkOfSucc (0 : Fin 2) = δ 2 := by decide
466+
457467
theorem eq_of_one_to_two (f : ⦋1⦌ ⟶ ⦋2⦌) :
458468
(∃ i, f = (δ (n := 1) i)) ∨ ∃ a, f = SimplexCategory.const _ _ a := by
459469
have : f.toOrderHom 0 ≤ f.toOrderHom 1 := f.toOrderHom.monotone (by decide : (0 : Fin 2) ≤ 1)

Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,9 @@ def homEquivFunctor {a b : SimplexCategory} :
161161
SimplexCategory.homEquivOrderHom.trans OrderHom.equivFunctor
162162

163163
/-- The truncated simplex category. -/
164-
def Truncated (n : ℕ) :=
164+
abbrev Truncated (n : ℕ) :=
165165
ObjectProperty.FullSubcategory fun a : SimplexCategory => a.len ≤ n
166166

167-
instance (n : ℕ) : SmallCategory.{0} (Truncated n) :=
168-
ObjectProperty.FullSubcategory.category _
169-
170167
namespace Truncated
171168

172169
instance {n} : Inhabited (Truncated n) :=
@@ -214,6 +211,11 @@ abbrev Hom.tr {n : ℕ} {a b : SimplexCategory} (f : a ⟶ b)
214211
(⟨a, ha⟩ : Truncated n) ⟶ ⟨b, hb⟩ :=
215212
f
216213

214+
@[simp]
215+
lemma Hom.tr_id {n : ℕ} (a : SimplexCategory) (ha : a.len ≤ n := by trunc) :
216+
Hom.tr (𝟙 a) ha = 𝟙 _ := rfl
217+
218+
@[reassoc]
217219
lemma Hom.tr_comp {n : ℕ} {a b c : SimplexCategory} (f : a ⟶ b) (g : b ⟶ c)
218220
(ha : a.len ≤ n := by trunc) (hb : b.len ≤ n := by trunc)
219221
(hc : c.len ≤ n := by trunc) :

Mathlib/AlgebraicTopology/SimplexCategory/Truncated.lean

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ open Simplicial CategoryTheory
1717

1818
namespace SimplexCategory.Truncated
1919

20+
instance {d : ℕ} {n m : Truncated d} : DecidableEq (n ⟶ m) := fun a b =>
21+
decidable_of_iff (a.toOrderHom = b.toOrderHom) SimplexCategory.Hom.ext_iff.symm
22+
2023
/-- For `0 < n`, the inclusion functor from the `n`-truncated simplex category to the untruncated
2124
simplex category is initial. -/
2225
instance initial_inclusion {n : ℕ} [NeZero n] : (inclusion n).Initial := by
@@ -75,6 +78,11 @@ lemma δ₂_zero_comp_σ₂_one : δ₂ (0 : Fin 3) ≫ σ₂ 1 = σ₂ 0 ≫ δ
7578
lemma δ₂_one_comp_σ₂_zero {n} (hn := by decide) (hn' := by decide) :
7679
δ₂ (n := n) 1 hn hn' ≫ σ₂ 0 hn' hn = 𝟙 _ := SimplexCategory.δ_comp_σ_succ
7780

81+
@[reassoc (attr := simp)]
82+
lemma δ₂_one_comp_σ₂_one {n} (hn := by decide) (hn' := by decide) :
83+
δ₂ (n := n + 1) 1 hn hn' ≫ σ₂ 1 hn' hn = 𝟙 _ :=
84+
SimplexCategory.δ_comp_σ_self (n := n + 1) (i := 1)
85+
7886
@[reassoc (attr := simp)]
7987
lemma δ₂_two_comp_σ₂_one : δ₂ (2 : Fin 3) ≫ σ₂ 1 = 𝟙 _ :=
8088
SimplexCategory.δ_comp_σ_succ' (by decide)
@@ -83,6 +91,13 @@ lemma δ₂_two_comp_σ₂_one : δ₂ (2 : Fin 3) ≫ σ₂ 1 = 𝟙 _ :=
8391
lemma δ₂_two_comp_σ₂_zero : δ₂ (2 : Fin 3) ≫ σ₂ 0 = σ₂ 0 ≫ δ₂ 1 :=
8492
SimplexCategory.δ_comp_σ_of_gt' (by decide)
8593

94+
lemma δ₂_one_eq_const : δ₂ (1 : Fin 2) = const _ _ 0 := by decide
95+
96+
lemma δ₂_zero_eq_const : δ₂ (0 : Fin 2) = const _ _ 1 := by decide
97+
98+
@[reassoc]
99+
lemma δ₂_zero_comp_δ₂_two : δ₂ (0 : Fin 2) ≫ δ₂ 2 = δ₂ 1 ≫ δ₂ 0 := by decide
100+
86101
end Two
87102

88103
end SimplexCategory.Truncated

Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,14 @@ variable (X : SimplicialObject C)
9292
def δ {n} (i : Fin (n + 2)) : X _⦋n + 1⦌ ⟶ X _⦋n⦌ :=
9393
X.map (SimplexCategory.δ i).op
9494

95+
lemma δ_def {n} (i : Fin (n + 2)) : X.δ i = X.map (SimplexCategory.δ i).op := rfl
96+
9597
/-- Degeneracy maps for a simplicial object. -/
9698
def σ {n} (i : Fin (n + 1)) : X _⦋n⦌ ⟶ X _⦋n + 1⦌ :=
9799
X.map (SimplexCategory.σ i).op
98100

101+
lemma σ_def {n} (i : Fin (n + 1)) : X.σ i = X.map (SimplexCategory.σ i).op := rfl
102+
99103
/-- The diagonal of a simplex is the long edge of the simplex. -/
100104
def diagonal {n : ℕ} : X _⦋n⦌ ⟶ X _⦋1⦌ := X.map ((SimplexCategory.diag n).op)
101105

Mathlib/AlgebraicTopology/SimplicialSet/Basic.lean

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,17 @@ abbrev trunc (n m : ℕ) (h : m ≤ n := by omega) :
115115
SSet.Truncated n ⥤ SSet.Truncated m :=
116116
SimplicialObject.Truncated.trunc (Type u) n m
117117

118+
@[simp]
119+
lemma id_app {n : ℕ} (X : Truncated n) (d : (SimplexCategory.Truncated n)ᵒᵖ) :
120+
NatTrans.app (𝟙 X) d = 𝟙 _ :=
121+
rfl
122+
123+
@[simp, reassoc]
124+
lemma comp_app {n : ℕ} {X Y Z : Truncated n} (f : X ⟶ Y) (g : Y ⟶ Z)
125+
(d : (SimplexCategory.Truncated n)ᵒᵖ) :
126+
(f ≫ g).app d = f.app d ≫ g.app d :=
127+
rfl
128+
118129
end Truncated
119130

120131
/-- The truncation functor on simplicial sets. -/

0 commit comments

Comments
 (0)