Lean4
/-- Given candidate data for an exact pairing,
which is sent by a faithful monoidal functor to an exact pairing,
the equations holds automatically. -/
def exactPairingOfFaithful [F.Faithful] {X Y : C} (eval : Y ⊗ X ⟶ 𝟙_ C) (coeval : 𝟙_ C ⟶ X ⊗ Y)
[ExactPairing (F.obj X) (F.obj Y)] (map_eval : F.map eval = (δ F _ _) ≫ ε_ _ _ ≫ ε F)
(map_coeval : F.map coeval = (η F) ≫ η_ _ _ ≫ μ F _ _) : ExactPairing X Y
where
evaluation' := eval
coevaluation' := coeval
evaluation_coevaluation' :=
F.map_injective <| by
simp [map_eval, map_coeval, Functor.Monoidal.map_whiskerLeft, Functor.Monoidal.map_whiskerRight]
coevaluation_evaluation' :=
F.map_injective <| by
simp [map_eval, map_coeval, Functor.Monoidal.map_whiskerLeft, Functor.Monoidal.map_whiskerRight]