-- Module: Mathlib.Condensed.Discrete.LocallyConstant
Goal:
P : TopCat.{u} → Prop
inst : ∀ (S : CompHausLike P) (p : (↑(S.toTop (P := P)) : Type u) → Prop), HasProp P (Subtype p)
S_1 : CompHausLike P
Y_1 : (CompHausLike P)ᵒᵖ ⥤ Type (max u w)
inst_1 : HasProp P PUnit.{u + 1}
f_1 : LocallyConstant (↑(S_1.toTop (P := P)) : Type u) (Y_1.obj (op (of P PUnit.{u + 1})))
T_1 : CompHausLike P
g_1 : T_1 ⟶ S_1
inst_2 : HasExplicitFiniteCoproducts P
Y : (CompHausLike P)ᵒᵖ ⥤ Type (max u w)
inst_3 : PreservesFiniteProducts Y
S T : (CompHausLike P)ᵒᵖ
g : S ⟶ T
f : Functor.obj (Functor.obj (functorToPresheaves.{u, w} (P := P)) (Y.obj (op (of P PUnit.{u + 1})))) S
a :
  Fiber (Y := (↑((unop T).toTop (P := P)) : Type u)) (Z := Y.obj (op (of P PUnit.{u + 1})))
    (⇑(comap (TopCat.Hom.hom g.unop.hom) f) : (a : (↑(unop T).toTop : Type u)) → Y.obj (op (of P PUnit.{u + 1})))
h :
  Eq (α := Y.obj (op (fiber.{u, w} (P := P) (comap (TopCat.Hom.hom g.unop.hom) f) a)))
    ((ConcreteCategory.hom (FC := TypeCat.Fun)
            (Y.map (Quiver.Hom.op (sigmaIncl (P := P) (comap (TopCat.Hom.hom g.unop.hom) f) a))) :
          (a_1 : Y.obj T) → Y.obj (op (fiber (comap (TopCat.Hom.hom g.unop.hom) f) a)))
        ((ConcreteCategory.hom (FC := TypeCat.Fun) (counitAppApp.{u, w} (P := P) (unop T) Y) :
            (a : LocallyConstant (↑(unop T).toTop : Type u) (Y.obj (op (of P PUnit.{u + 1})))) → Y.obj T)
          (comap (TopCat.Hom.hom g.unop.hom) f)) :
      Y.obj (op (fiber.{u, w} (P := P) (comap (TopCat.Hom.hom g.unop.hom) f) a)))
    ((ConcreteCategory.hom (FC := TypeCat.Fun)
            (Y.map (Quiver.Hom.op (sigmaIncl (P := P) (comap (TopCat.Hom.hom g.unop.hom) f) a))) :
          (a_1 : Y.obj T) → Y.obj (op (fiber (comap (TopCat.Hom.hom g.unop.hom) f) a)))
        ((ConcreteCategory.hom (FC := TypeCat.Fun) (Y.map g) : (a : Y.obj S) → Y.obj T)
          ((ConcreteCategory.hom (FC := TypeCat.Fun) (counitAppApp.{u, w} (P := P) (unop S) Y) :
              (a : LocallyConstant (↑(unop S).toTop : Type u) (Y.obj (op (of P PUnit.{u + 1})))) → Y.obj S)
            f)) :
      Y.obj (op (fiber.{u, w} (P := P) (comap (TopCat.Hom.hom g.unop.hom) f) a)))
⊢ Eq (α := (fun (X : Type (max u w)) ↦ X) (Y.obj (op (fiber.{u, w} (P := P) (comap (TopCat.Hom.hom g.unop.hom) f) a))))
    ((ConcreteCategory.hom (FC := TypeCat.Fun)
          (Y.map (Quiver.Hom.op (sigmaIncl (P := P) (comap (TopCat.Hom.hom g.unop.hom) f) a))) :
        (a_1 : (fun (X : Type (max u w)) ↦ X) (Y.obj (op (unop T)))) →
          (fun (X : Type (max u w)) ↦ X) (Y.obj (op (fiber (comap (TopCat.Hom.hom g.unop.hom) f) a))))
      (TypeCat.Fun.toFun
        (ConcreteCategory.hom (FC := TypeCat.Fun)
          (CategoryTheory.Functor.map
              (Functor.obj (functorToPresheaves.{u, w} (P := P)) (Y.obj (op (of P PUnit.{u + 1})))) g ≫
            match (motive :=
              (x : (CompHausLike P)ᵒᵖ) →
                Functor.obj (Functor.obj (functorToPresheaves.{u, w} (P := P)) (Y.obj (op (of P PUnit.{u + 1})))) x ⟶
                  Y.obj x)
              T with
            | op S => counitAppApp.{u, w} (P := P) S Y))
        f))
    ((ConcreteCategory.hom (FC := TypeCat.Fun)
          (Y.map (Quiver.Hom.op (sigmaIncl (P := P) (comap (TopCat.Hom.hom g.unop.hom) f) a))) :
        (a_1 : (fun (X : Type (max u w)) ↦ X) (Y.obj (op (unop T)))) →
          (fun (X : Type (max u w)) ↦ X) (Y.obj (op (fiber (comap (TopCat.Hom.hom g.unop.hom) f) a))))
      (TypeCat.Fun.toFun
        (@ConcreteCategory.hom _ types TypeCat.Fun _ _ _ _ _
          ((match (motive :=
              (x : (CompHausLike P)ᵒᵖ) →
                Functor.obj (Functor.obj (functorToPresheaves.{u, w} (P := P)) (Y.obj (op (of P PUnit.{u + 1})))) x ⟶
                  Y.obj x)
              S with
            | op S => counitAppApp.{u, w} (P := P) S Y) ≫
            Y.map g))
        f))

Tactic:
simp only [op_unop, functorToPresheaves_obj_obj, functorToPresheaves_obj_map,
      TypeCat.Fun.toFun_apply, CategoryTheory.comp_apply, ConcreteCategory.hom_ofHom,
      TypeCat.Fun.coe_mk]

Premises used: Opposite.op_unop, TypeCat.Fun.coe_mk, TypeCat.Fun.toFun_apply, CategoryTheory.comp_apply, CategoryTheory.ConcreteCategory.hom_ofHom, CompHausLike.LocallyConstant.functorToPresheaves_obj_map, CompHausLike.LocallyConstant.functorToPresheaves_obj_obj