ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.NatTrans.app_sub
@[simp]
theorem app_sub (X : C) (α β : F ⟶ G) : (α - β).app X = α.app X - β.app X 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] {F G : CategoryTheory.Functor C D} (X : C) (α β : F ⟶ G)
Goal: (α - β).app X = α.app X - β.app X
-- CategoryTheory.NatTrans.app_neg
@[simp]
theorem app_neg (X : C) (α : F ⟶ G) : (-α).app X = -α.app X 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] {F G : CategoryTheory.Functor C D} (X : C) (α : F ⟶ G)
Goal: (-α).app X = -α.app X
-- CategoryTheory.NatTrans.app_nsmul
@[simp]
theorem app_nsmul (X : C) (α : F ⟶ G) (n : ℕ) : (n • α).app X = n • α.app X 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] {F G : CategoryTheory.Functor C D} (X : C) (α : F ⟶ G) (n : ℕ)
Goal: (n • α).app X = n • α.app X
-- CategoryTheory.NatTrans.app_zsmul
@[simp]
theorem app_zsmul (X : C) (α : F ⟶ G) (n : ℤ) : (n • α).app X = n • α.app X 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] {F G : CategoryTheory.Functor C D} (X : C) (α : F ⟶ G) (n : ℤ)
Goal: (n • α).app X = n • α.app X
-- CategoryTheory.NatTrans.app_units_zsmul
@[simp]
theorem app_units_zsmul (X : C) (α : F ⟶ G) (n : ℤˣ) : (n • α).app X = n • α.app X 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] {F G : CategoryTheory.Functor C D} (X : C) (α : F ⟶ G) (n : ℤˣ)
Goal: (n • α).app X = n • α.app X
-- CategoryTheory.NatTrans.app_sum
@[simp]
theorem app_sum {ι : Type*} (s : Finset ι) (X : C) (α : ι → (F ⟶ G)) :
    (∑ i ∈ s, α i).app X = ∑ i ∈ s, (α i).app X 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_5, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] [CategoryTheory.Preadditive D] {F G : CategoryTheory.Functor C D} {ι : Type u_3} (s : Finset ι) (X : C) (α : ι → (F ⟶ G))
Goal: (∑ i ∈ s, α i).app X = ∑ i ∈ s, (α i).app X
-- CategoryTheory.Simple.mono_isIso_iff_nonzero
class Simple (X : C) : Prop where
  mono_isIso_iff_nonzero : ∀ {Y : C} (f : Y ⟶ X) [Mono f], IsIso f ↔ f ≠ 0
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X : C} [self : CategoryTheory.Simple X] {Y : C} (f : Y ⟶ X) [CategoryTheory.Mono f]
Goal: CategoryTheory.IsIso f ↔ f ≠ 0
-- CategoryTheory.isIso_of_mono_of_nonzero
theorem isIso_of_mono_of_nonzero {X Y : C} [Simple Y] {f : X ⟶ Y} [Mono f] (w : f ≠ 0) : IsIso f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} [CategoryTheory.Simple Y] {f : X ⟶ Y} [CategoryTheory.Mono f] (w : f ≠ 0)
Goal: CategoryTheory.IsIso f
-- CategoryTheory.Simple.of_iso
theorem Simple.of_iso {X Y : C} [Simple Y] (i : X ≅ Y) : Simple X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} [CategoryTheory.Simple Y] (i : X ≅ Y)
Goal: CategoryTheory.Simple X
-- CategoryTheory.Simple.iff_of_iso
theorem Simple.iff_of_iso {X Y : C} (i : X ≅ Y) : Simple X ↔ Simple Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (i : X ≅ Y)
Goal: CategoryTheory.Simple X ↔ CategoryTheory.Simple Y
-- CategoryTheory.kernel_zero_of_nonzero_from_simple
theorem kernel_zero_of_nonzero_from_simple {X Y : C} [Simple X] {f : X ⟶ Y} [HasKernel f]
    (w : f ≠ 0) : kernel.ι f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} [CategoryTheory.Simple X] {f : X ⟶ Y} [CategoryTheory.Limits.HasKernel f] (w : f ≠ 0)
