ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Functor.isLeftKanExtension_iff_isIso
lemma isLeftKanExtension_iff_isIso {F' : D ⥤ H} {F'' : D ⥤ H} (φ : F' ⟶ F'')
    {L : C ⥤ D} {F : C ⥤ H} (α : F ⟶ L ⋙ F') (α' : F ⟶ L ⋙ F'')
    (comm : α ≫ whiskerLeft L φ = α') [F'.IsLeftKanExtension α] :
    F''.IsLeftKanExtension α' ↔ IsIso φ 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_7, u_5} D] {F' F'' : CategoryTheory.Functor D H} (φ : F' ⟶ F'') {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : F ⟶ L.comp F') (α' : F ⟶ L.comp F'') (comm : CategoryTheory.CategoryStruct.comp α (CategoryTheory.whiskerLeft L φ) = α') [F'.IsLeftKanExtension α]
Goal: F''.IsLeftKanExtension α' ↔ CategoryTheory.IsIso φ
-- CategoryTheory.Functor.HasRightKanExtension.mk
lemma HasRightKanExtension.mk (F' : D ⥤ H) {L : C ⥤ D} {F : C ⥤ H} (α : L ⋙ F' ⟶ F)
    [F'.IsRightKanExtension α] : HasRightKanExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_7, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : L.comp F' ⟶ F) [F'.IsRightKanExtension α]
Goal: L.HasRightKanExtension F
-- CategoryTheory.Functor.HasLeftKanExtension.mk
lemma HasLeftKanExtension.mk (F' : D ⥤ H) {L : C ⥤ D} {F : C ⥤ H} (α : F ⟶ L ⋙ F')
    [F'.IsLeftKanExtension α] : HasLeftKanExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_7, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : F ⟶ L.comp F') [F'.IsLeftKanExtension α]
Goal: L.HasLeftKanExtension F
-- CategoryTheory.Functor.rightKanExtension_hom_ext
@[ext]
lemma rightKanExtension_hom_ext {G : D ⥤ H} (γ₁ γ₂ : G ⟶ rightKanExtension L F)
    (hγ : whiskerLeft L γ₁ ≫ rightKanExtensionCounit L F =
      whiskerLeft L γ₂ ≫ rightKanExtensionCounit L F) :
    γ₁ = γ₂ 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_7, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) [L.HasRightKanExtension F] {G : CategoryTheory.Functor D H} (γ₁ γ₂ : G ⟶ L.rightKanExtension F) (hγ :
  CategoryTheory.CategoryStruct.comp (CategoryTheory.whiskerLeft L γ₁) (L.rightKanExtensionCounit F) =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.whiskerLeft L γ₂) (L.rightKanExtensionCounit F))
Goal: γ₁ = γ₂
-- CategoryTheory.Functor.leftKanExtension_hom_ext
@[ext]
lemma leftKanExtension_hom_ext {G : D ⥤ H} (γ₁ γ₂ : leftKanExtension L F ⟶ G)
    (hγ : leftKanExtensionUnit L F ≫ whiskerLeft L γ₁ =
      leftKanExtensionUnit L F ≫ whiskerLeft L γ₂) : γ₁ = γ₂ 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_7, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) [L.HasLeftKanExtension F] {G : CategoryTheory.Functor D H} (γ₁ γ₂ : L.leftKanExtension F ⟶ G) (hγ :
  CategoryTheory.CategoryStruct.comp (L.leftKanExtensionUnit F) (CategoryTheory.whiskerLeft L γ₁) =
    CategoryTheory.CategoryStruct.comp (L.leftKanExtensionUnit F) (CategoryTheory.whiskerLeft L γ₂))
Goal: γ₁ = γ₂
-- CategoryTheory.Functor.LeftExtension.postcomp₁_obj_hom_app
@[simps!]
def LeftExtension.postcomp₁ (f : L' ⟶ L ⋙ G) (F : C ⥤ H) :
    LeftExtension L' F ⥤ LeftExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L' ⟶ L.comp G) (F : CategoryTheory.Functor C H) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D' H).obj L'))
Goal: ∀ (X_1 : C),
  ((CategoryTheory.Functor.LeftExtension.postcomp₁ G f F).obj X).hom.app X_1 =
    CategoryTheory.CategoryStruct.comp (X.hom.app X_1) (X.right.map (f.app X_1))
-- CategoryTheory.Functor.LeftExtension.postcomp₁_map_left
@[simps!]
def LeftExtension.postcomp₁ (f : L' ⟶ L ⋙ G) (F : C ⥤ H) :
    LeftExtension L' F ⥤ LeftExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L' ⟶ L.comp G) (F : CategoryTheory.Functor C H) {X Y : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D' H).obj L')} (φ : X ⟶ Y)
