∀ {C : Type u₁} [inst : CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [inst_1 : CategoryTheory.Category.{v₂, u₂} D]
  {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C}
  (homEquiv homEquiv_1 : (X : C) → (Y : D) → (F.obj X ⟶ Y) ≃ (X ⟶ G.obj Y)) (e_homEquiv : homEquiv = homEquiv_1)
  (unit unit_1 : CategoryTheory.Functor.id C ⟶ F.comp G) (e_unit : unit = unit_1)
  (counit counit_1 : G.comp F ⟶ CategoryTheory.Functor.id D) (e_counit : counit = counit_1)
  (homEquiv_unit :
    ∀ {X : C} {Y : D} {f : F.obj X ⟶ Y}, (homEquiv X Y) f = CategoryTheory.CategoryStruct.comp (unit.app X) (G.map f))
  (homEquiv_counit :
    ∀ {X : C} {Y : D} {g : X ⟶ G.obj Y},
      (homEquiv X Y).symm g = CategoryTheory.CategoryStruct.comp (F.map g) (counit.app Y)),
  { homEquiv := homEquiv, unit := unit, counit := counit, homEquiv_unit := homEquiv_unit,
      homEquiv_counit := homEquiv_counit } =
    { homEquiv := homEquiv_1, unit := unit_1, counit := counit_1, homEquiv_unit := ⋯, homEquiv_counit := ⋯ }