l3lab/ntp-mathlib huggingface dataset:
@[reassoc]
theorem δ_comp_σ_of_gt' {n} {i : Fin (n + 3)} {j : Fin (n + 2)} (H : j.succ < i) :
    δ i ≫ σ j = σ (j.castLT ((add_lt_add_iff_right 1).mp (lt_of_lt_of_le H i.is_le))) ≫
      δ (i.pred <| fun (hi : i = 0) => by simp only [Fin.not_lt_zero, hi] at H) := by
  rw [← δ_comp_σ_of_gt]
  · simp
  · 

Proof state:
n : ℕ
i : Fin (n + 3)
j : Fin (n + 2)
H : Fin.succ j < i
⊢ Fin.castSucc (Fin.castLT j (_ : ↑j < n + 1)) < Fin.pred i (_ : i = 0 → False)

Next tactic:
rw [Fin.castSucc_castLT, ← Fin.succ_lt_succ_iff, Fin.succ_pred]
@[reassoc]
theorem δ_comp_σ_of_gt' {n} {i : Fin (n + 3)} {j : Fin (n + 2)} (H : j.succ < i) :
    δ i ≫ σ j = σ (j.castLT ((add_lt_add_iff_right 1).mp (lt_of_lt_of_le H i.is_le))) ≫
      δ (i.pred <| fun (hi : i = 0) => by simp only [Fin.not_lt_zero, hi] at H) := by
  rw [← δ_comp_σ_of_gt]
  · simp
  · rw [Fin.castSucc_castLT, ← Fin.succ_lt_succ_iff, Fin.succ_pred]
    

Proof state:
n : ℕ
i : Fin (n + 3)
j : Fin (n + 2)
H : Fin.succ j < i
⊢ Fin.succ j < i

Next tactic:
exact H
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  

Proof state:
n : ℕ
i j : Fin (n + 1)
H : i ≤ j
⊢ σ (Fin.castSucc i) ≫ σ j = σ (Fin.succ j) ≫ σ i

Next tactic:
ext ⟨k, hk⟩
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  

Proof state:
case a.h.h.mk.h
n : ℕ
i j : Fin (n + 1)
H : i ≤ j
k : ℕ
hk : k < len [n + 1 + 1] + 1
⊢ ↑((Hom.toOrderHom (σ (Fin.castSucc i) ≫ σ j)) { val := k, isLt := hk }) =
    ↑((Hom.toOrderHom (σ (Fin.succ j) ≫ σ i)) { val := k, isLt := hk })

Next tactic:
rcases i with ⟨i, hi⟩
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  

Proof state:
case a.h.h.mk.h.mk
n : ℕ
j : Fin (n + 1)
k : ℕ
hk : k < len [n + 1 + 1] + 1
i : ℕ
hi : i < n + 1
H : { val := i, isLt := hi } ≤ j
⊢ ↑((Hom.toOrderHom (σ (Fin.castSucc { val := i, isLt := hi }) ≫ σ j)) { val := k, isLt := hk }) =
    ↑((Hom.toOrderHom (σ (Fin.succ j) ≫ σ { val := i, isLt := hi })) { val := k, isLt := hk })

Next tactic:
rcases j with ⟨j, hj⟩
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  

Proof state:
case a.h.h.mk.h.mk.mk
n k : ℕ
hk : k < len [n + 1 + 1] + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : { val := i, isLt := hi } ≤ { val := j, isLt := hj }
⊢ ↑((Hom.toOrderHom (σ (Fin.castSucc { val := i, isLt := hi }) ≫ σ { val := j, isLt := hj }))
        { val := k, isLt := hk }) =
    ↑((Hom.toOrderHom (σ (Fin.succ { val := j, isLt := hj }) ≫ σ { val := i, isLt := hi })) { val := k, isLt := hk })

Next tactic:
simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says 

Proof state:
case a.h.h.mk.h.mk.mk
n k : ℕ
hk : k < len [n + 1 + 1] + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : { val := i, isLt := hi } ≤ { val := j, isLt := hj }
⊢ ↑((Hom.toOrderHom (σ (Fin.castSucc { val := i, isLt := hi }) ≫ σ { val := j, isLt := hj }))
        { val := k, isLt := hk }) =
    ↑((Hom.toOrderHom (σ (Fin.succ { val := j, isLt := hj }) ≫ σ { val := i, isLt := hi })) { val := k, isLt := hk })

Next tactic:
simp only [Fin.mk_le_mk, len_mk] at H hk
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  

