ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Bicategory.whiskerLeft_rightUnitor_inv
@[reassoc, simp]
theorem whiskerLeft_rightUnitor_inv (f : a ⟶ b) (g : b ⟶ c) :
    f ◁ (ρ_ g).inv = (ρ_ (f ≫ g)).inv ≫ (α_ f g (𝟙 c)).hom 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : b ⟶ c)
Goal: CategoryTheory.Bicategory.whiskerLeft f (CategoryTheory.Bicategory.rightUnitor g).inv =
  CategoryTheory.CategoryStruct.comp
    (CategoryTheory.Bicategory.rightUnitor (CategoryTheory.CategoryStruct.comp f g)).inv
    (CategoryTheory.Bicategory.associator f g (CategoryTheory.CategoryStruct.id c)).hom
-- CategoryTheory.Bicategory.leftUnitor_comp
@[reassoc]
theorem leftUnitor_comp (f : a ⟶ b) (g : b ⟶ c) :
    (λ_ (f ≫ g)).hom = (α_ (𝟙 a) f g).inv ≫ (λ_ f).hom ▷ g 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : b ⟶ c)
Goal: (CategoryTheory.Bicategory.leftUnitor (CategoryTheory.CategoryStruct.comp f g)).hom =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.associator (CategoryTheory.CategoryStruct.id a) f g).inv
    (CategoryTheory.Bicategory.whiskerRight (CategoryTheory.Bicategory.leftUnitor f).hom g)
-- CategoryTheory.Bicategory.leftUnitor_comp_inv
@[reassoc]
theorem leftUnitor_comp_inv (f : a ⟶ b) (g : b ⟶ c) :
    (λ_ (f ≫ g)).inv = (λ_ f).inv ▷ g ≫ (α_ (𝟙 a) f g).hom 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : b ⟶ c)
Goal: (CategoryTheory.Bicategory.leftUnitor (CategoryTheory.CategoryStruct.comp f g)).inv =
  CategoryTheory.CategoryStruct.comp
    (CategoryTheory.Bicategory.whiskerRight (CategoryTheory.Bicategory.leftUnitor f).inv g)
    (CategoryTheory.Bicategory.associator (CategoryTheory.CategoryStruct.id a) f g).hom
-- CategoryTheory.Bicategory.rightUnitor_comp
@[reassoc]
theorem rightUnitor_comp (f : a ⟶ b) (g : b ⟶ c) :
    (ρ_ (f ≫ g)).hom = (α_ f g (𝟙 c)).hom ≫ f ◁ (ρ_ g).hom 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : b ⟶ c)
Goal: (CategoryTheory.Bicategory.rightUnitor (CategoryTheory.CategoryStruct.comp f g)).hom =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.associator f g (CategoryTheory.CategoryStruct.id c)).hom
    (CategoryTheory.Bicategory.whiskerLeft f (CategoryTheory.Bicategory.rightUnitor g).hom)
-- CategoryTheory.Bicategory.rightUnitor_comp_inv
@[reassoc]
theorem rightUnitor_comp_inv (f : a ⟶ b) (g : b ⟶ c) :
    (ρ_ (f ≫ g)).inv = f ◁ (ρ_ g).inv ≫ (α_ f g (𝟙 c)).inv 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : b ⟶ c)
Goal: (CategoryTheory.Bicategory.rightUnitor (CategoryTheory.CategoryStruct.comp f g)).inv =
  CategoryTheory.CategoryStruct.comp
    (CategoryTheory.Bicategory.whiskerLeft f (CategoryTheory.Bicategory.rightUnitor g).inv)
    (CategoryTheory.Bicategory.associator f g (CategoryTheory.CategoryStruct.id c)).inv
-- CategoryTheory.Bicategory.unitors_equal
@[simp]
theorem unitors_equal : (λ_ (𝟙 a)).hom = (ρ_ (𝟙 a)).hom 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a : B}
Goal: (CategoryTheory.Bicategory.leftUnitor (CategoryTheory.CategoryStruct.id a)).hom =
  (CategoryTheory.Bicategory.rightUnitor (CategoryTheory.CategoryStruct.id a)).hom