Goal: ((CategoryTheory.Functor.LeftExtension.postcomp₁ G f F).map φ).left = CategoryTheory.CategoryStruct.id X.left
-- CategoryTheory.Functor.LeftExtension.postcomp₁_obj_left
@[simps!]
def LeftExtension.postcomp₁ (f : L' ⟶ L ⋙ G) (F : C ⥤ H) :
    LeftExtension L' F ⥤ LeftExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L' ⟶ L.comp G) (F : CategoryTheory.Functor C H) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D' H).obj L'))
Goal: ((CategoryTheory.Functor.LeftExtension.postcomp₁ G f F).obj X).left = X.left
-- CategoryTheory.Functor.LeftExtension.postcomp₁_obj_right_map
@[simps!]
def LeftExtension.postcomp₁ (f : L' ⟶ L ⋙ G) (F : C ⥤ H) :
    LeftExtension L' F ⥤ LeftExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L' ⟶ L.comp G) (F : CategoryTheory.Functor C H) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D' H).obj L'))
Goal: ∀ {X_1 Y : D} (f_1 : X_1 ⟶ Y),
  ((CategoryTheory.Functor.LeftExtension.postcomp₁ G f F).obj X).right.map f_1 = X.right.map (G.map f_1)
-- CategoryTheory.Functor.LeftExtension.postcomp₁_map_right_app
@[simps!]
def LeftExtension.postcomp₁ (f : L' ⟶ L ⋙ G) (F : C ⥤ H) :
    LeftExtension L' F ⥤ LeftExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L' ⟶ L.comp G) (F : CategoryTheory.Functor C H) {X Y : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D' H).obj L')} (φ : X ⟶ Y)
Goal: ∀ (X_1 : D), ((CategoryTheory.Functor.LeftExtension.postcomp₁ G f F).map φ).right.app X_1 = φ.right.app (G.obj X_1)
-- CategoryTheory.Functor.LeftExtension.postcomp₁_obj_right_obj
@[simps!]
def LeftExtension.postcomp₁ (f : L' ⟶ L ⋙ G) (F : C ⥤ H) :
    LeftExtension L' F ⥤ LeftExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L' ⟶ L.comp G) (F : CategoryTheory.Functor C H) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D' H).obj L'))
Goal: ∀ (X_1 : D), ((CategoryTheory.Functor.LeftExtension.postcomp₁ G f F).obj X).right.obj X_1 = X.right.obj (G.obj X_1)
-- CategoryTheory.Functor.RightExtension.postcomp₁_obj_right
@[simps!]
def RightExtension.postcomp₁ (f : L ⋙ G ⟶ L') (F : C ⥤ H) :
    RightExtension L' F ⥤ RightExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L.comp G ⟶ L') (F : CategoryTheory.Functor C H) (X : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D' H).obj L') (CategoryTheory.Functor.fromPUnit F))
Goal: ((CategoryTheory.Functor.RightExtension.postcomp₁ G f F).obj X).right = X.right
-- CategoryTheory.Functor.RightExtension.postcomp₁_map_left_app
@[simps!]
def RightExtension.postcomp₁ (f : L ⋙ G ⟶ L') (F : C ⥤ H) :
    RightExtension L' F ⥤ RightExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L.comp G ⟶ L') (F : CategoryTheory.Functor C H) {X Y : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D' H).obj L') (CategoryTheory.Functor.fromPUnit F)} (φ : X ⟶ Y)
Goal: ∀ (X_1 : D), ((CategoryTheory.Functor.RightExtension.postcomp₁ G f F).map φ).left.app X_1 = φ.left.app (G.obj X_1)
-- CategoryTheory.Functor.RightExtension.postcomp₁_obj_left_obj
@[simps!]
def RightExtension.postcomp₁ (f : L ⋙ G ⟶ L') (F : C ⥤ H) :
    RightExtension L' F ⥤ RightExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L.comp G ⟶ L') (F : CategoryTheory.Functor C H) (X : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D' H).obj L') (CategoryTheory.Functor.fromPUnit F))
Goal: ∀ (X_1 : D), ((CategoryTheory.Functor.RightExtension.postcomp₁ G f F).obj X).left.obj X_1 = X.left.obj (G.obj X_1)
-- CategoryTheory.Functor.RightExtension.postcomp₁_obj_hom_app
@[simps!]
def RightExtension.postcomp₁ (f : L ⋙ G ⟶ L') (F : C ⥤ H) :
    RightExtension L' F ⥤ RightExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L.comp G ⟶ L') (F : CategoryTheory.Functor C H) (X : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D' H).obj L') (CategoryTheory.Functor.fromPUnit F))