Goal: CategoryTheory.Limits.kernel.ι f = 0
-- CategoryTheory.epi_of_nonzero_to_simple
theorem epi_of_nonzero_to_simple [HasEqualizers C] {X Y : C} [Simple Y] {f : X ⟶ Y} [HasImage f]
    (w : f ≠ 0) : Epi f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasEqualizers C] {X Y : C} [CategoryTheory.Simple Y] {f : X ⟶ Y} [CategoryTheory.Limits.HasImage f] (w : f ≠ 0)
Goal: CategoryTheory.Epi f
-- CategoryTheory.mono_to_simple_zero_of_not_iso
theorem mono_to_simple_zero_of_not_iso {X Y : C} [Simple Y] {f : X ⟶ Y} [Mono f]
    (w : IsIso f → False) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} [CategoryTheory.Simple Y] {f : X ⟶ Y} [CategoryTheory.Mono f] (w : CategoryTheory.IsIso f → False)
Goal: f = 0
-- CategoryTheory.id_nonzero
theorem id_nonzero (X : C) [Simple.{v} X] : 𝟙 X ≠ 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X : C) [CategoryTheory.Simple X]
Goal: CategoryTheory.CategoryStruct.id X ≠ 0
-- CategoryTheory.Simple.not_isZero
theorem Simple.not_isZero (X : C) [Simple X] : ¬IsZero X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X : C) [CategoryTheory.Simple X]
Goal: ¬CategoryTheory.Limits.IsZero X
-- CategoryTheory.zero_not_simple
theorem zero_not_simple [Simple (0 : C)] : False 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Simple 0]
Goal: False
-- CategoryTheory.simple_of_cosimple
theorem simple_of_cosimple (X : C) (h : ∀ {Z : C} (f : X ⟶ Z) [Epi f], IsIso f ↔ f ≠ 0) :
    Simple X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (X : C) (h : ∀ {Z : C} (f : X ⟶ Z) [inst : CategoryTheory.Epi f], CategoryTheory.IsIso f ↔ f ≠ 0)
Goal: CategoryTheory.Simple X
-- CategoryTheory.isIso_of_epi_of_nonzero
theorem isIso_of_epi_of_nonzero {X Y : C} [Simple X] {f : X ⟶ Y} [Epi f] (w : f ≠ 0) : IsIso f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {X Y : C} [CategoryTheory.Simple X] {f : X ⟶ Y} [CategoryTheory.Epi f] (w : f ≠ 0)
Goal: CategoryTheory.IsIso f
-- CategoryTheory.cokernel_zero_of_nonzero_to_simple
theorem cokernel_zero_of_nonzero_to_simple {X Y : C} [Simple Y] {f : X ⟶ Y} (w : f ≠ 0) :
    cokernel.π f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {X Y : C} [CategoryTheory.Simple Y] {f : X ⟶ Y} (w : f ≠ 0)
Goal: CategoryTheory.Limits.cokernel.π f = 0
-- CategoryTheory.epi_from_simple_zero_of_not_iso
theorem epi_from_simple_zero_of_not_iso {X Y : C} [Simple X] {f : X ⟶ Y} [Epi f]
    (w : IsIso f → False) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {X Y : C} [CategoryTheory.Simple X] {f : X ⟶ Y} [CategoryTheory.Epi f] (w : CategoryTheory.IsIso f → False)
