@@ -67,7 +67,7 @@ open CategoryTheory Category MonoidalCategory CartesianMonoidalCategory Limits F
6767
6868variable {C : Type u} [Category.{v} C]
6969
70- attribute [local instance ] CartesianMonoidalCategory.ofFiniteProducts
70+ attribute [local instance ] CartesianMonoidalCategory.ofHasFiniteProducts
7171
7272/-- A morphism `f : I ⟶ J` is exponentiable if the pullback functor `Over J ⥤ Over I`
7373has a right adjoint. -/
@@ -179,7 +179,7 @@ instance isMultiplicative : (ExponentiableMorphism (C:= C)).IsMultiplicative whe
179179/-- A morphism with a pushforward is an exponentiable object in the slice category. -/
180180def exponentiableOverMk [HasFiniteWidePullbacks C] {X I : C} (f : X ⟶ I)
181181 [ExponentiableMorphism f] :
182- Exponentiable (Over.mk f) where
182+ Closed (Over.mk f) where
183183 rightAdj := pullback f ⋙ pushforward f
184184 adj := by
185185 apply ofNatIsoLeft _ _
@@ -192,7 +192,7 @@ morphism `X.hom`.
192192Here the pushforward functor along a morphism `f : I ⟶ J` is defined using the section functor
193193`Over (Over.mk f) ⥤ Over J`.
194194-/
195- def ofOverExponentiable [HasFiniteWidePullbacks C] {I : C} (X : Over I) [Exponentiable X] :
195+ def ofOverExponentiable [HasFiniteWidePullbacks C] {I : C} (X : Over I) [Closed X] :
196196 ExponentiableMorphism X.hom :=
197197 ⟨X.iteratedSliceEquiv.inverse ⋙ sections X, ⟨by
198198 refine ofNatIsoLeft (Adjunction.comp ?_ ?_) (starIteratedSliceForwardIsoPullback X.hom)
@@ -217,7 +217,7 @@ variable {C} [HasFiniteWidePullbacks C] [HasPushforwards C]
217217/-- In a category where pushforwards exists along all morphisms, every slice category `Over I` is
218218cartesian closed. -/
219219instance cartesianClosedOver (I : C) :
220- CartesianClosed (Over I) where
220+ MonoidalClosed (Over I) where
221221 closed X := @exponentiableOverMk _ _ _ _ _ _ X.hom (HasPushforwards.exponentiable X.hom)
222222
223223end HasPushforwards
@@ -226,13 +226,13 @@ namespace CartesianClosedOver
226226
227227open Over Reindex IsIso CartesianClosed HasPushforwards ExponentiableMorphism
228228
229- variable {C} [HasFiniteWidePullbacks C] {I J : C} [CartesianClosed (Over J)]
229+ variable {C} [HasFiniteWidePullbacks C] {I J : C} [MonoidalClosed (Over J)]
230230
231231instance (f : I ⟶ J) : ExponentiableMorphism f :=
232232 ExponentiableMorphism.ofOverExponentiable (Over.mk f)
233233
234234/-- A category with cartesian closed slices has pushforwards along all morphisms. -/
235- instance hasPushforwards [Π (I : C), CartesianClosed (Over I)] : HasPushforwards C where
235+ instance hasPushforwards [Π (I : C), MonoidalClosed (Over I)] : HasPushforwards C where
236236 exponentiable f := ExponentiableMorphism.ofOverExponentiable (Over.mk f)
237237
238238end CartesianClosedOver
@@ -242,7 +242,7 @@ is exponentiable and all the slices are cartesian closed. -/
242242class LocallyCartesianClosed [HasFiniteWidePullbacks C] extends
243243 HasPushforwards C where
244244 /-- every slice category `Over I` is cartesian closed. This is filled in by default. -/
245- cartesianClosedOver : Π (I : C), CartesianClosed (Over I) := HasPushforwards.cartesianClosedOver
245+ cartesianClosedOver : Π (I : C), MonoidalClosed (Over I) := HasPushforwards.cartesianClosedOver
246246
247247namespace LocallyCartesianClosed
248248
@@ -256,7 +256,7 @@ attribute [scoped instance] hasFiniteLimits_of_hasTerminal_and_pullbacks
256256instance mkOfHasPushforwards [HasPushforwards C] : LocallyCartesianClosed C where
257257
258258/-- A category with cartesian closed slices is locally cartesian closed. -/
259- instance mkOfCartesianClosedOver [Π (I : C), CartesianClosed (Over I)] :
259+ instance mkOfCartesianClosedOver [Π (I : C), MonoidalClosed (Over I)] :
260260 LocallyCartesianClosed C where
261261
262262variable [LocallyCartesianClosed C]
@@ -282,15 +282,16 @@ abbrev ev' {I : C} (X : Over I) (Y : Over X.left) : Reindex X (Pi X Y) ⟶ Y :=
282282 adj X.hom |>.counit.app Y
283283
284284/-- A locally cartesian closed category with a terminal object is cartesian closed. -/
285- def cartesianClosed [HasTerminal C] :
286- CartesianClosed C := cartesianClosedOfEquiv <| equivOverTerminal C
285+ def monoidalClosed [HasTerminal C] :
286+ MonoidalClosed C := cartesianClosedOfEquiv <| equivOverTerminal C
287287
288288/-- The slices of a locally cartesian closed category are locally cartesian closed. -/
289289def overLocallyCartesianClosed (I : C) : LocallyCartesianClosed (Over I) := by
290290 apply (config := { allowSynthFailures:= true }) mkOfCartesianClosedOver
291291 intro X
292292 exact cartesianClosedOfEquiv (C := Over (X.left)) X.iteratedSliceEquiv.symm
293293
294+ open CartesianClosed in
294295/-- The exponential `X^^A` in the slice category `Over I` is isomorphic to the pushforward of the
295296pullback of `X` along `A`. -/
296297def expIso {I : C} (A X : Over I) : Pi A (Reindex A X) ≅ A ⟹ X := Iso.refl _
0 commit comments