Goal: ∀ (X_1 : C),
  ((CategoryTheory.Functor.RightExtension.postcomp₁ G f F).obj X).hom.app X_1 =
    CategoryTheory.CategoryStruct.comp (X.left.map (f.app X_1)) (X.hom.app X_1)
-- CategoryTheory.Functor.RightExtension.postcomp₁_map_right
@[simps!]
def RightExtension.postcomp₁ (f : L ⋙ G ⟶ L') (F : C ⥤ H) :
    RightExtension L' F ⥤ RightExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L.comp G ⟶ L') (F : CategoryTheory.Functor C H) {X Y : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D' H).obj L') (CategoryTheory.Functor.fromPUnit F)} (φ : X ⟶ Y)
Goal: ((CategoryTheory.Functor.RightExtension.postcomp₁ G f F).map φ).right = CategoryTheory.CategoryStruct.id X.right
-- CategoryTheory.Functor.RightExtension.postcomp₁_obj_left_map
@[simps!]
def RightExtension.postcomp₁ (f : L ⋙ G ⟶ L') (F : C ⥤ H) :
    RightExtension L' F ⥤ RightExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] [CategoryTheory.Category.{u_10, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') (f : L.comp G ⟶ L') (F : CategoryTheory.Functor C H) (X : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D' H).obj L') (CategoryTheory.Functor.fromPUnit F))
Goal: ∀ {X_1 Y : D} (f_1 : X_1 ⟶ Y),
  ((CategoryTheory.Functor.RightExtension.postcomp₁ G f F).obj X).left.map f_1 = X.left.map (G.map f_1)
-- CategoryTheory.Functor.hasLeftExtension_iff_postcomp₁
lemma hasLeftExtension_iff_postcomp₁ :
    HasLeftKanExtension L' F ↔ HasLeftKanExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] [CategoryTheory.Category.{u_9, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} {G : CategoryTheory.Functor D D'} [G.IsEquivalence] (e : L.comp G ≅ L') (F : CategoryTheory.Functor C H)
Goal: L'.HasLeftKanExtension F ↔ L.HasLeftKanExtension F
-- CategoryTheory.Functor.hasRightExtension_iff_postcomp₁
lemma hasRightExtension_iff_postcomp₁ :
    HasRightKanExtension L' F ↔ HasRightKanExtension L F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] [CategoryTheory.Category.{u_9, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} {G : CategoryTheory.Functor D D'} [G.IsEquivalence] (e : L.comp G ≅ L') (F : CategoryTheory.Functor C H)
Goal: L'.HasRightKanExtension F ↔ L.HasRightKanExtension F
-- CategoryTheory.Functor.isLeftKanExtension_iff_postcomp₁
lemma isLeftKanExtension_iff_postcomp₁ (α : F ⟶ L' ⋙ F') :
    F'.IsLeftKanExtension α ↔ (G ⋙ F').IsLeftKanExtension
      (α ≫ whiskerRight e.inv _ ≫ (Functor.associator _ _ _).hom) 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_8, u_1} C] [CategoryTheory.Category.{u_7, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] [CategoryTheory.Category.{u_9, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') [G.IsEquivalence] (e : L.comp G ≅ L') {F : CategoryTheory.Functor C H} {F' : CategoryTheory.Functor D' H} (α : F ⟶ L'.comp F')
Goal: F'.IsLeftKanExtension α ↔
  (G.comp F').IsLeftKanExtension
    (CategoryTheory.CategoryStruct.comp α
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.whiskerRight e.inv F') (L.associator G F').hom))
-- CategoryTheory.Functor.isRightKanExtension_iff_postcomp₁
lemma isRightKanExtension_iff_postcomp₁ (α : L' ⋙ F' ⟶ F) :
    F'.IsRightKanExtension α ↔ (G ⋙ F').IsRightKanExtension
      ((Functor.associator _ _ _).inv ≫ whiskerRight e.hom F' ≫ α) 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{u_8, u_1} C] [CategoryTheory.Category.{u_7, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] [CategoryTheory.Category.{u_9, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor C D'} (G : CategoryTheory.Functor D D') [G.IsEquivalence] (e : L.comp G ≅ L') {F : CategoryTheory.Functor C H} {F' : CategoryTheory.Functor D' H} (α : L'.comp F' ⟶ F)