Goal: f = 0
-- CategoryTheory.Biprod.isIso_inl_iff_isZero
theorem Biprod.isIso_inl_iff_isZero (X Y : C) : IsIso (biprod.inl : X ⟶ X ⊞ Y) ↔ IsZero Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasBinaryBiproducts C] (X Y : C)
Goal: CategoryTheory.IsIso CategoryTheory.Limits.biprod.inl ↔ CategoryTheory.Limits.IsZero Y
-- CategoryTheory.indecomposable_of_simple
theorem indecomposable_of_simple (X : C) [Simple X] : Indecomposable X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasBinaryBiproducts C] (X : C) [CategoryTheory.Simple X]
Goal: CategoryTheory.Indecomposable X
-- CategoryTheory.simple_of_isSimpleOrder_subobject
theorem simple_of_isSimpleOrder_subobject (X : C) [IsSimpleOrder (Subobject X)] : Simple X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (X : C) [IsSimpleOrder (CategoryTheory.Subobject X)]
Goal: CategoryTheory.Simple X
-- CategoryTheory.simple_iff_subobject_isSimpleOrder
theorem simple_iff_subobject_isSimpleOrder (X : C) : Simple X ↔ IsSimpleOrder (Subobject X) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (X : C)
Goal: CategoryTheory.Simple X ↔ IsSimpleOrder (CategoryTheory.Subobject X)
-- CategoryTheory.subobject_simple_iff_isAtom
theorem subobject_simple_iff_isAtom {X : C} (Y : Subobject X) : Simple (Y : C) ↔ IsAtom Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {X : C} (Y : CategoryTheory.Subobject X)
Goal: CategoryTheory.Simple (CategoryTheory.Subobject.underlying.obj Y) ↔ IsAtom Y
-- CategoryTheory.mono_of_nonzero_from_simple
theorem mono_of_nonzero_from_simple [HasKernels C] {X Y : C} [Simple X] {f : X ⟶ Y} (w : f ≠ 0) :
    Mono f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasKernels C] {X Y : C} [CategoryTheory.Simple X] {f : X ⟶ Y} (w : f ≠ 0)
Goal: CategoryTheory.Mono f
-- CategoryTheory.isIso_of_hom_simple
theorem isIso_of_hom_simple
    [HasKernels C] {X Y : C} [Simple X] [Simple Y] {f : X ⟶ Y} (w : f ≠ 0) : IsIso f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasKernels C] {X Y : C} [CategoryTheory.Simple X] [CategoryTheory.Simple Y] {f : X ⟶ Y} (w : f ≠ 0)
Goal: CategoryTheory.IsIso f
-- CategoryTheory.isIso_iff_nonzero
theorem isIso_iff_nonzero [HasKernels C] {X Y : C} [Simple X] [Simple Y] (f : X ⟶ Y) :
    IsIso f ↔ f ≠ 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasKernels C] {X Y : C} [CategoryTheory.Simple X] [CategoryTheory.Simple Y] (f : X ⟶ Y)
Goal: CategoryTheory.IsIso f ↔ f ≠ 0
-- CategoryTheory.finrank_hom_simple_simple_eq_zero_of_not_iso
theorem finrank_hom_simple_simple_eq_zero_of_not_iso [HasKernels C] [Linear 𝕜 C] {X Y : C}
    [Simple X] [Simple Y] (h : (X ≅ Y) → False) : finrank 𝕜 (X ⟶ Y) = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] (𝕜 : Type u_2) [DivisionRing 𝕜] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Linear 𝕜 C] {X Y : C} [CategoryTheory.Simple X] [CategoryTheory.Simple Y] (h : (X ≅ Y) → False)
Goal: FiniteDimensional.finrank 𝕜 (X ⟶ Y) = 0
-- CategoryTheory.finrank_endomorphism_eq_one
theorem finrank_endomorphism_eq_one {X : C} (isIso_iff_nonzero : ∀ f : X ⟶ X, IsIso f ↔ f ≠ 0)
    [I : FiniteDimensional 𝕜 (X ⟶ X)] : finrank 𝕜 (X ⟶ X) = 1 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] (𝕜 : Type u_2) [Field 𝕜] [IsAlgClosed 𝕜] [CategoryTheory.Linear 𝕜 C] {X : C} (isIso_iff_nonzero : ∀ (f : X ⟶ X), CategoryTheory.IsIso f ↔ f ≠ 0) [I : FiniteDimensional 𝕜 (X ⟶ X)]
Goal: FiniteDimensional.finrank 𝕜 (X ⟶ X) = 1
-- CategoryTheory.finrank_endomorphism_simple_eq_one
theorem finrank_endomorphism_simple_eq_one (X : C) [Simple X] [FiniteDimensional 𝕜 (X ⟶ X)] :
    finrank 𝕜 (X ⟶ X) = 1 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] (𝕜 : Type u_2) [Field 𝕜] [IsAlgClosed 𝕜] [CategoryTheory.Linear 𝕜 C] [CategoryTheory.Limits.HasKernels C] (X : C) [CategoryTheory.Simple X] [FiniteDimensional 𝕜 (X ⟶ X)]
