ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.NatIso.cancel_natIso_inv_right_assoc
@[simp]
theorem cancel_natIso_inv_right_assoc {W X X' : D} {Y : C} (f : W ⟶ X) (g : X ⟶ G.obj Y)
    (f' : W ⟶ X') (g' : X' ⟶ G.obj Y) :
    f ≫ g ≫ α.inv.app Y = f' ≫ g' ≫ α.inv.app Y ↔ f ≫ g = f' ≫ g' 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} (α : F ≅ G) {W X X' : D} {Y : C} (f : W ⟶ X) (g : X ⟶ G.obj Y) (f' : W ⟶ X') (g' : X' ⟶ G.obj Y)
Goal: f ≫ g ≫ α.inv.app Y = f' ≫ g' ≫ α.inv.app Y ↔ f ≫ g = f' ≫ g'
-- CategoryTheory.NatIso.inv_inv_app
@[simp]
theorem inv_inv_app {F G : C ⥤ D} (e : F ≅ G) (X : C) : inv (e.inv.app X) = e.hom.app X 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} (e : F ≅ G) (X : C)
Goal: CategoryTheory.inv (e.inv.app X) = e.hom.app X
-- CategoryTheory.NatIso.naturality_1
theorem naturality_1 (α : F ≅ G) (f : X ⟶ Y) : α.inv.app X ≫ F.map f ≫ α.hom.app Y = G.map f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} {X Y : C} (α : F ≅ G) (f : X ⟶ Y)
Goal: α.inv.app X ≫ F.map f ≫ α.hom.app Y = G.map f
-- CategoryTheory.NatIso.naturality_2
theorem naturality_2 (α : F ≅ G) (f : X ⟶ Y) : α.hom.app X ≫ G.map f ≫ α.inv.app Y = F.map f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} {X Y : C} (α : F ≅ G) (f : X ⟶ Y)
Goal: α.hom.app X ≫ G.map f ≫ α.inv.app Y = F.map f
-- CategoryTheory.NatIso.naturality_1'
theorem naturality_1' (α : F ⟶ G) (f : X ⟶ Y) {_ : IsIso (α.app X)} :
    inv (α.app X) ≫ F.map f ≫ α.app Y = G.map f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} {X Y : C} (α : F ⟶ G) (f : X ⟶ Y)
Goal: ∀ {x : CategoryTheory.IsIso (α.app X)}, CategoryTheory.inv (α.app X) ≫ F.map f ≫ α.app Y = G.map f
-- CategoryTheory.NatIso.naturality_2'
@[reassoc (attr := simp)]
theorem naturality_2' (α : F ⟶ G) (f : X ⟶ Y) {_ : IsIso (α.app Y)} :
    α.app X ≫ G.map f ≫ inv (α.app Y) = F.map f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} {X Y : C} (α : F ⟶ G) (f : X ⟶ Y)
Goal: ∀ {x : CategoryTheory.IsIso (α.app Y)}, α.app X ≫ G.map f ≫ CategoryTheory.inv (α.app Y) = F.map f
-- CategoryTheory.NatIso.isIso_inv_app
@[simp]
theorem isIso_inv_app (α : F ⟶ G) {_ : IsIso α} (X) : (inv α).app X = inv (α.app X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} (α : F ⟶ G)
Goal: ∀ {x : CategoryTheory.IsIso α} (X : C), (CategoryTheory.inv α).app X = CategoryTheory.inv (α.app X)
-- CategoryTheory.NatIso.inv_map_inv_app
@[simp]
theorem inv_map_inv_app (F : C ⥤ D ⥤ E) {X Y : C} (e : X ≅ Y) (Z : D) :
    inv ((F.map e.inv).app Z) = (F.map e.hom).app Z 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : C ⥤ D ⥤ E) {X Y : C} (e : X ≅ Y) (Z : D)
