Module: Mathlib.Condensed.Discrete.LocallyConstant

Goal state before:
pp: P : TopCat → Prop
inst✝⁴ : ∀ (S : CompHausLike P) (p : ↑S.toTop → Prop), HasProp P (Subtype p)
S✝ : CompHausLike P
Y✝ : (CompHausLike P)ᵒᵖ ⥤ Type (max u w)
inst✝³ : HasProp P PUnit.{u + 1}
f✝ : LocallyConstant (↑S✝.toTop) (Y✝.obj (op (of P PUnit.{u + 1})))
T : CompHausLike P
g✝ : T ⟶ S✝
X✝ : TopCat
inst✝² : HasExplicitFiniteCoproducts P
inst✝¹ : HasExplicitPullbacks P
hs : ∀ ⦃X Y : CompHausLike P⦄ (f : X ⟶ Y), EffectiveEpi f → Surjective ⇑(ConcreteCategory.hom f)
inst✝ : HasExplicitFiniteCoproducts P
X Y : Sheaf (coherentTopology (CompHausLike P)) (Type (max u w))
g : X ⟶ Y
this : Preregular (CompHausLike P)
S : (CompHausLike P)ᵒᵖ
f : LocallyConstant (↑(unop S).toTop) (X.obj.obj (op (of P PUnit.{u + 1})))
a : Fiber ⇑(map (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))) f)
b :
  Fiber
    ⇑(comap (TopCat.Hom.hom (sigmaIncl (map (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))) f) a).hom)
        f)
⊢ (ConcreteCategory.hom
        (Y.obj.map
          (isTerminalPUnit.from
              (fiber
                (comap
                  (TopCat.Hom.hom
                    (sigmaIncl (map (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))) f) a).hom)
                  f)
                b)).op))
      ((ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))
        (f (preimage (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))) ∘ ⇑f) a))) =
    (ConcreteCategory.hom
        (Y.obj.map
          (ofHom P (sigmaInclIncl (⇑f) (ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))).1 a b) ≫
              isTerminalPUnit.from
                (fiber f
                  (Fiber.mk ⇑f
                    ↑(preimage
                        (⇑f ∘
                          ⇑(TopologicalSpace.Fiber.sigmaIncl
                              ((ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))).1 ∘ ⇑f) a))
                        b)))).op))
      ((ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))
        (f
          ↑(preimage
              (⇑f ∘
                ⇑(TopologicalSpace.Fiber.sigmaIncl ((ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))).1 ∘ ⇑f)
                    a))
              b)))

Tactic:
have := map_preimage_eq_image (f := g.hom.app _ ∘ f) (a := a)

Goal state after:
P : TopCat → Prop
inst✝⁴ : ∀ (S : CompHausLike P) (p : ↑S.toTop → Prop), HasProp P (Subtype p)
S✝ : CompHausLike P
Y✝ : (CompHausLike P)ᵒᵖ ⥤ Type (max u w)
inst✝³ : HasProp P PUnit.{u + 1}
f✝ : LocallyConstant (↑S✝.toTop) (Y✝.obj (op (of P PUnit.{u + 1})))
T : CompHausLike P
g✝ : T ⟶ S✝
X✝ : TopCat
inst✝² : HasExplicitFiniteCoproducts P
inst✝¹ : HasExplicitPullbacks P
hs : ∀ ⦃X Y : CompHausLike P⦄ (f : X ⟶ Y), EffectiveEpi f → Surjective ⇑(ConcreteCategory.hom f)
inst✝ : HasExplicitFiniteCoproducts P
X Y : Sheaf (coherentTopology (CompHausLike P)) (Type (max u w))
g : X ⟶ Y
this✝ : Preregular (CompHausLike P)
S : (CompHausLike P)ᵒᵖ
f : LocallyConstant (↑(unop S).toTop) (X.obj.obj (op (of P PUnit.{u + 1})))
a : Fiber ⇑(map (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))) f)
b :
  Fiber
    ⇑(comap (TopCat.Hom.hom (sigmaIncl (map (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))) f) a).hom)
        f)
this :
  (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))) ∘ ⇑f)
      (preimage (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))) ∘ ⇑f) a) =
    Fiber.image (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))) ∘ ⇑f) a
⊢ (ConcreteCategory.hom
        (Y.obj.map
          (isTerminalPUnit.from
              (fiber
                (comap
                  (TopCat.Hom.hom
                    (sigmaIncl (map (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))) f) a).hom)
                  f)
                b)).op))
      ((ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))
        (f (preimage (⇑(ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))) ∘ ⇑f) a))) =
    (ConcreteCategory.hom
        (Y.obj.map
          (ofHom P (sigmaInclIncl (⇑f) (ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))).1 a b) ≫
              isTerminalPUnit.from
                (fiber f
                  (Fiber.mk ⇑f
                    ↑(preimage
                        (⇑f ∘
                          ⇑(TopologicalSpace.Fiber.sigmaIncl
                              ((ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))).1 ∘ ⇑f) a))
                        b)))).op))
      ((ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1}))))
        (f
          ↑(preimage
              (⇑f ∘
                ⇑(TopologicalSpace.Fiber.sigmaIncl ((ConcreteCategory.hom (g.hom.app (op (of P PUnit.{u + 1})))).1 ∘ ⇑f)
                    a))
              b)))