Goal: FiniteDimensional.finrank 𝕜 (X ⟶ X) = 1
-- CategoryTheory.endomorphism_simple_eq_smul_id
theorem endomorphism_simple_eq_smul_id {X : C} [Simple X] [FiniteDimensional 𝕜 (X ⟶ X)]
    (f : X ⟶ X) : ∃ c : 𝕜, c • 𝟙 X = f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] (𝕜 : Type u_2) [Field 𝕜] [IsAlgClosed 𝕜] [CategoryTheory.Linear 𝕜 C] [CategoryTheory.Limits.HasKernels C] {X : C} [CategoryTheory.Simple X] [FiniteDimensional 𝕜 (X ⟶ X)] (f : X ⟶ X)
Goal: ∃ c, c • CategoryTheory.CategoryStruct.id X = f
-- CategoryTheory.finrank_hom_simple_simple_le_one
theorem finrank_hom_simple_simple_le_one (X Y : C) [FiniteDimensional 𝕜 (X ⟶ X)] [Simple X]
    [Simple Y] : finrank 𝕜 (X ⟶ Y) ≤ 1 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] (𝕜 : Type u_2) [Field 𝕜] [IsAlgClosed 𝕜] [CategoryTheory.Linear 𝕜 C] [CategoryTheory.Limits.HasKernels C] (X Y : C) [FiniteDimensional 𝕜 (X ⟶ X)] [CategoryTheory.Simple X] [CategoryTheory.Simple Y]
Goal: FiniteDimensional.finrank 𝕜 (X ⟶ Y) ≤ 1
-- CategoryTheory.finrank_hom_simple_simple_eq_one_iff
theorem finrank_hom_simple_simple_eq_one_iff (X Y : C) [FiniteDimensional 𝕜 (X ⟶ X)]
    [FiniteDimensional 𝕜 (X ⟶ Y)] [Simple X] [Simple Y] :
    finrank 𝕜 (X ⟶ Y) = 1 ↔ Nonempty (X ≅ Y) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] (𝕜 : Type u_2) [Field 𝕜] [IsAlgClosed 𝕜] [CategoryTheory.Linear 𝕜 C] [CategoryTheory.Limits.HasKernels C] (X Y : C) [FiniteDimensional 𝕜 (X ⟶ X)] [FiniteDimensional 𝕜 (X ⟶ Y)] [CategoryTheory.Simple X] [CategoryTheory.Simple Y]
Goal: FiniteDimensional.finrank 𝕜 (X ⟶ Y) = 1 ↔ Nonempty (X ≅ Y)
-- CategoryTheory.finrank_hom_simple_simple_eq_zero_iff
theorem finrank_hom_simple_simple_eq_zero_iff (X Y : C) [FiniteDimensional 𝕜 (X ⟶ X)]
    [FiniteDimensional 𝕜 (X ⟶ Y)] [Simple X] [Simple Y] :
    finrank 𝕜 (X ⟶ Y) = 0 ↔ IsEmpty (X ≅ Y) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] (𝕜 : Type u_2) [Field 𝕜] [IsAlgClosed 𝕜] [CategoryTheory.Linear 𝕜 C] [CategoryTheory.Limits.HasKernels C] (X Y : C) [FiniteDimensional 𝕜 (X ⟶ X)] [FiniteDimensional 𝕜 (X ⟶ Y)] [CategoryTheory.Simple X] [CategoryTheory.Simple Y]
Goal: FiniteDimensional.finrank 𝕜 (X ⟶ Y) = 0 ↔ IsEmpty (X ≅ Y)
-- CategoryTheory.finrank_hom_simple_simple
theorem finrank_hom_simple_simple (X Y : C) [∀ X Y : C, FiniteDimensional 𝕜 (X ⟶ Y)] [Simple X]
    [Simple Y] : finrank 𝕜 (X ⟶ Y) = if Nonempty (X ≅ Y) then 1 else 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] (𝕜 : Type u_2) [Field 𝕜] [IsAlgClosed 𝕜] [CategoryTheory.Linear 𝕜 C] [CategoryTheory.Limits.HasKernels C] (X Y : C) [∀ (X Y : C), FiniteDimensional 𝕜 (X ⟶ Y)] [CategoryTheory.Simple X] [CategoryTheory.Simple Y]