Goal: CategoryTheory.inv ((F.map e.inv).app Z) = (F.map e.hom).app Z
-- CategoryTheory.NatIso.ofComponents_hom_app
@[simps]
def ofComponents (app : ∀ X : C, F.obj X ≅ G.obj X)
    (naturality : ∀ {X Y : C} (f : X ⟶ Y),
      F.map f ≫ (app Y).hom = (app X).hom ≫ G.map f := by aesop_cat) :
    F ≅ G 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} (app : (X : C) → F.obj X ≅ G.obj X) (naturality : ∀ {X Y : C} (f : X ⟶ Y), F.map f ≫ (app Y).hom = (app X).hom ≫ G.map f := by aesop_cat) (X : C)
Goal: (CategoryTheory.NatIso.ofComponents app naturality).hom.app X = (app X).hom
-- CategoryTheory.NatIso.ofComponents_inv_app
@[simps]
def ofComponents (app : ∀ X : C, F.obj X ≅ G.obj X)
    (naturality : ∀ {X Y : C} (f : X ⟶ Y),
      F.map f ≫ (app Y).hom = (app X).hom ≫ G.map f := by aesop_cat) :
    F ≅ G 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} (app : (X : C) → F.obj X ≅ G.obj X) (naturality : ∀ {X Y : C} (f : X ⟶ Y), F.map f ≫ (app Y).hom = (app X).hom ≫ G.map f := by aesop_cat) (X : C)
Goal: (CategoryTheory.NatIso.ofComponents app naturality).inv.app X = (app X).inv
-- CategoryTheory.NatIso.ofComponents.app
@[simp]
theorem ofComponents.app (app' : ∀ X : C, F.obj X ≅ G.obj X) (naturality) (X) :
    (ofComponents app' naturality).app X = app' X 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} (app' : (X : C) → F.obj X ≅ G.obj X) (naturality : ∀ {X Y : C} (f : X ⟶ Y), F.map f ≫ (app' Y).hom = (app' X).hom ≫ G.map f) (X : C)
Goal: (CategoryTheory.NatIso.ofComponents app' naturality).app X = app' X
-- CategoryTheory.NatIso.isIso_of_isIso_app
theorem isIso_of_isIso_app (α : F ⟶ G) [∀ X : C, IsIso (α.app X)] : IsIso α 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} (α : F ⟶ G) [∀ (X : C), CategoryTheory.IsIso (α.app X)]
Goal: CategoryTheory.IsIso α
-- CategoryTheory.NatIso.hcomp_hom
@[simps]
def hcomp {F G : C ⥤ D} {H I : D ⥤ E} (α : F ≅ G) (β : H ≅ I) : F ⋙ H ≅ G ⋙ I 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : C ⥤ D} {H I : D ⥤ E} (α : F ≅ G) (β : H ≅ I)
Goal: (CategoryTheory.NatIso.hcomp α β).hom = α.hom ◫ β.hom
-- CategoryTheory.NatIso.hcomp_inv
@[simps]
def hcomp {F G : C ⥤ D} {H I : D ⥤ E} (α : F ≅ G) (β : H ≅ I) : F ⋙ H ≅ G ⋙ I 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : C ⥤ D} {H I : D ⥤ E} (α : F ≅ G) (β : H ≅ I)
Goal: (CategoryTheory.NatIso.hcomp α β).inv = α.inv ◫ β.inv
-- CategoryTheory.NatIso.isIso_map_iff
theorem isIso_map_iff {F₁ F₂ : C ⥤ D} (e : F₁ ≅ F₂) {X Y : C} (f : X ⟶ Y) :
    IsIso (F₁.map f) ↔ IsIso (F₂.map f) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F₁ F₂ : C ⥤ D} (e : F₁ ≅ F₂) {X Y : C} (f : X ⟶ Y)
