{-# OPTIONS --without-K --safe #-}

-- Bundled version of a Cartesian Category
module Categories.Category.Cartesian.Bundle where

open import Level

open import Categories.Category.Core using (Category)
open import Categories.Category.Cartesian using (Cartesian)
open import Categories.Category.Cartesian.Monoidal using (module CartesianMonoidal)
open import Categories.Category.Monoidal using (MonoidalCategory)

record CartesianCategory o  e : Set (suc (o    e)) where
  field
    U         : Category o  e  -- U for underlying
    cartesian : Cartesian U

  open Category U public
  open Cartesian cartesian public

  monoidalCategory : MonoidalCategory o  e
  monoidalCategory = record
    { U        = U
    ; monoidal = CartesianMonoidal.monoidal cartesian
    }