Theorem: TopCat.coequalizer_isOpen_iff
File: Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean

tactic: rw [colimit_isOpen_iff]
state_before: J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
⊢ IsOpen U ↔ IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
state_after: J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
⊢ (∀ (j : WalkingParallelPair), IsOpen (⇑(colimit.ι F j) ⁻¹' U)) ↔ IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)

tactic: constructor
state_before: J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
⊢ (∀ (j : WalkingParallelPair), IsOpen (⇑(colimit.ι F j) ⁻¹' U)) ↔ IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
state_after: case mp
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
⊢ (∀ (j : WalkingParallelPair), IsOpen (⇑(colimit.ι F j) ⁻¹' U)) → IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)

case mpr
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
⊢ IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U) → ∀ (j : WalkingParallelPair), IsOpen (⇑(colimit.ι F j) ⁻¹' U)

tactic: intro H
state_before: case mp
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
⊢ (∀ (j : WalkingParallelPair), IsOpen (⇑(colimit.ι F j) ⁻¹' U)) → IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
state_after: case mp
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : ∀ (j : WalkingParallelPair), IsOpen (⇑(colimit.ι F j) ⁻¹' U)
⊢ IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)

tactic: exact H _
state_before: case mp
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : ∀ (j : WalkingParallelPair), IsOpen (⇑(colimit.ι F j) ⁻¹' U)
⊢ IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
state_after: no goals

tactic: intro H j
state_before: case mpr
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
⊢ IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U) → ∀ (j : WalkingParallelPair), IsOpen (⇑(colimit.ι F j) ⁻¹' U)
state_after: case mpr
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
j : WalkingParallelPair
⊢ IsOpen (⇑(colimit.ι F j) ⁻¹' U)

tactic: cases j
state_before: case mpr
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
j : WalkingParallelPair
⊢ IsOpen (⇑(colimit.ι F j) ⁻¹' U)
state_after: case mpr.zero
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
⊢ IsOpen (⇑(colimit.ι F WalkingParallelPair.zero) ⁻¹' U)

case mpr.one
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
⊢ IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)

tactic: rw [← colimit.w F WalkingParallelPairHom.left]
state_before: case mpr.zero
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
⊢ IsOpen (⇑(colimit.ι F WalkingParallelPair.zero) ⁻¹' U)
state_after: case mpr.zero
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
⊢ IsOpen (⇑(F.map WalkingParallelPairHom.left ≫ colimit.ι F WalkingParallelPair.one) ⁻¹' U)

tactic: exact (F.map WalkingParallelPairHom.left).continuous_toFun.isOpen_preimage _ H
state_before: case mpr.zero
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
⊢ IsOpen (⇑(F.map WalkingParallelPairHom.left ≫ colimit.ι F WalkingParallelPair.one) ⁻¹' U)
state_after: no goals

tactic: exact H
state_before: case mpr.one
J : Type v
inst✝ : SmallCategory J
F : WalkingParallelPair ⥤ TopCat
U : Set ↑(colimit F)
H : IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
⊢ IsOpen (⇑(colimit.ι F WalkingParallelPair.one) ⁻¹' U)
state_after: no goals