Goal: FiniteDimensional.finrank 𝕜 (X ⟶ Y) = if Nonempty (X ≅ Y) then 1 else 0
-- CategoryTheory.Localization.isoOfHom_unop
lemma isoOfHom_unop  {X Y : Cᵒᵖ} (w : X ⟶ Y) (hw : W.op w) :
    (isoOfHom L.op W.op w hw).unop = (isoOfHom L W w.unop hw) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (L : C ⥤ D) (W : CategoryTheory.MorphismProperty C) [L.IsLocalization W] {X Y : Cᵒᵖ} (w : X ⟶ Y) (hw : W.op w)
Goal: (CategoryTheory.Localization.isoOfHom L.op W.op w hw).unop = CategoryTheory.Localization.isoOfHom L W w.unop hw
-- CategoryTheory.Localization.isoOfHom_op_inv
lemma isoOfHom_op_inv {X Y : Cᵒᵖ} (w : X ⟶ Y) (hw : W.op w) :
    (isoOfHom L.op W.op w hw).inv = (isoOfHom L W w.unop hw).inv.op 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (L : C ⥤ D) (W : CategoryTheory.MorphismProperty C) [L.IsLocalization W] {X Y : Cᵒᵖ} (w : X ⟶ Y) (hw : W.op w)
Goal: (CategoryTheory.Localization.isoOfHom L.op W.op w hw).inv = (CategoryTheory.Localization.isoOfHom L W w.unop hw).inv.op
-- CategoryTheory.Functor.IsLocalization.comp
lemma comp [L₁.IsLocalization W₁] [L₂.IsLocalization W₂]
    (W₃ : MorphismProperty C₁) (hW₃ : W₃.IsInvertedBy (L₁ ⋙ L₂))
    (hW₁₃ : W₁ ≤ W₃) (hW₂₃ : W₂ ≤ W₃.map L₁) :
    (L₁ ⋙ L₂).IsLocalization W₃ 
Arguments: {C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] (L₁ : CategoryTheory.Functor C₁ C₂) (L₂ : CategoryTheory.Functor C₂ C₃) (W₁ : CategoryTheory.MorphismProperty C₁) (W₂ : CategoryTheory.MorphismProperty C₂) [L₁.IsLocalization W₁] [L₂.IsLocalization W₂] (W₃ : CategoryTheory.MorphismProperty C₁) (hW₃ : W₃.IsInvertedBy (L₁.comp L₂)) (hW₁₃ : W₁ ≤ W₃) (hW₂₃ : W₂ ≤ W₃.map L₁)
Goal: (L₁.comp L₂).IsLocalization W₃
-- CategoryTheory.Functor.IsLocalization.of_comp
lemma of_comp (W₃ : MorphismProperty C₁)
    [L₁.IsLocalization W₁] [(L₁ ⋙ L₂).IsLocalization W₃]
    (hW₁₃ : W₁ ≤ W₃) (hW₂₃ : W₂ = W₃.map L₁) :
    L₂.IsLocalization W₂ 
Arguments: {C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] (L₁ : CategoryTheory.Functor C₁ C₂) (L₂ : CategoryTheory.Functor C₂ C₃) (W₁ : CategoryTheory.MorphismProperty C₁) (W₂ : CategoryTheory.MorphismProperty C₂) (W₃ : CategoryTheory.MorphismProperty C₁) [L₁.IsLocalization W₁] [(L₁.comp L₂).IsLocalization W₃] (hW₁₃ : W₁ ≤ W₃) (hW₂₃ : W₂ = W₃.map L₁)
Goal: L₂.IsLocalization W₂
-- CategoryTheory.Paths.of_map
@[simps]
def of : V ⥤q Paths V 
Arguments: {V : Type u₁} [Quiver V]
Goal: ∀ {X Y : V} (f : X ⟶ Y), CategoryTheory.Paths.of.map f = f.toPath
-- CategoryTheory.Paths.of_obj
@[simps]
def of : V ⥤q Paths V 
Arguments: {V : Type u₁} [Quiver V] (X : V)
Goal: CategoryTheory.Paths.of.obj X = X
-- CategoryTheory.Paths.lift_nil
@[simp]
theorem lift_nil {C} [Category C] (φ : V ⥤q C) (X : V) :
    (lift φ).map Quiver.Path.nil = 𝟙 (φ.obj X) 