Goal: F'.IsRightKanExtension α ↔
  (G.comp F').IsRightKanExtension
    (CategoryTheory.CategoryStruct.comp (L.associator G F').inv
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.whiskerRight e.hom F') α))
-- CategoryTheory.Functor.LeftExtension.precomp_map_left
@[simps!]
def LeftExtension.precomp : LeftExtension L F ⥤ LeftExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) {X Y : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D H).obj L)} (φ : X ⟶ Y)
Goal: ((CategoryTheory.Functor.LeftExtension.precomp L F G).map φ).left = CategoryTheory.CategoryStruct.id X.left
-- CategoryTheory.Functor.LeftExtension.precomp_obj_left
@[simps!]
def LeftExtension.precomp : LeftExtension L F ⥤ LeftExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D H).obj L))
Goal: ((CategoryTheory.Functor.LeftExtension.precomp L F G).obj X).left = X.left
-- CategoryTheory.Functor.LeftExtension.precomp_obj_right
@[simps!]
def LeftExtension.precomp : LeftExtension L F ⥤ LeftExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D H).obj L))
Goal: ((CategoryTheory.Functor.LeftExtension.precomp L F G).obj X).right = X.right
-- CategoryTheory.Functor.LeftExtension.precomp_obj_hom_app
@[simps!]
def LeftExtension.precomp : LeftExtension L F ⥤ LeftExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D H).obj L))
Goal: ∀ (X_1 : C'), ((CategoryTheory.Functor.LeftExtension.precomp L F G).obj X).hom.app X_1 = X.hom.app (G.obj X_1)
-- CategoryTheory.Functor.LeftExtension.precomp_map_right
@[simps!]
def LeftExtension.precomp : LeftExtension L F ⥤ LeftExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) {X Y : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.whiskeringLeft C D H).obj L)} (φ : X ⟶ Y)
Goal: ((CategoryTheory.Functor.LeftExtension.precomp L F G).map φ).right = φ.right
-- CategoryTheory.Functor.RightExtension.precomp_obj_left
@[simps!]
def RightExtension.precomp : RightExtension L F ⥤ RightExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) (X : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D H).obj L) (CategoryTheory.Functor.fromPUnit F))
Goal: ((CategoryTheory.Functor.RightExtension.precomp L F G).obj X).left = X.left
-- CategoryTheory.Functor.RightExtension.precomp_map_left
@[simps!]
def RightExtension.precomp : RightExtension L F ⥤ RightExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) {X Y : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D H).obj L) (CategoryTheory.Functor.fromPUnit F)} (φ : X ⟶ Y)
Goal: ((CategoryTheory.Functor.RightExtension.precomp L F G).map φ).left = φ.left
-- CategoryTheory.Functor.RightExtension.precomp_obj_hom_app
@[simps!]
def RightExtension.precomp : RightExtension L F ⥤ RightExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) (X : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D H).obj L) (CategoryTheory.Functor.fromPUnit F))
Goal: ∀ (X_1 : C'), ((CategoryTheory.Functor.RightExtension.precomp L F G).obj X).hom.app X_1 = X.hom.app (G.obj X_1)
-- CategoryTheory.Functor.RightExtension.precomp_map_right
@[simps!]
def RightExtension.precomp : RightExtension L F ⥤ RightExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) {X Y : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D H).obj L) (CategoryTheory.Functor.fromPUnit F)} (φ : X ⟶ Y)
Goal: ((CategoryTheory.Functor.RightExtension.precomp L F G).map φ).right = CategoryTheory.CategoryStruct.id X.right
-- CategoryTheory.Functor.RightExtension.precomp_obj_right
@[simps!]
def RightExtension.precomp : RightExtension L F ⥤ RightExtension (G ⋙ L) (G ⋙ F) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_2} C'] [CategoryTheory.Category.{u_9, u_3} H] [CategoryTheory.Category.{u_10, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor C' C) (X : CategoryTheory.Comma ((CategoryTheory.whiskeringLeft C D H).obj L) (CategoryTheory.Functor.fromPUnit F))
Goal: ((CategoryTheory.Functor.RightExtension.precomp L F G).obj X).right = X.right
-- CategoryTheory.Functor.isLeftKanExtension_iff_precomp
lemma isLeftKanExtension_iff_precomp (α : F ⟶ L ⋙ F') :
    F'.IsLeftKanExtension α ↔ F'.IsLeftKanExtension
      (whiskerLeft G α ≫ (Functor.associator _ _ _).inv) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_8, u_1} C] [CategoryTheory.Category.{u_10, u_2} C'] [CategoryTheory.Category.{u_7, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (F' : CategoryTheory.Functor D H) (G : CategoryTheory.Functor C' C) [G.IsEquivalence] (α : F ⟶ L.comp F')
Goal: F'.IsLeftKanExtension α ↔
  F'.IsLeftKanExtension (CategoryTheory.CategoryStruct.comp (CategoryTheory.whiskerLeft G α) (G.associator L F').inv)