Proof state:
case a.h.h.mk.h.mk.mk
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
⊢ ↑((Hom.toOrderHom (σ (Fin.castSucc { val := i, isLt := hi }) ≫ σ { val := j, isLt := hj }))
        { val := k, isLt := hk }) =
    ↑((Hom.toOrderHom (σ (Fin.succ { val := j, isLt := hj }) ≫ σ { val := i, isLt := hi })) { val := k, isLt := hk })

Next tactic:
dsimp [σ, Fin.predAbove]
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  

Proof state:
case a.h.h.mk.h.mk.mk
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
⊢ (if j < if i < k then k - 1 else k then (if i < k then k - 1 else k) - 1 else if i < k then k - 1 else k) =
    if i < if j + 1 < k then k - 1 else k then (if j + 1 < k then k - 1 else k) - 1 else if j + 1 < k then k - 1 else k

Next tactic:
split_ifs
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  

Proof state:
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : j < k - 1
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 - 1 = k - 1 - 1
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : j < k - 1
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k - 1 - 1 = k - 1
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : i < k
h✝¹ : j < k - 1
h✝ : ¬j + 1 < k
⊢ k - 1 - 1 = k - 1
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : ¬j < k - 1
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 = k - 1 - 1
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : ¬j < k - 1
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k - 1 = k - 1
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : i < k
h✝¹ : ¬j < k - 1
h✝ : ¬j + 1 < k
⊢ k - 1 = k - 1
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : j < k
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 = k - 1 - 1
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : j < k
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k - 1 = k - 1
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : ¬i < k
h✝¹ : j < k
h✝ : ¬j + 1 < k
⊢ k - 1 = k
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : ¬j < k
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k = k - 1 - 1
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : ¬j < k
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k = k - 1
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : ¬i < k
h✝¹ : ¬j < k
h✝ : ¬j + 1 < k
⊢ k = k

Next tactic:
all_goals try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : j < k - 1
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 - 1 = k - 1 - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : j < k - 1
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 - 1 = k - 1 - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : j < k - 1
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k - 1 - 1 = k - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : j < k - 1
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k - 1 - 1 = k - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : i < k
h✝¹ : j < k - 1
h✝ : ¬j + 1 < k
⊢ k - 1 - 1 = k - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : i < k
h✝¹ : j < k - 1
h✝ : ¬j + 1 < k
⊢ k - 1 - 1 = k - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : ¬j < k - 1
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 = k - 1 - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : ¬j < k - 1
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 = k - 1 - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : ¬j < k - 1
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k - 1 = k - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : ¬j < k - 1
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k - 1 = k - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : i < k
h✝¹ : ¬j < k - 1
h✝ : ¬j + 1 < k
⊢ k - 1 = k - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : i < k
h✝¹ : ¬j < k - 1
h✝ : ¬j + 1 < k
⊢ k - 1 = k - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : j < k
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 = k - 1 - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : j < k
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 = k - 1 - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : j < k
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k - 1 = k - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : j < k
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k - 1 = k - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : ¬i < k
h✝¹ : j < k
h✝ : ¬j + 1 < k
⊢ k - 1 = k

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : ¬i < k
h✝¹ : j < k
h✝ : ¬j + 1 < k
⊢ k - 1 = k

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : ¬j < k
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k = k - 1 - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : ¬j < k
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k = k - 1 - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : ¬j < k
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k = k - 1

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : ¬i < k
h✝² : ¬j < k
h✝¹ : j + 1 < k
h✝ : ¬i < k - 1
⊢ k = k - 1

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : ¬i < k
h✝¹ : ¬j < k
h✝ : ¬j + 1 < k
⊢ k = k

Next tactic:
try linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try 

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : ¬i < k
h✝¹ : ¬j < k
h✝ : ¬j + 1 < k
⊢ k = k

Next tactic:
linarith
/-- The fifth simplicial identity -/
@[reassoc]
theorem σ_comp_σ {n} {i j : Fin (n + 1)} (H : i ≤ j) :
    σ (Fin.castSucc i) ≫ σ j = σ j.succ ≫ σ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.mk_le_mk, len_mk] at H hk
  dsimp [σ, Fin.predAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.ite_val, Fin.coe_pred, ge_iff_le, dite_eq_ite,
    Fin.coe_castLT]
  split_ifs
  all_goals try linarith
  

Proof state:
case neg
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝² : i < k
h✝¹ : j < k - 1
h✝ : ¬j + 1 < k
⊢ k - 1 - 1 = k - 1
case pos
n k : ℕ
hk : k < n + 1 + 1 + 1
i : ℕ
hi : i < n + 1
j : ℕ
hj : j < n + 1
H : i ≤ j
h✝³ : i < k
h✝² : ¬j < k - 1
h✝¹ : j + 1 < k
h✝ : i < k - 1
⊢ k - 1 = k - 1 - 1

Next tactic:
all_goals cases k <;> simp at *; linarith