Arguments: {V : Type u₁} [Quiver V] {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] (φ : V ⥤q C) (X : V)
Goal: (CategoryTheory.Paths.lift φ).map Quiver.Path.nil = CategoryTheory.CategoryStruct.id (φ.obj X)
-- CategoryTheory.Paths.lift_cons
@[simp]
theorem lift_cons {C} [Category C] (φ : V ⥤q C) {X Y Z : V} (p : Quiver.Path X Y) (f : Y ⟶ Z) :
    (lift φ).map (p.cons f) = (lift φ).map p ≫ φ.map f 
Arguments: {V : Type u₁} [Quiver V] {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] (φ : V ⥤q C) {X Y Z : V} (p : Quiver.Path X Y) (f : Y ⟶ Z)
Goal: (CategoryTheory.Paths.lift φ).map (p.cons f) =
  CategoryTheory.CategoryStruct.comp ((CategoryTheory.Paths.lift φ).map p) (φ.map f)
-- CategoryTheory.Paths.lift_toPath
@[simp]
theorem lift_toPath {C} [Category C] (φ : V ⥤q C) {X Y : V} (f : X ⟶ Y) :
    (lift φ).map f.toPath = φ.map f 
Arguments: {V : Type u₁} [Quiver V] {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] (φ : V ⥤q C) {X Y : V} (f : X ⟶ Y)
Goal: (CategoryTheory.Paths.lift φ).map f.toPath = φ.map f
-- CategoryTheory.Paths.lift_spec
theorem lift_spec {C} [Category C] (φ : V ⥤q C) : of ⋙q (lift φ).toPrefunctor = φ 
Arguments: {V : Type u₁} [Quiver V] {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] (φ : V ⥤q C)
Goal: CategoryTheory.Paths.of ⋙q (CategoryTheory.Paths.lift φ).toPrefunctor = φ
-- CategoryTheory.Paths.lift_unique
theorem lift_unique {C} [Category C] (φ : V ⥤q C) (Φ : Paths V ⥤ C)
    (hΦ : of ⋙q Φ.toPrefunctor = φ) : Φ = lift φ 
Arguments: {V : Type u₁} [Quiver V] {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] (φ : V ⥤q C) (Φ : CategoryTheory.Functor (CategoryTheory.Paths V) C) (hΦ : CategoryTheory.Paths.of ⋙q Φ.toPrefunctor = φ)
Goal: Φ = CategoryTheory.Paths.lift φ
-- CategoryTheory.Paths.ext_functor
@[ext]
theorem ext_functor {C} [Category C] {F G : Paths V ⥤ C} (h_obj : F.obj = G.obj)
    (h : ∀ (a b : V) (e : a ⟶ b), F.map e.toPath =
        eqToHom (congr_fun h_obj a) ≫ G.map e.toPath ≫ eqToHom (congr_fun h_obj.symm b)) :
    F = G 
Arguments: {V : Type u₁} [Quiver V] {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {F G : CategoryTheory.Functor (CategoryTheory.Paths V) C} (h_obj : F.obj = G.obj) (h :
  ∀ (a b : V) (e : a ⟶ b),
    F.map e.toPath =
      CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯)
        (CategoryTheory.CategoryStruct.comp (G.map e.toPath) (CategoryTheory.eqToHom ⋯)))
Goal: F = G
-- CategoryTheory.Prefunctor.mapPath_comp'
@[simp]
theorem Prefunctor.mapPath_comp' (F : V ⥤q W) {X Y Z : Paths V} (f : X ⟶ Y) (g : Y ⟶ Z) :
    F.mapPath (f ≫ g) = (F.mapPath f).comp (F.mapPath g) 