Goal: CategoryTheory.IsIso (F₁.map f) ↔ CategoryTheory.IsIso (F₂.map f)
-- CategoryTheory.NatTrans.isIso_iff_isIso_app
lemma NatTrans.isIso_iff_isIso_app {F G : C ⥤ D} (τ : F ⟶ G) :
    IsIso τ ↔ ∀ X, IsIso (τ.app X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : C ⥤ D} (τ : F ⟶ G)
Goal: CategoryTheory.IsIso τ ↔ ∀ (X : C), CategoryTheory.IsIso (τ.app X)
-- CategoryTheory.Functor.copyObj_obj
@[simps obj]
def copyObj : C ⥤ D 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : C ⥤ D) (obj : C → D) (e : (X : C) → F.obj X ≅ obj X)
Goal: ∀ (a : C), (F.copyObj obj e).obj a = obj a
-- CategoryTheory.Functor.isoCopyObj_hom_app
@[simps!]
def isoCopyObj : F ≅ F.copyObj obj e 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : C ⥤ D) (obj : C → D) (e : (X : C) → F.obj X ≅ obj X) (X : C)
Goal: (F.isoCopyObj obj e).hom.app X = (e X).hom
-- CategoryTheory.Functor.isoCopyObj_inv_app
@[simps!]
def isoCopyObj : F ≅ F.copyObj obj e 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : C ⥤ D) (obj : C → D) (e : (X : C) → F.obj X ≅ obj X) (X : C)
Goal: (F.isoCopyObj obj e).inv.app X = (e X).inv
-- CategoryTheory.PreGaloisCategory.hasQuotientsByFiniteGroups
class PreGaloisCategory (C : Type u₁) [Category.{u₂, u₁} C] : Prop where
    hasTerminal : HasTerminal C := by infer_instance
    hasPullbacks : HasPullbacks C := by infer_instance
    hasFiniteCoproducts : HasFiniteCoproducts C := by infer_instance
    hasQuotientsByFiniteGroups (G : Type u₂) [Group G] [Finite G] :
    HasColimitsOfShape (SingleObj G) C := by infer_instance
    monoInducesIsoOnDirectSummand {X Y : C} (i : X ⟶ Y) [Mono i] : ∃ (Z : C) (u : Z ⟶ Y),
    Nonempty (IsColimit (BinaryCofan.mk i u))
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [self : CategoryTheory.PreGaloisCategory C] (G : Type u₂) [Group G] [Finite G]
Goal: CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.SingleObj G) C
-- CategoryTheory.PreGaloisCategory.hasFiniteCoproducts
class PreGaloisCategory (C : Type u₁) [Category.{u₂, u₁} C] : Prop where
    hasTerminal : HasTerminal C := by infer_instance
    hasPullbacks : HasPullbacks C := by infer_instance
    hasFiniteCoproducts : HasFiniteCoproducts C := by infer_instance
    hasQuotientsByFiniteGroups (G : Type u₂) [Group G] [Finite G] :
    HasColimitsOfShape (SingleObj G) C := by infer_instance
    monoInducesIsoOnDirectSummand {X Y : C} (i : X ⟶ Y) [Mono i] : ∃ (Z : C) (u : Z ⟶ Y),
    Nonempty (IsColimit (BinaryCofan.mk i u))
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [self : CategoryTheory.PreGaloisCategory C]
Goal: CategoryTheory.Limits.HasFiniteCoproducts C
-- CategoryTheory.PreGaloisCategory.hasTerminal
class PreGaloisCategory (C : Type u₁) [Category.{u₂, u₁} C] : Prop where
    hasTerminal : HasTerminal C := by infer_instance
    hasPullbacks : HasPullbacks C := by infer_instance
    hasFiniteCoproducts : HasFiniteCoproducts C := by infer_instance
    hasQuotientsByFiniteGroups (G : Type u₂) [Group G] [Finite G] :
    HasColimitsOfShape (SingleObj G) C := by infer_instance
    monoInducesIsoOnDirectSummand {X Y : C} (i : X ⟶ Y) [Mono i] : ∃ (Z : C) (u : Z ⟶ Y),
    Nonempty (IsColimit (BinaryCofan.mk i u))
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [self : CategoryTheory.PreGaloisCategory C]
Goal: CategoryTheory.Limits.HasTerminal C
-- CategoryTheory.PreGaloisCategory.monoInducesIsoOnDirectSummand
class PreGaloisCategory (C : Type u₁) [Category.{u₂, u₁} C] : Prop where
    hasTerminal : HasTerminal C := by infer_instance
    hasPullbacks : HasPullbacks C := by infer_instance
    hasFiniteCoproducts : HasFiniteCoproducts C := by infer_instance
    hasQuotientsByFiniteGroups (G : Type u₂) [Group G] [Finite G] :
    HasColimitsOfShape (SingleObj G) C := by infer_instance
    monoInducesIsoOnDirectSummand {X Y : C} (i : X ⟶ Y) [Mono i] : ∃ (Z : C) (u : Z ⟶ Y),
    Nonempty (IsColimit (BinaryCofan.mk i u))
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [self : CategoryTheory.PreGaloisCategory C] {X Y : C} (i : X ⟶ Y) [CategoryTheory.Mono i]
Goal: ∃ Z u, Nonempty (CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk i u))
-- CategoryTheory.PreGaloisCategory.hasPullbacks
class PreGaloisCategory (C : Type u₁) [Category.{u₂, u₁} C] : Prop where
    hasTerminal : HasTerminal C := by infer_instance
    hasPullbacks : HasPullbacks C := by infer_instance
    hasFiniteCoproducts : HasFiniteCoproducts C := by infer_instance
    hasQuotientsByFiniteGroups (G : Type u₂) [Group G] [Finite G] :
    HasColimitsOfShape (SingleObj G) C := by infer_instance
    monoInducesIsoOnDirectSummand {X Y : C} (i : X ⟶ Y) [Mono i] : ∃ (Z : C) (u : Z ⟶ Y),
    Nonempty (IsColimit (BinaryCofan.mk i u))
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [self : CategoryTheory.PreGaloisCategory C]
Goal: CategoryTheory.Limits.HasPullbacks C
-- CategoryTheory.PreGaloisCategory.FiberFunctor.preservesEpis
class FiberFunctor {C : Type u₁} [Category.{u₂, u₁} C] [PreGaloisCategory C]
    (F : C ⥤ FintypeCat.{w}) where
    preservesTerminalObjects : PreservesLimitsOfShape (CategoryTheory.Discrete PEmpty.{1}) F := by
    infer_instance
    preservesPullbacks : PreservesLimitsOfShape WalkingCospan F := by infer_instance
    preservesFiniteCoproducts : PreservesFiniteCoproducts F := by infer_instance
    preservesEpis : Functor.PreservesEpimorphisms F := by infer_instance
    preservesQuotientsByFiniteGroups (G : Type u₂) [Group G] [Finite G] :
    PreservesColimitsOfShape (SingleObj G) F := by infer_instance
    reflectsIsos : F.ReflectsIsomorphisms := by infer_instance
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] {F : CategoryTheory.Functor C FintypeCat} [self : CategoryTheory.PreGaloisCategory.FiberFunctor F]
Goal: F.PreservesEpimorphisms
-- CategoryTheory.PreGaloisCategory.FiberFunctor.reflectsIsos
class FiberFunctor {C : Type u₁} [Category.{u₂, u₁} C] [PreGaloisCategory C]
    (F : C ⥤ FintypeCat.{w}) where
    preservesTerminalObjects : PreservesLimitsOfShape (CategoryTheory.Discrete PEmpty.{1}) F := by
    infer_instance
    preservesPullbacks : PreservesLimitsOfShape WalkingCospan F := by infer_instance
    preservesFiniteCoproducts : PreservesFiniteCoproducts F := by infer_instance
    preservesEpis : Functor.PreservesEpimorphisms F := by infer_instance
    preservesQuotientsByFiniteGroups (G : Type u₂) [Group G] [Finite G] :
    PreservesColimitsOfShape (SingleObj G) F := by infer_instance
    reflectsIsos : F.ReflectsIsomorphisms := by infer_instance
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] {F : CategoryTheory.Functor C FintypeCat} [self : CategoryTheory.PreGaloisCategory.FiberFunctor F]
Goal: F.ReflectsIsomorphisms
-- CategoryTheory.PreGaloisCategory.IsConnected.noTrivialComponent
class IsConnected {C : Type u₁} [Category.{u₂, u₁} C] (X : C) : Prop where
    notInitial : IsInitial X → False
    noTrivialComponent (Y : C) (i : Y ⟶ X) [Mono i] : (IsInitial Y → False) → IsIso i
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] {X : C} [self : CategoryTheory.PreGaloisCategory.IsConnected X] (Y : C) (i : Y ⟶ X) [CategoryTheory.Mono i]
Goal: (CategoryTheory.Limits.IsInitial Y → False) → CategoryTheory.IsIso i
-- CategoryTheory.PreGaloisCategory.IsConnected.notInitial
class IsConnected {C : Type u₁} [Category.{u₂, u₁} C] (X : C) : Prop where
    notInitial : IsInitial X → False
    noTrivialComponent (Y : C) (i : Y ⟶ X) [Mono i] : (IsInitial Y → False) → IsIso i
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] {X : C} [self : CategoryTheory.PreGaloisCategory.IsConnected X]
Goal: CategoryTheory.Limits.IsInitial X → False
-- CategoryTheory.PreGaloisCategory.PreservesIsConnected.preserves
class PreservesIsConnected {C : Type u₁} [Category.{u₂, u₁} C] {D : Type v₁}
    [Category.{v₂, v₁} D] (F : C ⥤ D) : Prop where
    preserves : ∀ {X : C} [IsConnected X], IsConnected (F.obj X)
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] {D : Type v₁} [CategoryTheory.Category.{v₂, v₁} D] {F : CategoryTheory.Functor C D} [self : CategoryTheory.PreGaloisCategory.PreservesIsConnected F] {X : C} [CategoryTheory.PreGaloisCategory.IsConnected X]
Goal: CategoryTheory.PreGaloisCategory.IsConnected (F.obj X)
-- CategoryTheory.PreGaloisCategory.mulAction_def
lemma mulAction_def {X : C} (σ : Aut F) (x : F.obj X) :
    σ • x = σ.hom.app X x 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] (F : CategoryTheory.Functor C FintypeCat) {X : C} (σ : CategoryTheory.Aut F) (x : ↑(F.obj X))
