Theorem: CochainComplex.HomComplex.δ_ofHom
File: Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean

tactic: by_cases h : p = 1
state_before: C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
⊢ δ 0 p (Cochain.ofHom φ) = 0
state_after: case pos
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
h : p = 1
⊢ δ 0 p (Cochain.ofHom φ) = 0

case neg
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
h : ¬p = 1
⊢ δ 0 p (Cochain.ofHom φ) = 0

tactic: subst h
state_before: case pos
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
h : p = 1
⊢ δ 0 p (Cochain.ofHom φ) = 0
state_after: case pos
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m : ℤ
φ : F ⟶ G
⊢ δ 0 1 (Cochain.ofHom φ) = 0

tactic: ext
state_before: case pos
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m : ℤ
φ : F ⟶ G
⊢ δ 0 1 (Cochain.ofHom φ) = 0
state_after: case pos.h
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m : ℤ
φ : F ⟶ G
p✝ q✝ : ℤ
hpq✝ : p✝ + 1 = q✝
⊢ (δ 0 1 (Cochain.ofHom φ)).v p✝ q✝ hpq✝ = Cochain.v 0 p✝ q✝ hpq✝

tactic: simp
state_before: case pos.h
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m : ℤ
φ : F ⟶ G
p✝ q✝ : ℤ
hpq✝ : p✝ + 1 = q✝
⊢ (δ 0 1 (Cochain.ofHom φ)).v p✝ q✝ hpq✝ = Cochain.v 0 p✝ q✝ hpq✝
state_after: no goals

tactic: rw [δ_shape]
state_before: case neg
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
h : ¬p = 1
⊢ δ 0 p (Cochain.ofHom φ) = 0
state_after: case neg.hnm
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
h : ¬p = 1
⊢ ¬0 + 1 = p

tactic: intro
state_before: case neg.hnm
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
h : ¬p = 1
⊢ ¬0 + 1 = p
state_after: case neg.hnm
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
h : ¬p = 1
a✝ : 0 + 1 = p
⊢ False

tactic: exact h (by omega)
state_before: case neg.hnm
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
h : ¬p = 1
a✝ : 0 + 1 = p
⊢ False
state_after: no goals

tactic: omega
state_before: C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m p : ℤ
φ : F ⟶ G
h : ¬p = 1
a✝ : 0 + 1 = p
⊢ p = 1
state_after: no goals