-- CategoryTheory.Bicategory.unitors_inv_equal
@[simp]
theorem unitors_inv_equal : (λ_ (𝟙 a)).inv = (ρ_ (𝟙 a)).inv 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a : B}
Goal: (CategoryTheory.Bicategory.leftUnitor (CategoryTheory.CategoryStruct.id a)).inv =
  (CategoryTheory.Bicategory.rightUnitor (CategoryTheory.CategoryStruct.id a)).inv
-- CategoryTheory.Bicategory.precomp_obj
@[simps]
def precomp (c : B) (f : a ⟶ b) : (b ⟶ c) ⥤ (a ⟶ c) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b : B} (c : B) (f : a ⟶ b)
Goal: ∀ (x : b ⟶ c), (CategoryTheory.Bicategory.precomp c f).obj x = CategoryTheory.CategoryStruct.comp f x
-- CategoryTheory.Bicategory.precomp_map
@[simps]
def precomp (c : B) (f : a ⟶ b) : (b ⟶ c) ⥤ (a ⟶ c) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b : B} (c : B) (f : a ⟶ b)
Goal: ∀ {X Y : b ⟶ c} (x : X ⟶ Y), (CategoryTheory.Bicategory.precomp c f).map x = CategoryTheory.Bicategory.whiskerLeft f x
-- CategoryTheory.Bicategory.precomposing_map_app
@[simps]
def precomposing (a b c : B) : (a ⟶ b) ⥤ (b ⟶ c) ⥤ (a ⟶ c) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] (a b c : B)
Goal: ∀ {X Y : a ⟶ b} (η : X ⟶ Y) (x : b ⟶ c),
  ((CategoryTheory.Bicategory.precomposing a b c).map η).app x = CategoryTheory.Bicategory.whiskerRight η x
-- CategoryTheory.Bicategory.precomposing_obj
@[simps]
def precomposing (a b c : B) : (a ⟶ b) ⥤ (b ⟶ c) ⥤ (a ⟶ c) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] (a b c : B) (f : a ⟶ b)
Goal: (CategoryTheory.Bicategory.precomposing a b c).obj f = CategoryTheory.Bicategory.precomp c f
-- CategoryTheory.Bicategory.postcomp_obj
@[simps]
def postcomp (a : B) (f : b ⟶ c) : (a ⟶ b) ⥤ (a ⟶ c) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {b c : B} (a : B) (f : b ⟶ c)
Goal: ∀ (x : a ⟶ b), (CategoryTheory.Bicategory.postcomp a f).obj x = CategoryTheory.CategoryStruct.comp x f
-- CategoryTheory.Bicategory.postcomp_map
@[simps]
def postcomp (a : B) (f : b ⟶ c) : (a ⟶ b) ⥤ (a ⟶ c) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {b c : B} (a : B) (f : b ⟶ c)
Goal: ∀ {X Y : a ⟶ b} (x : X ⟶ Y), (CategoryTheory.Bicategory.postcomp a f).map x = CategoryTheory.Bicategory.whiskerRight x f
-- CategoryTheory.Bicategory.postcomposing_map_app
@[simps]
def postcomposing (a b c : B) : (b ⟶ c) ⥤ (a ⟶ b) ⥤ (a ⟶ c) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] (a b c : B)
Goal: ∀ {X Y : b ⟶ c} (η : X ⟶ Y) (x : a ⟶ b),
  ((CategoryTheory.Bicategory.postcomposing a b c).map η).app x = CategoryTheory.Bicategory.whiskerLeft x η
