ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Limits.isoZeroBiprod_hom
@[simps]
def isoZeroBiprod {X Y : C} [HasBinaryBiproduct X Y] (hY : IsZero X) : Y ≅ X ⊞ Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} [CategoryTheory.Limits.HasBinaryBiproduct X Y] (hY : CategoryTheory.Limits.IsZero X)
Goal: (CategoryTheory.Limits.isoZeroBiprod hY).hom = CategoryTheory.Limits.biprod.inr
-- CategoryTheory.Limits.biprod_isZero_iff
@[simp]
lemma biprod_isZero_iff (A B : C) [HasBinaryBiproduct A B] :
    IsZero (biprod A B) ↔ IsZero A ∧ IsZero B 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (A B : C) [CategoryTheory.Limits.HasBinaryBiproduct A B]
Goal: CategoryTheory.Limits.IsZero (A ⊞ B) ↔ CategoryTheory.Limits.IsZero A ∧ CategoryTheory.Limits.IsZero B
-- CategoryTheory.Limits.biprod.braiding_inv
@[simps]
def biprod.braiding (P Q : C) : P ⊞ Q ≅ Q ⊞ P 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] (P Q : C)
Goal: (CategoryTheory.Limits.biprod.braiding P Q).inv =
  CategoryTheory.Limits.biprod.lift CategoryTheory.Limits.biprod.snd CategoryTheory.Limits.biprod.fst
-- CategoryTheory.Limits.biprod.braiding_hom
@[simps]
def biprod.braiding (P Q : C) : P ⊞ Q ≅ Q ⊞ P 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] (P Q : C)
Goal: (CategoryTheory.Limits.biprod.braiding P Q).hom =
  CategoryTheory.Limits.biprod.lift CategoryTheory.Limits.biprod.snd CategoryTheory.Limits.biprod.fst
-- CategoryTheory.Limits.biprod.braiding'_hom
@[simps]
def biprod.braiding' (P Q : C) : P ⊞ Q ≅ Q ⊞ P 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] (P Q : C)
Goal: (CategoryTheory.Limits.biprod.braiding' P Q).hom =
  CategoryTheory.Limits.biprod.desc CategoryTheory.Limits.biprod.inr CategoryTheory.Limits.biprod.inl
-- CategoryTheory.Limits.biprod.braiding'_inv
@[simps]
def biprod.braiding' (P Q : C) : P ⊞ Q ≅ Q ⊞ P 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] (P Q : C)
Goal: (CategoryTheory.Limits.biprod.braiding' P Q).inv =
  CategoryTheory.Limits.biprod.desc CategoryTheory.Limits.biprod.inr CategoryTheory.Limits.biprod.inl
-- CategoryTheory.Limits.biprod.braiding'_eq_braiding
theorem biprod.braiding'_eq_braiding {P Q : C} : biprod.braiding' P Q = biprod.braiding P Q 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] {P Q : C}
Goal: CategoryTheory.Limits.biprod.braiding' P Q = CategoryTheory.Limits.biprod.braiding P Q
-- CategoryTheory.Limits.biprod.braid_natural
@[reassoc]
theorem biprod.braid_natural {W X Y Z : C} (f : X ⟶ Y) (g : Z ⟶ W) :
    biprod.map f g ≫ (biprod.braiding _ _).hom = (biprod.braiding _ _).hom ≫ biprod.map g f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] {W X Y Z : C} (f : X ⟶ Y) (g : Z ⟶ W)
Goal: CategoryTheory.Limits.biprod.map f g ≫ (CategoryTheory.Limits.biprod.braiding Y W).hom =
  (CategoryTheory.Limits.biprod.braiding X Z).hom ≫ CategoryTheory.Limits.biprod.map g f
-- CategoryTheory.Limits.biprod.braiding_map_braiding
@[reassoc]
theorem biprod.braiding_map_braiding {W X Y Z : C} (f : W ⟶ Y) (g : X ⟶ Z) :
    (biprod.braiding X W).hom ≫ biprod.map f g ≫ (biprod.braiding Y Z).hom = biprod.map g f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] {W X Y Z : C} (f : W ⟶ Y) (g : X ⟶ Z)
