[QED] The ad-hoc product category has hom-sets that are h-sets

This commit is contained in:
Frederik Hanghøj Iversen 2018-04-03 15:23:11 +02:00
parent 1e5fb7d50a
commit 172287f0a7
3 changed files with 27 additions and 27 deletions

View file

@ -199,6 +199,12 @@ record IsCategory {a b : Level} ( : RawCategory a b) : Set (lsuc
univalent≃ : Univalent≃ univalent≃ : Univalent≃
univalent≃ = _ , univalent univalent≃ = _ , univalent
module _ {A B : Object} where
open import Cat.Equivalence using (module Equiv)
iso-to-id : (A B) (A B)
iso-to-id = fst (Equiv≃.toIso _ _ univalent)
-- | All projections are propositions. -- | All projections are propositions.
module Propositionality where module Propositionality where
propIsAssociative : isProp IsAssociative propIsAssociative : isProp IsAssociative

View file

@ -160,36 +160,30 @@ module Try0 {a b : Level} { : Category a b}
l = .rightIdentity l = .rightIdentity
arrowsAreSets : ArrowsAreSets arrowsAreSets : ArrowsAreSets
arrowsAreSets {X , x0 , x1} {Y , y0 , y1} (f , f0 , f1) (g , g0 , g1) p q = pq arrowsAreSets {X , x0 , x1} {Y , y0 , y1}
where = sigPresNType {n = ⟨0⟩} .arrowsAreSets λ a propSet (propEqs _)
-- prop : ∀ {X Y} (x y : .Arrow X Y) → isProp (x ≡ y)
-- prop = .arrowsAreSets
a0 a1 : f g
a0 i = proj₁ (p i)
a1 i = proj₁ (q i)
a : a0 a1
a = .arrowsAreSets _ _ a0 a1
module _ (i : I) where
r : f g
r = a i
module _ (j : I) where
prop0 : isProp ( [ y0 r j ] x0)
prop0 = .arrowsAreSets _ _
prop1 : isProp ( [ y1 r j ] x1)
prop1 = .arrowsAreSets _ _
prop : isProp ( [ y0 r j ] x0 × [ y1 r j ] x1)
prop = propSig prop0 (λ _ prop1)
helper : (b0 b1 : ( [ y0 r j ]) x0 × ( [ y1 r j ]) x1) b0 b1
helper _ _ = lemPropF (λ _ prop) p
b : ( [ y0 r j ]) x0 × ( [ y1 r j ]) x1
b = {!!}
pq : p q
pq i j = a i j , b i j
open Univalence isIdentity open Univalence isIdentity
univalent : Univalent univalent : Univalent
univalent {A , a0 , a1} {B , b0 , b1} = {!!} univalent {X , x} {Y , y} = {!res!}
where
open import Cat.Equivalence as E hiding (_≅_)
open import Cubical.Univalence
module _ (c : (X , x) (Y , y)) where
-- module _ (c : _ ≅ _) where
c0 : X .≅ Y
c0 = {!!}
f0 : X Y
f0 = .iso-to-id c0
f1 : PathP (λ i .Arrow (f0 i) A × .Arrow (f0 i) B) x y
f1 = {!!}
f : (X , x) (Y , y)
f i = f0 i , f1 i
iso : E.Isomorphism (id-to-iso (X , x) (Y , y))
iso = f , record { verso-recto = {!!} ; recto-verso = {!!} }
res : isEquiv ((X , x) (Y , y)) ((X , x) (Y , y)) (id-to-iso (X , x) (Y , y))
res = Equiv≃.fromIso _ _ iso
isCat : IsCategory raw isCat : IsCategory raw
isCat = record isCat = record

View file

@ -28,7 +28,7 @@ open import Cubical.NType.Properties
propIsContr : { : Level} {A : Set } isProp (isContr A) propIsContr : { : Level} {A : Set } isProp (isContr A)
propIsContr = propHasLevel ⟨-2⟩ propIsContr = propHasLevel ⟨-2⟩
open import Cubical.Sigma using (setSig ; sigPresSet) public open import Cubical.Sigma using (setSig ; sigPresSet ; sigPresNType) public
module _ ( : Level) where module _ ( : Level) where
-- FIXME Ask if we can push upstream. -- FIXME Ask if we can push upstream.