-- CategoryTheory.Bicategory.postcomposing_obj
@[simps]
def postcomposing (a b c : B) : (b ⟶ c) ⥤ (a ⟶ b) ⥤ (a ⟶ c) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] (a b c : B) (f : b ⟶ c)
Goal: (CategoryTheory.Bicategory.postcomposing a b c).obj f = CategoryTheory.Bicategory.postcomp a f
-- CategoryTheory.Bicategory.associatorNatIsoLeft_inv_app
@[simps!]
def associatorNatIsoLeft (a : B) (g : b ⟶ c) (h : c ⟶ d) :
    (postcomposing a ..).obj g ⋙ (postcomposing ..).obj h ≅ (postcomposing ..).obj (g ≫ h) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {b c d : B} (a : B) (g : b ⟶ c) (h : c ⟶ d) (X : a ⟶ b)
Goal: (CategoryTheory.Bicategory.associatorNatIsoLeft a g h).inv.app X = (CategoryTheory.Bicategory.associator X g h).inv
-- CategoryTheory.Bicategory.associatorNatIsoLeft_hom_app
@[simps!]
def associatorNatIsoLeft (a : B) (g : b ⟶ c) (h : c ⟶ d) :
    (postcomposing a ..).obj g ⋙ (postcomposing ..).obj h ≅ (postcomposing ..).obj (g ≫ h) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {b c d : B} (a : B) (g : b ⟶ c) (h : c ⟶ d) (X : a ⟶ b)
Goal: (CategoryTheory.Bicategory.associatorNatIsoLeft a g h).hom.app X = (CategoryTheory.Bicategory.associator X g h).hom
-- CategoryTheory.Bicategory.associatorNatIsoMiddle_inv_app
@[simps!]
def associatorNatIsoMiddle (f : a ⟶ b) (h : c ⟶ d) :
    (precomposing ..).obj f ⋙ (postcomposing ..).obj h ≅
      (postcomposing ..).obj h ⋙ (precomposing ..).obj f 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c d : B} (f : a ⟶ b) (h : c ⟶ d) (X : b ⟶ c)
Goal: (CategoryTheory.Bicategory.associatorNatIsoMiddle f h).inv.app X = (CategoryTheory.Bicategory.associator f X h).inv
-- CategoryTheory.Bicategory.associatorNatIsoMiddle_hom_app
@[simps!]
def associatorNatIsoMiddle (f : a ⟶ b) (h : c ⟶ d) :
    (precomposing ..).obj f ⋙ (postcomposing ..).obj h ≅
      (postcomposing ..).obj h ⋙ (precomposing ..).obj f 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c d : B} (f : a ⟶ b) (h : c ⟶ d) (X : b ⟶ c)
Goal: (CategoryTheory.Bicategory.associatorNatIsoMiddle f h).hom.app X = (CategoryTheory.Bicategory.associator f X h).hom
-- CategoryTheory.Bicategory.associatorNatIsoRight_hom_app
@[simps!]
def associatorNatIsoRight (f : a ⟶ b) (g : b ⟶ c) (d : B) :
    (precomposing _ _ d).obj (f ≫ g) ≅ (precomposing ..).obj g ⋙ (precomposing ..).obj f 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : b ⟶ c) (d : B) (X : c ⟶ d)
Goal: (CategoryTheory.Bicategory.associatorNatIsoRight f g d).hom.app X = (CategoryTheory.Bicategory.associator f g X).hom
-- CategoryTheory.Bicategory.associatorNatIsoRight_inv_app
@[simps!]
def associatorNatIsoRight (f : a ⟶ b) (g : b ⟶ c) (d : B) :
    (precomposing _ _ d).obj (f ≫ g) ≅ (precomposing ..).obj g ⋙ (precomposing ..).obj f 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : b ⟶ c) (d : B) (X : c ⟶ d)
