-- Lean 4 proof step from Mathlib.CategoryTheory.Galois.Prorepresentability (goal)
Goal:
C : Type u₁
inst : Category.{u₂, u₁} C
inst_1 : GaloisCategory.{u₁, u₂} C
F : C ⥤ FintypeCat
inst_2 : FiberFunctor F
f : Aut F
A : C
inst_3 : IsGalois.{u₁, u₂} A
a : (F.obj A).obj
⊢ Eq (α :=
    (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj)
      (F.obj { obj := A, pt := a, isGalois := ⋯ : PointedGaloisObject F }.obj))
    ((@ConcreteCategory.hom _ (ObjectProperty.FullSubcategory.category Finite)
            (fun (X Y : ObjectProperty.FullSubcategory Finite) ↦ TypeCat.Fun X.obj Y.obj)
            (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj)
            (fun (X Y : ObjectProperty.FullSubcategory Finite) ↦
              (TypeCat.instFunLikeFun : FunLike (TypeCat.Fun X.obj Y.obj) X.obj Y.obj))
            _ _ _
            (F.map
                (Iso.hom
                  ((AutGalois.π F { obj := A, pt := a, isGalois := ⋯ : PointedGaloisObject F } :
                      (a_1 : AutGalois F) → Aut { obj := A, pt := a, isGalois := ⋯ }.obj)
                    (MulOpposite.unop ((autMulEquivAutGalois F : (a : Aut F) → (AutGalois F)ᵐᵒᵖ) f)))) :
              F.obj { obj := A, pt := a, isGalois := ⋯ : PointedGaloisObject F }.obj ⟶
                F.obj { obj := A, pt := a, isGalois := ⋯ : PointedGaloisObject F }.obj) :
          (a_1 :
              (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj)
                (F.obj { obj := A, pt := a, isGalois := ⋯ }.obj)) →
            (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj) (F.obj { obj := A, pt := a, isGalois := ⋯ }.obj))
        a :
      (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj)
        (F.obj { obj := A, pt := a, isGalois := ⋯ : PointedGaloisObject F }.obj))
    ((@ConcreteCategory.hom _ (ObjectProperty.FullSubcategory.category Finite)
            (fun (X Y : ObjectProperty.FullSubcategory Finite) ↦ TypeCat.Fun X.obj Y.obj)
            (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj)
            (fun (X Y : ObjectProperty.FullSubcategory Finite) ↦
              (TypeCat.instFunLikeFun : FunLike (TypeCat.Fun X.obj Y.obj) X.obj Y.obj))
            _ _ _ (f.hom.app A) :
          (a : (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj) (F.obj A)) →
            (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj) (F.obj A))
        a :
      (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj) (F.obj A))
have dsimp : Eq (α := (F.obj A).obj)
  ((@ConcreteCategory.hom _ (ObjectProperty.FullSubcategory.category Finite)
          (fun (X Y : ObjectProperty.FullSubcategory Finite) ↦ TypeCat.Fun X.obj Y.obj)
          (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj)
          (fun (X Y : ObjectProperty.FullSubcategory Finite) ↦
            (TypeCat.instFunLikeFun : FunLike (TypeCat.Fun X.obj Y.obj) X.obj Y.obj))
          _ _ _
          (F.map
              (Iso.hom
                ((AutGalois.π F { obj := A, pt := a, isGalois := sorry : PointedGaloisObject F } :
                    (a : AutGalois F) → Aut A)
                  ((endEquivAutGalois F : (a : End F) → AutGalois F)
                    (↑((MulEquiv.symm (Aut.unitsEndEquivAut F) : (a : Aut F) → (End F)ˣ) f) : End F)))) :
            F.obj A ⟶ F.obj A) :
        (a : (F.obj A).obj) → (F.obj A).obj)
      a :
    (F.obj A).obj)
  ((@ConcreteCategory.hom _ (ObjectProperty.FullSubcategory.category Finite)
          (fun (X Y : ObjectProperty.FullSubcategory Finite) ↦ TypeCat.Fun X.obj Y.obj)
          (fun (X : ObjectProperty.FullSubcategory Finite) ↦ X.obj)
          (fun (X Y : ObjectProperty.FullSubcategory Finite) ↦
            (TypeCat.instFunLikeFun : FunLike (TypeCat.Fun X.obj Y.obj) X.obj Y.obj))
          _ _ _ (f.hom.app A) :
        (a : (F.obj A).obj) → (F.obj A).obj)
      a :
    (F.obj A).obj)
Tactic: dsimp [autMulEquivAutGalois, endMulEquivAutGalois]