Use long name for product object

This commit is contained in:
Frederik Hanghøj Iversen 2018-03-08 10:45:15 +01:00
parent 486238e114
commit 63b5f5c68d
3 changed files with 12 additions and 11 deletions

View File

@ -152,9 +152,9 @@ module _ { ' : Level} (unprovable : IsCategory (RawCat ')) where
module P = CatProduct 𝔻
rawProduct : RawProduct Cat 𝔻
RawProduct.obj rawProduct = P.obj
RawProduct.proj₁ rawProduct = P.proj₁
RawProduct.proj₂ rawProduct = P.proj₂
RawProduct.object rawProduct = P.obj
RawProduct.proj₁ rawProduct = P.proj₁
RawProduct.proj₂ rawProduct = P.proj₂
isProduct : IsProduct Cat _ _ rawProduct
IsProduct.isProduct isProduct = P.isProduct

View File

@ -66,9 +66,9 @@ module _ { : Level} where
proj₂ lem = refl
rawProduct : RawProduct 𝓢 0A 0B
RawProduct.obj rawProduct = 0A×0B
RawProduct.proj₁ rawProduct = Data.Product.proj₁
RawProduct.proj₂ rawProduct = Data.Product.proj₂
RawProduct.object rawProduct = 0A×0B
RawProduct.proj₁ rawProduct = Data.Product.proj₁
RawProduct.proj₂ rawProduct = Data.Product.proj₂
isProduct : IsProduct 𝓢 _ _ rawProduct
IsProduct.isProduct isProduct {X = X} f g

View File

@ -1,3 +1,4 @@
{-# OPTIONS --allow-unsolved-metas #-}
module Cat.Category.Product where
open import Agda.Primitive
@ -14,9 +15,9 @@ module _ {a b : Level} ( : Category a b) where
record RawProduct : Set (a b) where
no-eta-equality
field
obj : Object
proj₁ : [ obj , A ]
proj₂ : [ obj , B ]
object : Object
proj₁ : [ object , A ]
proj₂ : [ object , B ]
-- FIXME Not sure this is actually a proposition - so this name is
-- misleading.
@ -28,7 +29,7 @@ module _ {a b : Level} ( : Category a b) where
-- | Arrow product
_P[_×_] : {X} (π₁ : [ X , A ]) (π₂ : [ X , B ])
[ X , obj ]
[ X , object ]
_P[_×_] π₁ π₂ = P.proj₁ (isProduct π₁ π₂)
record Product : Set (a b) where
@ -43,7 +44,7 @@ module _ {a b : Level} ( : Category a b) where
product : (A B : Object) Product A B
_×_ : Object Object Object
A × B = Product.obj (product A B)
A × B = Product.object (product A B)
-- | Parallel product of arrows
--