Arguments: (V : Type u₁) [Quiver V] (W : Type u₂) [Quiver W] (F : V ⥤q W) {X Y Z : CategoryTheory.Paths V} (f : X ⟶ Y) (g : Y ⟶ Z)
Goal: F.mapPath (CategoryTheory.CategoryStruct.comp f g) = (F.mapPath f).comp (F.mapPath g)
-- CategoryTheory.composePath_nil
@[simp] lemma composePath_nil {X : C} : composePath (Path.nil : Path X X) = 𝟙 X 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C}
Goal: CategoryTheory.composePath Quiver.Path.nil = CategoryTheory.CategoryStruct.id X
-- CategoryTheory.composePath_cons
@[simp] lemma composePath_cons {X Y Z : C} (p : Path X Y) (e : Y ⟶ Z) :
  composePath (p.cons e) = composePath p ≫ e 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (p : Quiver.Path X Y) (e : Y ⟶ Z)
Goal: CategoryTheory.composePath (p.cons e) = CategoryTheory.CategoryStruct.comp (CategoryTheory.composePath p) e
-- CategoryTheory.composePath_toPath
@[simp]
theorem composePath_toPath {X Y : C} (f : X ⟶ Y) : composePath f.toPath = f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} (f : X ⟶ Y)
Goal: CategoryTheory.composePath f.toPath = f
-- CategoryTheory.composePath_comp
@[simp]
theorem composePath_comp {X Y Z : C} (f : Path X Y) (g : Path Y Z) :
    composePath (f.comp g) = composePath f ≫ composePath g 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : Quiver.Path X Y) (g : Quiver.Path Y Z)
Goal: CategoryTheory.composePath (f.comp g) =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.composePath f) (CategoryTheory.composePath g)
-- CategoryTheory.composePath_id
@[simp]
-- Porting note (#11215): TODO get rid of `(id X : C)` somehow?
theorem composePath_id {X : Paths C} : composePath (𝟙 X) = 𝟙 (id X : C) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : CategoryTheory.Paths C}
Goal: CategoryTheory.composePath (CategoryTheory.CategoryStruct.id X) = CategoryTheory.CategoryStruct.id (id X)
-- CategoryTheory.composePath_comp'
@[simp]
theorem composePath_comp' {X Y Z : Paths C} (f : X ⟶ Y) (g : Y ⟶ Z) :
    composePath (f ≫ g) = composePath f ≫ composePath g 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : CategoryTheory.Paths C} (f : X ⟶ Y) (g : Y ⟶ Z)
Goal: CategoryTheory.composePath (CategoryTheory.CategoryStruct.comp f g) =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.composePath f) (CategoryTheory.composePath g)
-- CategoryTheory.pathComposition_map
@[simps]
def pathComposition : Paths C ⥤ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C]
Goal: ∀ {X Y : CategoryTheory.Paths C} (f : X ⟶ Y), (CategoryTheory.pathComposition C).map f = CategoryTheory.composePath f
-- CategoryTheory.pathComposition_obj
@[simps]
def pathComposition : Paths C ⥤ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (X : CategoryTheory.Paths C)
Goal: (CategoryTheory.pathComposition C).obj X = X
-- CategoryTheory.toQuotientPaths_obj_as
@[simps]
def toQuotientPaths : C ⥤ Quotient (pathsHomRel C) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (X : C)
Goal: ((CategoryTheory.toQuotientPaths C).obj X).as = X
-- CategoryTheory.toQuotientPaths_map
@[simps]
def toQuotientPaths : C ⥤ Quotient (pathsHomRel C) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C]
Goal: ∀ {X Y : C} (f : X ⟶ Y),
  (CategoryTheory.toQuotientPaths C).map f =
    Quot.mk (CategoryTheory.Quotient.CompClosure (CategoryTheory.pathsHomRel C)) f.toPath
-- CategoryTheory.quotientPathsTo_map
@[simps!]
def quotientPathsTo : Quotient (pathsHomRel C) ⥤ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (a b : CategoryTheory.Quotient (CategoryTheory.pathsHomRel C)) (hf : a ⟶ b)
Goal: (CategoryTheory.quotientPathsTo C).map hf = Quot.liftOn hf (fun f => CategoryTheory.composePath f) ⋯
-- CategoryTheory.quotientPathsTo_obj
@[simps!]
def quotientPathsTo : Quotient (pathsHomRel C) ⥤ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (a : CategoryTheory.Quotient (CategoryTheory.pathsHomRel C))
Goal: (CategoryTheory.quotientPathsTo C).obj a = a.as