{-# OPTIONS --safe #-}
module Cubical.Categories.Presheaf.NonPresheaf.Forget where

open import Cubical.Foundations.Prelude
open import Cubical.Foundations.HLevels

open import Cubical.Categories.Category
open import Cubical.Categories.Instances.Sets
open import Cubical.Categories.Constructions.Product
open import Cubical.Categories.Functor
open import Cubical.Categories.NaturalTransformation

open import Cubical.Categories.Presheaf.Base

open Category
open Functor
open NatTrans

private
  variable
     ℓ' ℓS : Level

NonPresheaf : Category  ℓ'  (ℓS : Level)  Type (ℓ-max  (ℓ-suc ℓS))
NonPresheaf C ℓS = ob C  hSet ℓS

NonPresheafCategory : Category  ℓ'  (ℓS : Level)
           Category (ℓ-max  (ℓ-suc ℓS)) (ℓ-max  ℓS)
NonPresheafCategory C ℓS = ΠC (ob C)  _  SET ℓS)

ForgetPresheaf : (C : Category  ℓ')  Functor (PresheafCategory C ℓS) (NonPresheafCategory C ℓS)
F-ob (ForgetPresheaf C) pshX = F-ob pshX
F-hom (ForgetPresheaf C) {pshX} {pshY} pshF = N-ob pshF
F-id (ForgetPresheaf C) {pshX} = refl
F-seq (ForgetPresheaf C) {pshX} {pshY} {pshZ} pshF pshG = refl