Goal: σ • x = σ.hom.app X x
-- CategoryTheory.PreGaloisCategory.initial_iff_fiber_empty
lemma initial_iff_fiber_empty (X : C) : Nonempty (IsInitial X) ↔ IsEmpty (F.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (X : C)
Goal: Nonempty (CategoryTheory.Limits.IsInitial X) ↔ IsEmpty ↑(F.obj X)
-- CategoryTheory.PreGaloisCategory.not_initial_iff_fiber_nonempty
lemma not_initial_iff_fiber_nonempty (X : C) : (IsInitial X → False) ↔ Nonempty (F.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (X : C)
Goal: CategoryTheory.Limits.IsInitial X → False ↔ Nonempty ↑(F.obj X)
-- CategoryTheory.PreGaloisCategory.not_initial_of_inhabited
lemma not_initial_of_inhabited {X : C} (x : F.obj X) (h : IsInitial X) : False 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X : C} (x : ↑(F.obj X)) (h : CategoryTheory.Limits.IsInitial X)
Goal: False
-- CategoryTheory.PreGaloisCategory.has_non_trivial_subobject_of_not_isConnected_of_not_initial
lemma has_non_trivial_subobject_of_not_isConnected_of_not_initial (X : C) (hc : ¬ IsConnected X)
    (hi : IsInitial X → False) :
    ∃ (Y : C) (v : Y ⟶ X), (IsInitial Y → False) ∧ Mono v ∧ (¬ IsIso v) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] (X : C) (hc : ¬CategoryTheory.PreGaloisCategory.IsConnected X) (hi : CategoryTheory.Limits.IsInitial X → False)
