Theorem: CategoryTheory.ComposableArrows.Mk₁.map_comp
File: Mathlib/CategoryTheory/ComposableArrows.lean

tactic: rw [map_id, id_comp]
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i j k : Fin 2
hjk : 0 ≤ k
hij : 0 ≤ 0
⊢ map f 0 k ⋯ = map f 0 0 hij ≫ map f 0 k hjk
state_after: no goals

tactic: obtain rfl : k = 1 := k.eq_one_of_neq_zero (by rintro rfl; simp at hjk)
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i j k : Fin 2
hjk : 1 ≤ k
hij : 0 ≤ 1
⊢ map f 0 k ⋯ = map f 0 1 hij ≫ map f 1 k hjk
state_after: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i j : Fin 2
hij : 0 ≤ 1
hjk : 1 ≤ 1
⊢ map f 0 1 ⋯ = map f 0 1 hij ≫ map f 1 1 hjk

tactic: rw [map_id, comp_id]
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i j : Fin 2
hij : 0 ≤ 1
hjk : 1 ≤ 1
⊢ map f 0 1 ⋯ = map f 0 1 hij ≫ map f 1 1 hjk
state_after: no goals

tactic: rintro rfl
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i j k : Fin 2
hjk : 1 ≤ k
hij : 0 ≤ 1
⊢ k ≠ 0
state_after: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i j : Fin 2
hij : 0 ≤ 1
hjk : 1 ≤ 0
⊢ False

tactic: simp at hjk
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i j : Fin 2
hij : 0 ≤ 1
hjk : 1 ≤ 0
⊢ False
state_after: no goals

tactic: obtain rfl := j.eq_one_of_neq_zero (by rintro rfl; simp at hij)
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i j k : Fin 2
hjk : j ≤ k
hij : 1 ≤ j
⊢ map f 1 k ⋯ = map f 1 j hij ≫ map f j k hjk
state_after: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i k : Fin 2
hjk : 1 ≤ k
hij : 1 ≤ 1
⊢ map f 1 k ⋯ = map f 1 1 hij ≫ map f 1 k hjk

tactic: obtain rfl := k.eq_one_of_neq_zero (by rintro rfl; simp at hjk)
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i k : Fin 2
hjk : 1 ≤ k
hij : 1 ≤ 1
⊢ map f 1 k ⋯ = map f 1 1 hij ≫ map f 1 k hjk
state_after: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i : Fin 2
hij hjk : 1 ≤ 1
⊢ map f 1 1 ⋯ = map f 1 1 hij ≫ map f 1 1 hjk

tactic: rw [map_id, id_comp]
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i : Fin 2
hij hjk : 1 ≤ 1
⊢ map f 1 1 ⋯ = map f 1 1 hij ≫ map f 1 1 hjk
state_after: no goals

tactic: rintro rfl
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i j k : Fin 2
hjk : j ≤ k
hij : 1 ≤ j
⊢ j ≠ 0
state_after: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i k : Fin 2
hjk : 0 ≤ k
hij : 1 ≤ 0
⊢ False

tactic: simp at hij
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i k : Fin 2
hjk : 0 ≤ k
hij : 1 ≤ 0
⊢ False
state_after: no goals

tactic: rintro rfl
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i k : Fin 2
hjk : 1 ≤ k
hij : 1 ≤ 1
⊢ k ≠ 0
state_after: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i : Fin 2
hij : 1 ≤ 1
hjk : 1 ≤ 0
⊢ False

tactic: simp at hjk
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
n m : ℕ
F G : ComposableArrows C n
X₀ X₁ : C
f : X₀ ⟶ X₁
i : Fin 2
hij : 1 ≤ 1
hjk : 1 ≤ 0
⊢ False
state_after: no goals