Goal: (CategoryTheory.Limits.biprod.braiding X W).hom ≫
    CategoryTheory.Limits.biprod.map f g ≫ (CategoryTheory.Limits.biprod.braiding Y Z).hom =
  CategoryTheory.Limits.biprod.map g f
-- CategoryTheory.Limits.biprod.symmetry'
@[reassoc (attr := simp)]
theorem biprod.symmetry' (P Q : C) :
    biprod.lift biprod.snd biprod.fst ≫ biprod.lift biprod.snd biprod.fst = 𝟙 (P ⊞ Q) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] (P Q : C)
Goal: CategoryTheory.Limits.biprod.lift CategoryTheory.Limits.biprod.snd CategoryTheory.Limits.biprod.fst ≫
    CategoryTheory.Limits.biprod.lift CategoryTheory.Limits.biprod.snd CategoryTheory.Limits.biprod.fst =
  𝟙 (P ⊞ Q)
-- CategoryTheory.Limits.biprod.symmetry
@[reassoc]
theorem biprod.symmetry (P Q : C) :
    (biprod.braiding P Q).hom ≫ (biprod.braiding Q P).hom = 𝟙 _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] (P Q : C)
Goal: (CategoryTheory.Limits.biprod.braiding P Q).hom ≫ (CategoryTheory.Limits.biprod.braiding Q P).hom = 𝟙 (P ⊞ Q)
-- CategoryTheory.Limits.biprod.associator_hom
@[simps]
def biprod.associator (P Q R : C) : (P ⊞ Q) ⊞ R ≅ P ⊞ (Q ⊞ R) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] (P Q R : C)
Goal: (CategoryTheory.Limits.biprod.associator P Q R).hom =
  CategoryTheory.Limits.biprod.lift (CategoryTheory.Limits.biprod.fst ≫ CategoryTheory.Limits.biprod.fst)
    (CategoryTheory.Limits.biprod.lift (CategoryTheory.Limits.biprod.fst ≫ CategoryTheory.Limits.biprod.snd)
      CategoryTheory.Limits.biprod.snd)
-- CategoryTheory.Limits.biprod.associator_inv
@[simps]
def biprod.associator (P Q R : C) : (P ⊞ Q) ⊞ R ≅ P ⊞ (Q ⊞ R) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] (P Q R : C)
Goal: (CategoryTheory.Limits.biprod.associator P Q R).inv =
  CategoryTheory.Limits.biprod.lift
    (CategoryTheory.Limits.biprod.lift CategoryTheory.Limits.biprod.fst
      (CategoryTheory.Limits.biprod.snd ≫ CategoryTheory.Limits.biprod.fst))
    (CategoryTheory.Limits.biprod.snd ≫ CategoryTheory.Limits.biprod.snd)
-- CategoryTheory.Limits.biprod.associator_natural
@[reassoc]
theorem biprod.associator_natural {U V W X Y Z : C} (f : U ⟶ X) (g : V ⟶ Y) (h : W ⟶ Z) :
    biprod.map (biprod.map f g) h ≫ (biprod.associator _ _ _).hom
      = (biprod.associator _ _ _).hom ≫ biprod.map f (biprod.map g h) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] {U V W X Y Z : C} (f : U ⟶ X) (g : V ⟶ Y) (h : W ⟶ Z)
Goal: CategoryTheory.Limits.biprod.map (CategoryTheory.Limits.biprod.map f g) h ≫
    (CategoryTheory.Limits.biprod.associator X Y Z).hom =
  (CategoryTheory.Limits.biprod.associator U V W).hom ≫
    CategoryTheory.Limits.biprod.map f (CategoryTheory.Limits.biprod.map g h)
-- CategoryTheory.Limits.biprod.associator_inv_natural
@[reassoc]
theorem biprod.associator_inv_natural {U V W X Y Z : C} (f : U ⟶ X) (g : V ⟶ Y) (h : W ⟶ Z) :
    biprod.map f (biprod.map g h) ≫ (biprod.associator _ _ _).inv
      = (biprod.associator _ _ _).inv ≫ biprod.map (biprod.map f g) h 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] {U V W X Y Z : C} (f : U ⟶ X) (g : V ⟶ Y) (h : W ⟶ Z)
