Lean4
/-- Construct a pseudofunctor from an oplax functor whose `mapId` and `mapComp` are isomorphisms. -/
@[simps!]
noncomputable def mkOfOplax' (F : OplaxFunctor B C) [∀ a, IsIso (F.mapId a)]
[∀ {a b c} (f : a ⟶ b) (g : b ⟶ c), IsIso (F.mapComp f g)] : Pseudofunctor B C
where
toPrelaxFunctor := F.toPrelaxFunctor
mapId := fun a => asIso (F.mapId a)
mapComp := fun f g => asIso (F.mapComp f g)
map₂_whisker_left := fun f g h η => by
dsimp
rw [← assoc, IsIso.eq_comp_inv, F.mapComp_naturality_right]
map₂_whisker_right := fun η h => by
dsimp
rw [← assoc, IsIso.eq_comp_inv, F.mapComp_naturality_left]
map₂_associator := fun f g h => by
dsimp
simp only [← assoc]
rw [IsIso.eq_comp_inv, ← Bicategory.inv_whiskerLeft, IsIso.eq_comp_inv]
simp only [assoc, F.map₂_associator]