Goal: (CategoryTheory.Bicategory.associatorNatIsoRight f g d).inv.app X = (CategoryTheory.Bicategory.associator f g X).inv
-- CategoryTheory.Bicategory.leftUnitorNatIso_hom_app
@[simps!]
def leftUnitorNatIso (a b : B) : (precomposing _ _ b).obj (𝟙 a) ≅ 𝟭 (a ⟶ b) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] (a b : B) (X : a ⟶ b)
Goal: (CategoryTheory.Bicategory.leftUnitorNatIso a b).hom.app X = (CategoryTheory.Bicategory.leftUnitor X).hom
-- CategoryTheory.Bicategory.leftUnitorNatIso_inv_app
@[simps!]
def leftUnitorNatIso (a b : B) : (precomposing _ _ b).obj (𝟙 a) ≅ 𝟭 (a ⟶ b) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] (a b : B) (X : a ⟶ b)
Goal: (CategoryTheory.Bicategory.leftUnitorNatIso a b).inv.app X = (CategoryTheory.Bicategory.leftUnitor X).inv
-- CategoryTheory.Bicategory.rightUnitorNatIso_hom_app
@[simps!]
def rightUnitorNatIso (a b : B) : (postcomposing a _ _).obj (𝟙 b) ≅ 𝟭 (a ⟶ b) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] (a b : B) (X : a ⟶ b)
Goal: (CategoryTheory.Bicategory.rightUnitorNatIso a b).hom.app X = (CategoryTheory.Bicategory.rightUnitor X).hom
-- CategoryTheory.Bicategory.rightUnitorNatIso_inv_app
@[simps!]
def rightUnitorNatIso (a b : B) : (postcomposing a _ _).obj (𝟙 b) ≅ 𝟭 (a ⟶ b) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] (a b : B) (X : a ⟶ b)
Goal: (CategoryTheory.Bicategory.rightUnitorNatIso a b).inv.app X = (CategoryTheory.Bicategory.rightUnitor X).inv
-- CategoryTheory.reflectsIsomorphisms_forget₂
theorem reflectsIsomorphisms_forget₂ [HasForget₂ C D] [(forget C).ReflectsIsomorphisms] :
    (forget₂ C D).ReflectsIsomorphisms 