Goal: CategoryTheory.Limits.biprod.map f (CategoryTheory.Limits.biprod.map g h) ≫
    (CategoryTheory.Limits.biprod.associator X Y Z).inv =
  (CategoryTheory.Limits.biprod.associator U V W).inv ≫
    CategoryTheory.Limits.biprod.map (CategoryTheory.Limits.biprod.map f g) h
-- CategoryTheory.isIso_left_of_isIso_biprod_map
theorem isIso_left_of_isIso_biprod_map {W X Y Z : C} (f : W ⟶ Y) (g : X ⟶ Z)
    [IsIso (biprod.map f g)] : IsIso f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] {W X Y Z : C} (f : W ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso (CategoryTheory.Limits.biprod.map f g)]
Goal: CategoryTheory.IsIso f
-- CategoryTheory.isIso_right_of_isIso_biprod_map
theorem isIso_right_of_isIso_biprod_map {W X Y Z : C} (f : W ⟶ Y) (g : X ⟶ Z)
    [IsIso (biprod.map f g)] : IsIso g 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasBinaryBiproducts C] {W X Y Z : C} (f : W ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso (CategoryTheory.Limits.biprod.map f g)]
Goal: CategoryTheory.IsIso g
-- CategoryTheory.PreGaloisCategory.PointedGaloisObject.isGalois
structure PointedGaloisObject : Type (max u₁ u₂) where
    obj : C
    pt : F.obj obj
    isGalois : IsGalois obj := by infer_instance
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] {F : CategoryTheory.Functor C FintypeCat} (self : CategoryTheory.PreGaloisCategory.PointedGaloisObject F)
Goal: CategoryTheory.PreGaloisCategory.IsGalois self.obj
-- CategoryTheory.PreGaloisCategory.PointedGaloisObject.Hom.comp
@[ext]
structure Hom (A B : PointedGaloisObject F) where
    val : A.obj ⟶ B.obj
    comp : F.map val A.pt = B.pt := by simp
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] {F : CategoryTheory.Functor C FintypeCat} {A B : CategoryTheory.PreGaloisCategory.PointedGaloisObject F} (self : A.Hom B)
Goal: F.map self.val A.pt = B.pt
-- CategoryTheory.PreGaloisCategory.PointedGaloisObject.hom_ext
@[ext]
lemma hom_ext {A B : PointedGaloisObject F} {f g : A ⟶ B} (h : f.val = g.val) : f = g 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] {F : CategoryTheory.Functor C FintypeCat} {A B : CategoryTheory.PreGaloisCategory.PointedGaloisObject F} {f g : A ⟶ B} (h : f.val = g.val)
Goal: f = g
-- CategoryTheory.PreGaloisCategory.PointedGaloisObject.id_val
@[simp]
lemma id_val (A : PointedGaloisObject F) : 𝟙 A = 𝟙 A.obj 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] {F : CategoryTheory.Functor C FintypeCat} (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F)
Goal: (CategoryTheory.CategoryStruct.id A).val = CategoryTheory.CategoryStruct.id A.obj
-- CategoryTheory.PreGaloisCategory.PointedGaloisObject.comp_val
@[simp, reassoc]
lemma comp_val {A B C : PointedGaloisObject F} (f : A ⟶ B) (g : B ⟶ C) :
    (f ≫ g).val = f.val ≫ g.val 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] {F : CategoryTheory.Functor C FintypeCat} {A B : CategoryTheory.PreGaloisCategory.PointedGaloisObject F}
Goal: ∀ {C_1 : CategoryTheory.PreGaloisCategory.PointedGaloisObject F} (f : A ⟶ B) (g : B ⟶ C_1),
  (CategoryTheory.CategoryStruct.comp f g).val = CategoryTheory.CategoryStruct.comp f.val g.val
-- CategoryTheory.PreGaloisCategory.PointedGaloisObject.incl_obj
@[simp]
lemma incl_obj (A : PointedGaloisObject F) : (incl F).obj A = A 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F)
Goal: (CategoryTheory.PreGaloisCategory.PointedGaloisObject.incl F).obj A = A.obj
-- CategoryTheory.PreGaloisCategory.PointedGaloisObject.incl_map
@[simp]
lemma incl_map {A B : PointedGaloisObject F} (f : A ⟶ B) : (incl F).map f = f.val 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) {A B : CategoryTheory.PreGaloisCategory.PointedGaloisObject F} (f : A ⟶ B)
Goal: (CategoryTheory.PreGaloisCategory.PointedGaloisObject.incl F).map f = f.val
-- CategoryTheory.PreGaloisCategory.PointedGaloisObject.cocone_app
@[simp]
lemma cocone_app (A : PointedGaloisObject F) (B : C) (f : (A : C) ⟶ B) :
    ((cocone F).ι.app ⟨A⟩).app B f = F.map f A.pt 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F) (B : C) (f : A.obj ⟶ B)
