l3lab/ntp-mathlib huggingface dataset:
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  

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

Next tactic:
rcases i with ⟨i, hi⟩
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ 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
i : ℕ
hi : i < n + 2
H : Fin.castSucc j < { val := i, isLt := hi }
⊢ ↑((Hom.toOrderHom (δ (Fin.succ { val := i, isLt := hi }) ≫ σ (Fin.castSucc j))) { val := k, isLt := hk }) =
    ↑((Hom.toOrderHom (σ j ≫ δ { val := i, isLt := hi })) { val := k, isLt := hk })

Next tactic:
rcases j with ⟨j, hj⟩
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ 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
i : ℕ
hi : i < n + 2
j : ℕ
hj : j < n + 1
H : Fin.castSucc { val := j, isLt := hj } < { val := i, isLt := hi }
⊢ ↑((Hom.toOrderHom (δ (Fin.succ { val := i, isLt := hi }) ≫ σ (Fin.castSucc { val := j, isLt := hj })))
        { val := k, isLt := hk }) =
    ↑((Hom.toOrderHom (σ { val := j, isLt := hj } ≫ δ { val := i, isLt := hi })) { val := k, isLt := hk })

Next tactic:
simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ 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
i : ℕ
hi : i < n + 2
j : ℕ
hj : j < n + 1
H : Fin.castSucc { val := j, isLt := hj } < { val := i, isLt := hi }
⊢ ↑((Hom.toOrderHom (δ (Fin.succ { val := i, isLt := hi }) ≫ σ (Fin.castSucc { val := j, isLt := hj })))
        { val := k, isLt := hk }) =
    ↑((Hom.toOrderHom (σ { val := j, isLt := hj } ≫ δ { val := i, isLt := hi })) { val := k, isLt := hk })

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

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

Next tactic:
dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  

Proof state:
case a.h.h.mk.h.mk.mk
n k : ℕ
hk : k < n + 1 + 1
i : ℕ
hi : i < n + 2
j : ℕ
hj : j < n + 1
H : j < i
⊢ ↑(if h :
          { val := j, isLt := (_ : j < Nat.succ (n + 1 + 1)) } <
            if k < i + 1 then { val := k, isLt := (_ : k < Nat.succ (n + 1 + 1)) }
            else { val := k + 1, isLt := (_ : Nat.succ k < Nat.succ (n + 1 + 1)) } then
        Fin.pred
          (if k < i + 1 then { val := k, isLt := (_ : k < Nat.succ (n + 1 + 1)) }
          else { val := k + 1, isLt := (_ : Nat.succ k < Nat.succ (n + 1 + 1)) })
          (_ :
            (if k < i + 1 then { val := k, isLt := (_ : k < Nat.succ (n + 1 + 1)) }
              else { val := k + 1, isLt := (_ : Nat.succ k < Nat.succ (n + 1 + 1)) }) ≠
              0)
      else
        Fin.castLT
          (if k < i + 1 then { val := k, isLt := (_ : k < Nat.succ (n + 1 + 1)) }
          else { val := k + 1, isLt := (_ : Nat.succ k < Nat.succ (n + 1 + 1)) })
          (_ :
            ↑(if k < i + 1 then { val := k, isLt := (_ : k < Nat.succ (n + 1 + 1)) }
                else { val := k + 1, isLt := (_ : Nat.succ k < Nat.succ (n + 1 + 1)) }) <
              n + 1 + 1)) =
    ↑(if
          ↑(if h : { val := j, isLt := (_ : j < Nat.succ (n + 1)) } < { val := k, isLt := hk } then
                Fin.pred { val := k, isLt := hk } (_ : { val := k, isLt := hk } ≠ 0)
              else { val := k, isLt := (_ : ↑{ val := k, isLt := hk } < n + 1) }) <
            i then
        Fin.castSucc
          (if h : { val := j, isLt := (_ : j < Nat.succ (n + 1)) } < { val := k, isLt := hk } then
            Fin.pred { val := k, isLt := hk } (_ : { val := k, isLt := hk } ≠ 0)
          else { val := k, isLt := (_ : ↑{ val := k, isLt := hk } < n + 1) })
      else
        Fin.succ
          (if h : { val := j, isLt := (_ : j < Nat.succ (n + 1)) } < { val := k, isLt := hk } then
            Fin.pred { val := k, isLt := hk } (_ : { val := k, isLt := hk } ≠ 0)
          else { val := k, isLt := (_ : ↑{ val := k, isLt := hk } < n + 1) }))

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

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

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

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

Next tactic:
all_goals try simp <;> linarith
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals 

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

Next tactic:
try simp <;> linarith
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try 

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

Next tactic:
simp
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals 

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

Next tactic:
try simp <;> linarith
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try 

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

Next tactic:
simp
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try simp <;> 

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

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

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

Next tactic:
try simp <;> linarith
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try 

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

Next tactic:
simp
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals 

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

Next tactic:
try simp <;> linarith
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try 

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

Next tactic:
simp
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try simp <;> 

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

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

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

Next tactic:
try simp <;> linarith
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try 

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

Next tactic:
simp
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try simp <;> 

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

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

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

Next tactic:
try simp <;> linarith
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try 

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

Next tactic:
simp
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try simp <;> 

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

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

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

Next tactic:
try simp <;> linarith
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals try 

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

Next tactic:
simp
/-- The fourth simplicial identity -/
@[reassoc]
theorem δ_comp_σ_of_gt {n} {i : Fin (n + 2)} {j : Fin (n + 1)} (H : Fin.castSucc j < i) :
    δ i.succ ≫ σ (Fin.castSucc j) = σ j ≫ δ i := by
  ext ⟨k, hk⟩
  rcases i with ⟨i, hi⟩
  rcases j with ⟨j, hj⟩
  simp? at H hk says simp only [Fin.castSucc_mk, Fin.mk_lt_mk, len_mk] at H hk
  dsimp [δ, σ, Fin.predAbove, Fin.succAbove]
  simp only [Fin.lt_iff_val_lt_val, Fin.dite_val, Fin.ite_val, Fin.coe_pred, ge_iff_le,
    Fin.coe_castLT, dite_eq_ite, Fin.coe_castSucc, Fin.val_succ]
  split_ifs
  all_goals 

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

Next tactic:
try simp <;> linarith