Arguments: (C : Type (u + 1)) [CategoryTheory.Category.{u_1, u + 1} C] [CategoryTheory.ConcreteCategory C] (D : Type (u + 1)) [CategoryTheory.Category.{u_2, u + 1} D] [CategoryTheory.ConcreteCategory D] [CategoryTheory.HasForget₂ C D] [(CategoryTheory.forget C).ReflectsIsomorphisms]
Goal: (CategoryTheory.forget₂ C D).ReflectsIsomorphisms
-- CategoryTheory.PrelaxFunctorStruct.mkOfHomPrefunctors_toPrefunctor_map
@[simps]
def mkOfHomPrefunctors (F : B → C) (F' : (a : B) → (b : B) → Prefunctor (a ⟶ b) (F a ⟶ F b)) :
    PrelaxFunctorStruct B C 
Arguments: {B : Type u₁} [Quiver B] [(a b : B) → Quiver (a ⟶ b)] {C : Type u₂} [Quiver C] [(a b : C) → Quiver (a ⟶ b)] (F : B → C) (F' : (a b : B) → (a ⟶ b) ⥤q (F a ⟶ F b)) {a b : B}
Goal: ∀ (a_1 : a ⟶ b), (CategoryTheory.PrelaxFunctorStruct.mkOfHomPrefunctors F F').map a_1 = (F' a b).obj a_1
-- CategoryTheory.PrelaxFunctorStruct.mkOfHomPrefunctors_map₂
@[simps]
def mkOfHomPrefunctors (F : B → C) (F' : (a : B) → (b : B) → Prefunctor (a ⟶ b) (F a ⟶ F b)) :
    PrelaxFunctorStruct B C 
Arguments: {B : Type u₁} [Quiver B] [(a b : B) → Quiver (a ⟶ b)] {C : Type u₂} [Quiver C] [(a b : C) → Quiver (a ⟶ b)] (F : B → C) (F' : (a b : B) → (a ⟶ b) ⥤q (F a ⟶ F b)) {a b : B}
Goal: ∀ {f g : a ⟶ b} (a_1 : f ⟶ g), (CategoryTheory.PrelaxFunctorStruct.mkOfHomPrefunctors F F').map₂ a_1 = (F' a b).map a_1
-- CategoryTheory.PrelaxFunctorStruct.mkOfHomPrefunctors_toPrefunctor_obj
@[simps]
def mkOfHomPrefunctors (F : B → C) (F' : (a : B) → (b : B) → Prefunctor (a ⟶ b) (F a ⟶ F b)) :
    PrelaxFunctorStruct B C 
Arguments: {B : Type u₁} [Quiver B] [(a b : B) → Quiver (a ⟶ b)] {C : Type u₂} [Quiver C] [(a b : C) → Quiver (a ⟶ b)] (F : B → C) (F' : (a b : B) → (a ⟶ b) ⥤q (F a ⟶ F b))
Goal: ∀ (a : B), (CategoryTheory.PrelaxFunctorStruct.mkOfHomPrefunctors F F').obj a = F a
-- CategoryTheory.PrelaxFunctorStruct.id_toPrefunctor
@[simps]
def id (B : Type u₁) [Quiver.{v₁ + 1} B] [∀ a b : B, Quiver.{w₁ + 1} (a ⟶ b)] :
    PrelaxFunctorStruct B B 
Arguments: (B : Type u₁) [Quiver B] [(a b : B) → Quiver (a ⟶ b)]
Goal: (CategoryTheory.PrelaxFunctorStruct.id B).toPrefunctor = 𝟭q B
-- CategoryTheory.PrelaxFunctorStruct.id_map₂
@[simps]
def id (B : Type u₁) [Quiver.{v₁ + 1} B] [∀ a b : B, Quiver.{w₁ + 1} (a ⟶ b)] :
    PrelaxFunctorStruct B B 
Arguments: (B : Type u₁) [Quiver B] [(a b : B) → Quiver (a ⟶ b)]
Goal: ∀ {a b : B} {f g : a ⟶ b} (η : f ⟶ g), (CategoryTheory.PrelaxFunctorStruct.id B).map₂ η = η
-- CategoryTheory.PrelaxFunctorStruct.comp_map₂
@[simps]
def comp (F : PrelaxFunctorStruct B C) (G : PrelaxFunctorStruct C D) : PrelaxFunctorStruct B D 
Arguments: {B : Type u₁} [Quiver B] [(a b : B) → Quiver (a ⟶ b)] {C : Type u₂} [Quiver C] [(a b : C) → Quiver (a ⟶ b)] {D : Type u₃} [Quiver D] [(a b : D) → Quiver (a ⟶ b)] (F : CategoryTheory.PrelaxFunctorStruct B C) (G : CategoryTheory.PrelaxFunctorStruct C D)
Goal: ∀ {a b : B} {f g : a ⟶ b} (η : f ⟶ g), (F.comp G).map₂ η = G.map₂ (F.map₂ η)
-- CategoryTheory.PrelaxFunctorStruct.comp_toPrefunctor
@[simps]
def comp (F : PrelaxFunctorStruct B C) (G : PrelaxFunctorStruct C D) : PrelaxFunctorStruct B D 
Arguments: {B : Type u₁} [Quiver B] [(a b : B) → Quiver (a ⟶ b)] {C : Type u₂} [Quiver C] [(a b : C) → Quiver (a ⟶ b)] {D : Type u₃} [Quiver D] [(a b : D) → Quiver (a ⟶ b)] (F : CategoryTheory.PrelaxFunctorStruct B C) (G : CategoryTheory.PrelaxFunctorStruct C D)
Goal: (F.comp G).toPrefunctor = F.toPrefunctor ⋙q G.toPrefunctor
-- CategoryTheory.PrelaxFunctor.map₂_id
structure PrelaxFunctor (B : Type u₁) [Bicategory.{w₁, v₁} B] (C : Type u₂) [Bicategory.{w₂, v₂} C]
    extends PrelaxFunctorStruct B C where
    map₂_id : ∀ {a b : B} (f : a ⟶ b), map₂ (𝟙 f) = 𝟙 (map f) := by aesop -- TODO: why not aesop_cat?
    map₂_comp : ∀ {a b : B} {f g h : a ⟶ b} (η : f ⟶ g) (θ : g ⟶ h),
      map₂ (η ≫ θ) = map₂ η ≫ map₂ θ := by aesop_cat
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (self : CategoryTheory.PrelaxFunctor B C) {a b : B} (f : a ⟶ b)
Goal: self.map₂ (CategoryTheory.CategoryStruct.id f) = CategoryTheory.CategoryStruct.id (self.map f)
-- CategoryTheory.PrelaxFunctor.map₂_comp
structure PrelaxFunctor (B : Type u₁) [Bicategory.{w₁, v₁} B] (C : Type u₂) [Bicategory.{w₂, v₂} C]
    extends PrelaxFunctorStruct B C where
    map₂_id : ∀ {a b : B} (f : a ⟶ b), map₂ (𝟙 f) = 𝟙 (map f) := by aesop -- TODO: why not aesop_cat?
    map₂_comp : ∀ {a b : B} {f g h : a ⟶ b} (η : f ⟶ g) (θ : g ⟶ h),
      map₂ (η ≫ θ) = map₂ η ≫ map₂ θ := by aesop_cat
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (self : CategoryTheory.PrelaxFunctor B C) {a b : B} {f g h : a ⟶ b} (η : f ⟶ g) (θ : g ⟶ h)
Goal: self.map₂ (CategoryTheory.CategoryStruct.comp η θ) = CategoryTheory.CategoryStruct.comp (self.map₂ η) (self.map₂ θ)
-- CategoryTheory.PrelaxFunctor.mkOfHomFunctors_toPrelaxFunctorStruct
@[simps]
def mkOfHomFunctors (F : B → C) (F' : (a : B) → (b : B) → (a ⟶ b) ⥤ (F a ⟶ F b)) :
    PrelaxFunctor B C 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : B → C) (F' : (a b : B) → CategoryTheory.Functor (a ⟶ b) (F a ⟶ F b))
Goal: (CategoryTheory.PrelaxFunctor.mkOfHomFunctors F F').toPrelaxFunctorStruct =
  CategoryTheory.PrelaxFunctorStruct.mkOfHomPrefunctors F fun a b => (F' a b).toPrefunctor
-- CategoryTheory.PrelaxFunctor.id_toPrelaxFunctorStruct
@[simps]
def id (B : Type u₁) [Bicategory.{w₁, v₁} B] : PrelaxFunctor B B 
Arguments: (B : Type u₁) [CategoryTheory.Bicategory B]
Goal: (CategoryTheory.PrelaxFunctor.id B).toPrelaxFunctorStruct = CategoryTheory.PrelaxFunctorStruct.id B
-- CategoryTheory.PrelaxFunctor.comp_toPrelaxFunctorStruct
@[simps]
def comp (G : PrelaxFunctor C D) : PrelaxFunctor B D 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {D : Type u₃} [CategoryTheory.Bicategory D] (F : CategoryTheory.PrelaxFunctor B C) (G : CategoryTheory.PrelaxFunctor C D)
Goal: (F.comp G).toPrelaxFunctorStruct = F.comp G.toPrelaxFunctorStruct
-- CategoryTheory.PrelaxFunctor.mapFunctor_map
@[simps]
def mapFunctor (a b : B) : (a ⟶ b) ⥤ (F.obj a ⟶ F.obj b) 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.PrelaxFunctor B C) (a b : B)
Goal: ∀ {X Y : a ⟶ b} (η : X ⟶ Y), (F.mapFunctor a b).map η = F.map₂ η
-- CategoryTheory.PrelaxFunctor.mapFunctor_obj
@[simps]
def mapFunctor (a b : B) : (a ⟶ b) ⥤ (F.obj a ⟶ F.obj b) 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.PrelaxFunctor B C) (a b : B) (f : a ⟶ b)
Goal: (F.mapFunctor a b).obj f = F.map f
-- CategoryTheory.PrelaxFunctor.mkOfHomFunctors_mapFunctor
@[simp]
lemma mkOfHomFunctors_mapFunctor (F : B → C) (F' : (a : B) → (b : B) → (a ⟶ b) ⥤ (F a ⟶ F b))
    (a b : B) : (mkOfHomFunctors F F').mapFunctor a b = F' a b 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : B → C) (F' : (a b : B) → CategoryTheory.Functor (a ⟶ b) (F a ⟶ F b)) (a b : B)
Goal: (CategoryTheory.PrelaxFunctor.mkOfHomFunctors F F').mapFunctor a b = F' a b
-- CategoryTheory.PrelaxFunctor.map₂Iso_inv
@[simps!]
abbrev map₂Iso {f g : a ⟶ b} (η : f ≅ g) : F.map f ≅ F.map g 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.PrelaxFunctor B C) {a b : B} {f g : a ⟶ b} (η : f ≅ g)
Goal: (F.map₂Iso η).inv = F.map₂ η.inv
-- CategoryTheory.PrelaxFunctor.map₂Iso_hom
@[simps!]
abbrev map₂Iso {f g : a ⟶ b} (η : f ≅ g) : F.map f ≅ F.map g 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.PrelaxFunctor B C) {a b : B} {f g : a ⟶ b} (η : f ≅ g)
Goal: (F.map₂Iso η).hom = F.map₂ η.hom
-- CategoryTheory.PrelaxFunctor.map₂_inv
@[simp]
lemma map₂_inv {f g : a ⟶ b} (η : f ⟶ g) [IsIso η] : F.map₂ (inv η) = inv (F.map₂ η) 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.PrelaxFunctor B C) {a b : B} {f g : a ⟶ b} (η : f ⟶ g) [CategoryTheory.IsIso η]
Goal: F.map₂ (CategoryTheory.inv η) = CategoryTheory.inv (F.map₂ η)
-- CategoryTheory.PrelaxFunctor.map₂_hom_inv
@[reassoc, simp]
lemma map₂_hom_inv {f g : a ⟶ b} (η : f ≅ g) :
    F.map₂ η.hom ≫ F.map₂ η.inv = 𝟙 (F.map f) 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.PrelaxFunctor B C) {a b : B} {f g : a ⟶ b} (η : f ≅ g)
Goal: CategoryTheory.CategoryStruct.comp (F.map₂ η.hom) (F.map₂ η.inv) = CategoryTheory.CategoryStruct.id (F.map f)
-- CategoryTheory.PrelaxFunctor.map₂_hom_inv_isIso
@[reassoc]
lemma map₂_hom_inv_isIso {f g : a ⟶ b} (η : f ⟶ g) [IsIso η] :
    F.map₂ η ≫ F.map₂ (inv η) = 𝟙 (F.map f) 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.PrelaxFunctor B C) {a b : B} {f g : a ⟶ b} (η : f ⟶ g) [CategoryTheory.IsIso η]
Goal: CategoryTheory.CategoryStruct.comp (F.map₂ η) (F.map₂ (CategoryTheory.inv η)) =
  CategoryTheory.CategoryStruct.id (F.map f)
-- CategoryTheory.PrelaxFunctor.map₂_inv_hom
@[reassoc, simp]
lemma map₂_inv_hom {f g : a ⟶ b} (η : f ≅ g) :
    F.map₂ η.inv ≫ F.map₂ η.hom = 𝟙 (F.map g) 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.PrelaxFunctor B C) {a b : B} {f g : a ⟶ b} (η : f ≅ g)
Goal: CategoryTheory.CategoryStruct.comp (F.map₂ η.inv) (F.map₂ η.hom) = CategoryTheory.CategoryStruct.id (F.map g)
-- CategoryTheory.PrelaxFunctor.map₂_inv_hom_isIso
@[reassoc]
lemma map₂_inv_hom_isIso {f g : a ⟶ b} (η : f ⟶ g) [IsIso η] :
    F.map₂ (inv η) ≫ F.map₂ η = 𝟙 (F.map g) 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.PrelaxFunctor B C) {a b : B} {f g : a ⟶ b} (η : f ⟶ g) [CategoryTheory.IsIso η]
Goal: CategoryTheory.CategoryStruct.comp (F.map₂ (CategoryTheory.inv η)) (F.map₂ η) =
  CategoryTheory.CategoryStruct.id (F.map g)
-- CategoryTheory.ConcreteCategory.mono_of_injective
theorem mono_of_injective {X Y : C} (f : X ⟶ Y) (i : Function.Injective f) :
    Mono f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] {X Y : C} (f : X ⟶ Y) (i : Function.Injective ⇑f)
Goal: CategoryTheory.Mono f
-- CategoryTheory.ConcreteCategory.surjective_le_epimorphisms
lemma surjective_le_epimorphisms :
    MorphismProperty.surjective C ≤ epimorphisms C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C]
Goal: CategoryTheory.MorphismProperty.surjective C ≤ CategoryTheory.MorphismProperty.epimorphisms C
-- CategoryTheory.ConcreteCategory.injective_le_monomorphisms
lemma injective_le_monomorphisms :
    MorphismProperty.injective C ≤ monomorphisms C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C]
Goal: CategoryTheory.MorphismProperty.injective C ≤ CategoryTheory.MorphismProperty.monomorphisms C
-- CategoryTheory.ConcreteCategory.surjective_eq_epimorphisms_iff
lemma surjective_eq_epimorphisms_iff :
    MorphismProperty.surjective C = epimorphisms C ↔ (forget C).PreservesEpimorphisms 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C]
