{-# OPTIONS --rewriting #-}
module Calf.Data.Product where
open import Calf.Prelude
open import Calf.CBPV
open import Relation.Binary.PropositionalEquality using (_≡_)
-- definitions exported by CBPV.agda are hidden
open import Data.Unit public renaming (⊤ to Unit) hiding (tt)
open import Data.Product hiding (_,_; proj₁; proj₂) public
unit : tp⁺
unit = meta⁺ Unit
infixr 2 _×⁺_
_×⁺_ : tp⁺ → tp⁺ → tp⁺
A ×⁺ B = meta⁺ (val A × val B)