Goal: ((CategoryTheory.PreGaloisCategory.PointedGaloisObject.cocone F).ι.app (Opposite.op A)).app B f = F.map f A.pt
-- CategoryTheory.PreGaloisCategory.autGaloisSystem_obj
@[simps]
noncomputable def autGaloisSystem : PointedGaloisObject F ⥤ Grp.{u₂} 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F)
Goal: (CategoryTheory.PreGaloisCategory.autGaloisSystem F).obj A = Grp.of (CategoryTheory.Aut A.obj)
-- CategoryTheory.PreGaloisCategory.autGaloisSystem_map
@[simps]
noncomputable def autGaloisSystem : PointedGaloisObject F ⥤ Grp.{u₂} 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) {A B : CategoryTheory.PreGaloisCategory.PointedGaloisObject F} (f : A ⟶ B)
Goal: (CategoryTheory.PreGaloisCategory.autGaloisSystem F).map f = CategoryTheory.PreGaloisCategory.autMapHom f.val
-- CategoryTheory.PreGaloisCategory.AutGalois.π_apply
lemma AutGalois.π_apply (A : PointedGaloisObject F) (x : AutGalois F) :
    AutGalois.π F A x = x.val A 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F) (x : CategoryTheory.PreGaloisCategory.AutGalois F)
Goal: (CategoryTheory.PreGaloisCategory.AutGalois.π F A) x = ↑x A
-- CategoryTheory.PreGaloisCategory.autGaloisSystem_map_surjective
lemma autGaloisSystem_map_surjective ⦃A B : PointedGaloisObject F⦄ (f : A ⟶ B) :
    Function.Surjective ((autGaloisSystem F).map f) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) ⦃A B : CategoryTheory.PreGaloisCategory.PointedGaloisObject F⦄ (f : A ⟶ B)
Goal: Function.Surjective ⇑((CategoryTheory.PreGaloisCategory.autGaloisSystem F).map f)
-- CategoryTheory.PreGaloisCategory.AutGalois.π_surjective
theorem AutGalois.π_surjective (A : PointedGaloisObject F) :
    Function.Surjective (AutGalois.π F A) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F)
Goal: Function.Surjective ⇑(CategoryTheory.PreGaloisCategory.AutGalois.π F A)
-- CategoryTheory.PreGaloisCategory.AutGalois.ext
lemma AutGalois.ext {f g : AutGalois F}
    (h : ∀ (A : PointedGaloisObject F), AutGalois.π F A f = AutGalois.π F A g) : f = g 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) {f g : CategoryTheory.PreGaloisCategory.AutGalois F} (h :
  ∀ (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F),
    (CategoryTheory.PreGaloisCategory.AutGalois.π F A) f = (CategoryTheory.PreGaloisCategory.AutGalois.π F A) g)
Goal: f = g
-- CategoryTheory.PreGaloisCategory.endEquivSectionsFibers_π
@[simp]
lemma endEquivSectionsFibers_π (f : End F) (A : PointedGaloisObject F) :
    (endEquivSectionsFibers F f).val A = f.app A A.pt 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (f : CategoryTheory.End F) (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F)
Goal: ↑((CategoryTheory.PreGaloisCategory.endEquivSectionsFibers F) f) A = f.app A.obj A.pt
-- CategoryTheory.PreGaloisCategory.autIsoFibers_inv_app
lemma autIsoFibers_inv_app (A : PointedGaloisObject F) (b : F.obj A) :
    (autIsoFibers F).inv.app A b = (evaluationEquivOfIsGalois F A A.pt).symm b 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F) (b : ↑(F.obj A.obj))
Goal: (CategoryTheory.PreGaloisCategory.autIsoFibers F).inv.app A b =
  (CategoryTheory.PreGaloisCategory.evaluationEquivOfIsGalois F A.obj A.pt).symm b