Goal: CategoryTheory.MorphismProperty.surjective C = CategoryTheory.MorphismProperty.epimorphisms C ↔
  (CategoryTheory.forget C).PreservesEpimorphisms
-- CategoryTheory.ConcreteCategory.injective_eq_monomorphisms_iff
lemma injective_eq_monomorphisms_iff :
    MorphismProperty.injective C = monomorphisms C ↔ (forget C).PreservesMonomorphisms 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C]
Goal: CategoryTheory.MorphismProperty.injective C = CategoryTheory.MorphismProperty.monomorphisms C ↔
  (CategoryTheory.forget C).PreservesMonomorphisms
-- CategoryTheory.ConcreteCategory.injective_eq_monomorphisms
lemma injective_eq_monomorphisms [(forget C).PreservesMonomorphisms] :
    MorphismProperty.injective C = monomorphisms C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] [(CategoryTheory.forget C).PreservesMonomorphisms]
Goal: CategoryTheory.MorphismProperty.injective C = CategoryTheory.MorphismProperty.monomorphisms C
-- CategoryTheory.ConcreteCategory.surjective_eq_epimorphisms
lemma surjective_eq_epimorphisms [(forget C).PreservesEpimorphisms] :
    MorphismProperty.surjective C = epimorphisms C 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] [(CategoryTheory.forget C).PreservesEpimorphisms]
Goal: CategoryTheory.MorphismProperty.surjective C = CategoryTheory.MorphismProperty.epimorphisms C
-- CategoryTheory.ConcreteCategory.injective_of_mono_of_preservesPullback
theorem injective_of_mono_of_preservesPullback {X Y : C} (f : X ⟶ Y) [Mono f]
    [PreservesLimitsOfShape WalkingCospan (forget C)] : Function.Injective f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Mono f] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan (CategoryTheory.forget C)]
Goal: Function.Injective ⇑f
-- CategoryTheory.ConcreteCategory.mono_iff_injective_of_preservesPullback
theorem mono_iff_injective_of_preservesPullback {X Y : C} (f : X ⟶ Y)
    [PreservesLimitsOfShape WalkingCospan (forget C)] : Mono f ↔ Function.Injective f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan (CategoryTheory.forget C)]
Goal: CategoryTheory.Mono f ↔ Function.Injective ⇑f