Goal: ∃ Y v, (CategoryTheory.Limits.IsInitial Y → False) ∧ CategoryTheory.Mono v ∧ ¬CategoryTheory.IsIso v
-- CategoryTheory.PreGaloisCategory.fiberEqualizerEquiv_symm_ι_apply
@[simp]
lemma fiberEqualizerEquiv_symm_ι_apply {X Y : C} {f g : X ⟶ Y} (x : F.obj X)
    (h : F.map f x = F.map g x) :
    F.map (equalizer.ι f g) ((fiberEqualizerEquiv F f g).symm ⟨x, h⟩) = x 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X Y : C} {f g : X ⟶ Y} (x : ↑(F.obj X)) (h : F.map f x = F.map g x)
Goal: F.map (CategoryTheory.Limits.equalizer.ι f g)
    ((CategoryTheory.PreGaloisCategory.fiberEqualizerEquiv F f g).symm ⟨x, h⟩) =
  x
-- CategoryTheory.PreGaloisCategory.fiberPullbackEquiv_symm_fst_apply
@[simp]
lemma fiberPullbackEquiv_symm_fst_apply {X A B : C} {f : A ⟶ X} {g : B ⟶ X}
    (a : F.obj A) (b : F.obj B) (h : F.map f a = F.map g b) :
    F.map (pullback.fst f g) ((fiberPullbackEquiv F f g).symm ⟨(a, b), h⟩) = a 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X A B : C} {f : A ⟶ X} {g : B ⟶ X} (a : ↑(F.obj A)) (b : ↑(F.obj B)) (h : F.map f a = F.map g b)
