Theorem: SimplicialObject.Splitting.IndexSet.eqId_iff_eq
File: Mathlib/AlgebraicTopology/SplitSimplicialObject.lean

tactic: constructor
state_before: C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
⊢ A.EqId ↔ A.fst = Δ
state_after: case mp
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
⊢ A.EqId → A.fst = Δ

case mpr
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
⊢ A.fst = Δ → A.EqId

tactic: intro h
state_before: case mp
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
⊢ A.EqId → A.fst = Δ
state_after: case mp
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : A.EqId
⊢ A.fst = Δ

tactic: dsimp at h
state_before: case mp
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : A.EqId
⊢ A.fst = Δ
state_after: case mp
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : A = id Δ
⊢ A.fst = Δ

tactic: rw [h]
state_before: case mp
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : A = id Δ
⊢ A.fst = Δ
state_after: case mp
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : A = id Δ
⊢ (id Δ).fst = Δ

tactic: rfl
state_before: case mp
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : A = id Δ
⊢ (id Δ).fst = Δ
state_after: no goals

tactic: intro h
state_before: case mpr
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
⊢ A.fst = Δ → A.EqId
state_after: case mpr
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : A.fst = Δ
⊢ A.EqId

tactic: rcases A with ⟨_, ⟨f, hf⟩⟩
state_before: case mpr
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : A.fst = Δ
⊢ A.EqId
state_after: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ fst✝ : SimplexCategoryᵒᵖ
f : Δ.unop ⟶ fst✝.unop
hf : Epi f
h : ⟨fst✝, ⟨f, hf⟩⟩.fst = Δ
⊢ EqId ⟨fst✝, ⟨f, hf⟩⟩

tactic: simp only at h
state_before: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ fst✝ : SimplexCategoryᵒᵖ
f : Δ.unop ⟶ fst✝.unop
hf : Epi f
h : ⟨fst✝, ⟨f, hf⟩⟩.fst = Δ
⊢ EqId ⟨fst✝, ⟨f, hf⟩⟩
state_after: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ fst✝ : SimplexCategoryᵒᵖ
f : Δ.unop ⟶ fst✝.unop
hf : Epi f
h : fst✝ = Δ
⊢ EqId ⟨fst✝, ⟨f, hf⟩⟩

tactic: subst h
state_before: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
Δ fst✝ : SimplexCategoryᵒᵖ
f : Δ.unop ⟶ fst✝.unop
hf : Epi f
h : fst✝ = Δ
⊢ EqId ⟨fst✝, ⟨f, hf⟩⟩
state_after: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
fst✝ : SimplexCategoryᵒᵖ
f : fst✝.unop ⟶ fst✝.unop
hf : Epi f
⊢ EqId ⟨fst✝, ⟨f, hf⟩⟩

tactic: refine ext _ _ rfl ?_
state_before: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
fst✝ : SimplexCategoryᵒᵖ
f : fst✝.unop ⟶ fst✝.unop
hf : Epi f
⊢ EqId ⟨fst✝, ⟨f, hf⟩⟩
state_after: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
fst✝ : SimplexCategoryᵒᵖ
f : fst✝.unop ⟶ fst✝.unop
hf : Epi f
⊢ e ⟨fst✝, ⟨f, hf⟩⟩ ≫ eqToHom ⋯ = (id fst✝).e

tactic: haveI := hf
state_before: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
fst✝ : SimplexCategoryᵒᵖ
f : fst✝.unop ⟶ fst✝.unop
hf : Epi f
⊢ e ⟨fst✝, ⟨f, hf⟩⟩ ≫ eqToHom ⋯ = (id fst✝).e
state_after: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
fst✝ : SimplexCategoryᵒᵖ
f : fst✝.unop ⟶ fst✝.unop
hf this : Epi f
⊢ e ⟨fst✝, ⟨f, hf⟩⟩ ≫ eqToHom ⋯ = (id fst✝).e

tactic: simp only [eqToHom_refl, comp_id]
state_before: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
fst✝ : SimplexCategoryᵒᵖ
f : fst✝.unop ⟶ fst✝.unop
hf this : Epi f
⊢ e ⟨fst✝, ⟨f, hf⟩⟩ ≫ eqToHom ⋯ = (id fst✝).e
state_after: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
fst✝ : SimplexCategoryᵒᵖ
f : fst✝.unop ⟶ fst✝.unop
hf this : Epi f
⊢ e ⟨fst✝, ⟨f, hf⟩⟩ = (id fst✝).e

tactic: exact eq_id_of_epi f
state_before: case mpr.mk.mk
C : Type u_1
inst✝ : Category.{?u.3430, u_1} C
fst✝ : SimplexCategoryᵒᵖ
f : fst✝.unop ⟶ fst✝.unop
hf this : Epi f
⊢ e ⟨fst✝, ⟨f, hf⟩⟩ = (id fst✝).e
state_after: no goals