-- CategoryTheory.PreGaloisCategory.endEquivAutGalois_π
lemma endEquivAutGalois_π (f : End F) (A : PointedGaloisObject F) :
    F.map (AutGalois.π F A (endEquivAutGalois F f)).hom A.pt = f.app A A.pt 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (f : CategoryTheory.End F) (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F)
Goal: F.map
    ((CategoryTheory.PreGaloisCategory.AutGalois.π F A) ((CategoryTheory.PreGaloisCategory.endEquivAutGalois F) f)).hom
    A.pt =
  f.app A.obj A.pt
-- CategoryTheory.PreGaloisCategory.endEquivAutGalois_mul
@[simp]
theorem endEquivAutGalois_mul (f g : End F) :
    (endEquivAutGalois F) (g ≫ f) = (endEquivAutGalois F g) * (endEquivAutGalois F f) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (f g : CategoryTheory.End F)
Goal: (CategoryTheory.PreGaloisCategory.endEquivAutGalois F) (CategoryTheory.CategoryStruct.comp g f) =
  (CategoryTheory.PreGaloisCategory.endEquivAutGalois F) g * (CategoryTheory.PreGaloisCategory.endEquivAutGalois F) f
-- CategoryTheory.PreGaloisCategory.endMulEquivAutGalois_pi
lemma endMulEquivAutGalois_pi (f : End F) (A : PointedGaloisObject F) :
    F.map (AutGalois.π F A (endMulEquivAutGalois F f).unop).hom A.2 = f.app A A.pt 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (f : CategoryTheory.End F) (A : CategoryTheory.PreGaloisCategory.PointedGaloisObject F)
Goal: F.map
    ((CategoryTheory.PreGaloisCategory.AutGalois.π F A)
        (MulOpposite.unop ((CategoryTheory.PreGaloisCategory.endMulEquivAutGalois F) f))).hom
    A.pt =
  f.app A.obj A.pt
-- CategoryTheory.PreGaloisCategory.FibreFunctor.end_isUnit
theorem FibreFunctor.end_isUnit (f : End F) : IsUnit f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (f : CategoryTheory.End F)
Goal: IsUnit f
-- CategoryTheory.PreGaloisCategory.autMulEquivAutGalois_π
lemma autMulEquivAutGalois_π (f : Aut F) (A : C) [IsGalois A] (a : F.obj A) :
    F.map (AutGalois.π F { obj := A, pt := a } (autMulEquivAutGalois F f).unop).hom a =
      f.hom.app A a 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (f : CategoryTheory.Aut F) (A : C) [CategoryTheory.PreGaloisCategory.IsGalois A] (a : ↑(F.obj A))
Goal: F.map
    ((CategoryTheory.PreGaloisCategory.AutGalois.π F { obj := A, pt := a, isGalois := ⋯ })
        (MulOpposite.unop ((CategoryTheory.PreGaloisCategory.autMulEquivAutGalois F) f))).hom
    a =
  f.hom.app A a
-- CategoryTheory.PreGaloisCategory.autMulEquivAutGalois_symm_app
@[simp]
lemma autMulEquivAutGalois_symm_app (x : AutGalois F) (A : C) [IsGalois A] (a : F.obj A) :
    ((autMulEquivAutGalois F).symm ⟨x⟩).hom.app A a =
      F.map (AutGalois.π F ⟨A, a, inferInstance⟩ x).hom a 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (x : CategoryTheory.PreGaloisCategory.AutGalois F) (A : C) [CategoryTheory.PreGaloisCategory.IsGalois A] (a : ↑(F.obj A))