Goal: F.map (CategoryTheory.Limits.pullback.fst f g)
    ((CategoryTheory.PreGaloisCategory.fiberPullbackEquiv F f g).symm ⟨(a, b), h⟩) =
  a
-- CategoryTheory.PreGaloisCategory.fiberPullbackEquiv_symm_snd_apply
@[simp]
lemma fiberPullbackEquiv_symm_snd_apply {X A B : C} {f : A ⟶ X} {g : B ⟶ X}
    (a : F.obj A) (b : F.obj B) (h : F.map f a = F.map g b) :
    F.map (pullback.snd f g) ((fiberPullbackEquiv F f g).symm ⟨(a, b), h⟩) = b 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X A B : C} {f : A ⟶ X} {g : B ⟶ X} (a : ↑(F.obj A)) (b : ↑(F.obj B)) (h : F.map f a = F.map g b)
Goal: F.map (CategoryTheory.Limits.pullback.snd f g)
    ((CategoryTheory.PreGaloisCategory.fiberPullbackEquiv F f g).symm ⟨(a, b), h⟩) =
  b
-- CategoryTheory.PreGaloisCategory.fiberBinaryProductEquiv_symm_fst_apply
@[simp]
lemma fiberBinaryProductEquiv_symm_fst_apply {X Y : C} (x : F.obj X) (y : F.obj Y) :
    F.map prod.fst ((fiberBinaryProductEquiv F X Y).symm (x, y)) = x 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X Y : C} (x : ↑(F.obj X)) (y : ↑(F.obj Y))
