Theorem: AlgebraicTopology.DoldKan.Isδ₀.iff
File: Mathlib/AlgebraicTopology/DoldKan/FunctorGamma.lean

tactic: constructor
state_before: C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
i : Fin (j + 2)
⊢ Isδ₀ (SimplexCategory.δ i) ↔ i = 0
state_after: case mp
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
i : Fin (j + 2)
⊢ Isδ₀ (SimplexCategory.δ i) → i = 0

case mpr
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
i : Fin (j + 2)
⊢ i = 0 → Isδ₀ (SimplexCategory.δ i)

tactic: rintro ⟨_, h₂⟩
state_before: case mp
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
i : Fin (j + 2)
⊢ Isδ₀ (SimplexCategory.δ i) → i = 0
state_after: case mp.intro
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
i : Fin (j + 2)
left✝ : [j + 1].len = [j].len + 1
h₂ : (Hom.toOrderHom (SimplexCategory.δ i)) 0 ≠ 0
⊢ i = 0

tactic: by_contra h
state_before: case mp.intro
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
i : Fin (j + 2)
left✝ : [j + 1].len = [j].len + 1
h₂ : (Hom.toOrderHom (SimplexCategory.δ i)) 0 ≠ 0
⊢ i = 0
state_after: case mp.intro
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
i : Fin (j + 2)
left✝ : [j + 1].len = [j].len + 1
h₂ : (Hom.toOrderHom (SimplexCategory.δ i)) 0 ≠ 0
h : ¬i = 0
⊢ False

tactic: exact h₂ (Fin.succAbove_ne_zero_zero h)
state_before: case mp.intro
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
i : Fin (j + 2)
left✝ : [j + 1].len = [j].len + 1
h₂ : (Hom.toOrderHom (SimplexCategory.δ i)) 0 ≠ 0
h : ¬i = 0
⊢ False
state_after: no goals

tactic: rintro rfl
state_before: case mpr
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
i : Fin (j + 2)
⊢ i = 0 → Isδ₀ (SimplexCategory.δ i)
state_after: case mpr
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
⊢ Isδ₀ (SimplexCategory.δ 0)

tactic: exact ⟨rfl, by dsimp; exact Fin.succ_ne_zero (0 : Fin (j + 1))⟩
state_before: case mpr
C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
⊢ Isδ₀ (SimplexCategory.δ 0)
state_after: no goals

tactic: dsimp
state_before: C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
⊢ (Hom.toOrderHom (SimplexCategory.δ 0)) 0 ≠ 0
state_after: C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
⊢ ¬(Hom.toOrderHom (SimplexCategory.δ 0)) 0 = 0

tactic: exact Fin.succ_ne_zero (0 : Fin (j + 1))
state_before: C : Type u_1
inst✝¹ : Category.{?u.1171, u_1} C
inst✝ : Preadditive C
K K' : ChainComplex C ℕ
f : K ⟶ K'
Δ Δ' Δ'' : SimplexCategory
j : ℕ
⊢ ¬(Hom.toOrderHom (SimplexCategory.δ 0)) 0 = 0
state_after: no goals