Goal: ((CategoryTheory.PreGaloisCategory.autMulEquivAutGalois F).symm { unop' := x }).hom.app A a =
  F.map ((CategoryTheory.PreGaloisCategory.AutGalois.π F { obj := A, pt := a, isGalois := ⋯ }) x).hom a
-- CategoryTheory.PreGaloisCategory.FiberFunctor.isPretransitive_of_isGalois
theorem FiberFunctor.isPretransitive_of_isGalois (X : C) [IsGalois X] :
    MulAction.IsPretransitive (Aut F) (F.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (X : C) [CategoryTheory.PreGaloisCategory.IsGalois X]
Goal: MulAction.IsPretransitive (CategoryTheory.Aut F) ↑(F.obj X)
-- CategoryTheory.KleisliCat.id_def
@[simp]
theorem KleisliCat.id_def {m} [Monad m] (α : KleisliCat m) : 𝟙 α = @pure m _ α 
Arguments: {m : Type u_1 → Type u_2} [Monad m] (α : CategoryTheory.KleisliCat m)
Goal: CategoryTheory.CategoryStruct.id α = pure
-- CategoryTheory.KleisliCat.comp_def
theorem KleisliCat.comp_def {m} [Monad m] (α β γ : KleisliCat m) (xs : α ⟶ β) (ys : β ⟶ γ) (a : α) :
    (xs ≫ ys) a = xs a >>= ys 
Arguments: {m : Type u_1 → Type u_2} [Monad m] (α β γ : CategoryTheory.KleisliCat m) (xs : α ⟶ β) (ys : β ⟶ γ) (a : α)
Goal: CategoryTheory.CategoryStruct.comp xs ys a = xs a >>= ys
-- _private.Mathlib.CategoryTheory.Galois.Decomposition.0.CategoryTheory.PreGaloisCategory.has_decomp_connected_components_aux_conn
private lemma has_decomp_connected_components_aux_conn (X : C) [IsConnected X] :
    ∃ (ι : Type) (f : ι → C) (g : (i : ι) → (f i) ⟶ X) (_ : IsColimit (Cofan.mk X g)),
    (∀ i, IsConnected (f i)) ∧ Finite ι 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] (X : C) [CategoryTheory.PreGaloisCategory.IsConnected X]
Goal: ∃ ι f g x, (∀ (i : ι), CategoryTheory.PreGaloisCategory.IsConnected (f i)) ∧ Finite ι
-- _private.Mathlib.CategoryTheory.Galois.Decomposition.0.CategoryTheory.PreGaloisCategory.has_decomp_connected_components_aux_initial
private lemma has_decomp_connected_components_aux_initial (X : C) (h : IsInitial X) :
    ∃ (ι : Type) (f : ι → C) (g : (i : ι) → (f i) ⟶ X) (_ : IsColimit (Cofan.mk X g)),
    (∀ i, IsConnected (f i)) ∧ Finite ι 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] (X : C) (h : CategoryTheory.Limits.IsInitial X)
Goal: ∃ ι f g x, (∀ (i : ι), CategoryTheory.PreGaloisCategory.IsConnected (f i)) ∧ Finite ι
-- _private.Mathlib.CategoryTheory.Galois.Decomposition.0.CategoryTheory.PreGaloisCategory.has_decomp_connected_components_aux
private lemma has_decomp_connected_components_aux (F : C ⥤ FintypeCat.{w}) [FiberFunctor F]
    (n : ℕ) : ∀ (X : C), n = Nat.card (F.obj X) → ∃ (ι : Type) (f : ι → C)
    (g : (i : ι) → (f i) ⟶ X) (_ : IsColimit (Cofan.mk X g)),
    (∀ i, IsConnected (f i)) ∧ Finite ι 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (n : ℕ) (X : C)
Goal: n = Nat.card ↑(F.obj X) → ∃ ι f g x, (∀ (i : ι), CategoryTheory.PreGaloisCategory.IsConnected (f i)) ∧ Finite ι
-- CategoryTheory.PreGaloisCategory.has_decomp_connected_components
theorem has_decomp_connected_components (X : C) :
    ∃ (ι : Type) (f : ι → C) (g : (i : ι) → f i ⟶ X) (_ : IsColimit (Cofan.mk X g)),
      (∀ i, IsConnected (f i)) ∧ Finite ι 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (X : C)
Goal: ∃ ι f g x, (∀ (i : ι), CategoryTheory.PreGaloisCategory.IsConnected (f i)) ∧ Finite ι
-- CategoryTheory.PreGaloisCategory.has_decomp_connected_components'
theorem has_decomp_connected_components' (X : C) :
    ∃ (ι : Type) (_ : Finite ι) (f : ι → C) (_ : ∐ f ≅ X), ∀ i, IsConnected (f i) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.GaloisCategory C] (X : C)
Goal: ∃ ι, ∃ (x : Finite ι), ∃ f x, ∀ (i : ι), CategoryTheory.PreGaloisCategory.IsConnected (f i)