Goal: F.map CategoryTheory.Limits.prod.fst ((CategoryTheory.PreGaloisCategory.fiberBinaryProductEquiv F X Y).symm (x, y)) = x
-- CategoryTheory.PreGaloisCategory.fiberBinaryProductEquiv_symm_snd_apply
@[simp]
lemma fiberBinaryProductEquiv_symm_snd_apply {X Y : C} (x : F.obj X) (y : F.obj Y) :
    F.map prod.snd ((fiberBinaryProductEquiv F X Y).symm (x, y)) = y 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X Y : C} (x : ↑(F.obj X)) (y : ↑(F.obj Y))
Goal: F.map CategoryTheory.Limits.prod.snd ((CategoryTheory.PreGaloisCategory.fiberBinaryProductEquiv F X Y).symm (x, y)) = y
-- CategoryTheory.PreGaloisCategory.evaluation_injective_of_isConnected
lemma evaluation_injective_of_isConnected (A X : C) [IsConnected A] (a : F.obj A) :
    Function.Injective (fun (f : A ⟶ X) ↦ F.map f a) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (A X : C) [CategoryTheory.PreGaloisCategory.IsConnected A] (a : ↑(F.obj A))
Goal: Function.Injective fun f => F.map f a
-- CategoryTheory.PreGaloisCategory.evaluation_aut_injective_of_isConnected
lemma evaluation_aut_injective_of_isConnected (A : C) [IsConnected A] (a : F.obj A) :
    Function.Injective (fun f : Aut A ↦ F.map (f.hom) a) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] (A : C) [CategoryTheory.PreGaloisCategory.IsConnected A] (a : ↑(F.obj A))
Goal: Function.Injective fun f => F.map f.hom a
-- CategoryTheory.PreGaloisCategory.epi_of_nonempty_of_isConnected
lemma epi_of_nonempty_of_isConnected {X A : C} [IsConnected A] [h : Nonempty (F.obj X)]
    (f : X ⟶ A) : Epi f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X A : C} [CategoryTheory.PreGaloisCategory.IsConnected A] [h : Nonempty ↑(F.obj X)] (f : X ⟶ A)
Goal: CategoryTheory.Epi f
-- CategoryTheory.PreGaloisCategory.surjective_on_fiber_of_epi
lemma surjective_on_fiber_of_epi {X Y : C} (f : X ⟶ Y) [Epi f] : Function.Surjective (F.map f) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Epi f]
Goal: Function.Surjective (F.map f)
-- CategoryTheory.PreGaloisCategory.surjective_of_nonempty_fiber_of_isConnected
lemma surjective_of_nonempty_fiber_of_isConnected {X A : C} [Nonempty (F.obj X)]
    [IsConnected A] (f : X ⟶ A) :
    Function.Surjective (F.map f) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X A : C} [Nonempty ↑(F.obj X)] [CategoryTheory.PreGaloisCategory.IsConnected A] (f : X ⟶ A)
Goal: Function.Surjective (F.map f)
-- CategoryTheory.PreGaloisCategory.isIso_of_mono_of_eq_card_fiber
lemma isIso_of_mono_of_eq_card_fiber {X Y : C} (f : X ⟶ Y) [Mono f]
    (h : Nat.card (F.obj X) = Nat.card (F.obj Y)) : IsIso f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Mono f] (h : Nat.card ↑(F.obj X) = Nat.card ↑(F.obj Y))
Goal: CategoryTheory.IsIso f
-- CategoryTheory.PreGaloisCategory.lt_card_fiber_of_mono_of_notIso
lemma lt_card_fiber_of_mono_of_notIso {X Y : C} (f : X ⟶ Y) [Mono f]
    (h : ¬ IsIso f) : Nat.card (F.obj X) < Nat.card (F.obj Y) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{u₂, u₁} C] [CategoryTheory.PreGaloisCategory C] (F : CategoryTheory.Functor C FintypeCat) [CategoryTheory.PreGaloisCategory.FiberFunctor F] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Mono f] (h : ¬CategoryTheory.IsIso f)
Goal: Nat.card ↑(F.obj X) < Nat.card ↑(F.obj Y)