\import Category
\import Category.Meta
\import Logic
\import Paths
\import Topology.CoverSpace
\instance PrecoverSpaceCat : Cat PrecoverSpace
| Hom => PrecoverMap
| id X => PrecoverMap.id
| o => PrecoverMap.∘
| id-left => idp
| id-right => idp
| o-assoc => idp
| univalence => sip \lam c d => PrecoverSpace.PrecoverSpace-ext \lam {C} =>
(\lam Cc => cauchy-subset (func-cover {d} Cc) \lam (inP (V,CV,p)) => transportInv C p CV,
\lam Cc => cauchy-subset (func-cover {c} Cc) \lam (inP (V,CV,p)) => transportInv C p CV)
\instance CoverSpaceCat : Cat CoverSpace
| Hom => PrecoverMap
| id X => PrecoverMap.id
| o => PrecoverMap.∘
| id-left => idp
| id-right => idp
| o-assoc => idp
| univalence => sip \lam c d => CoverSpace.CoverSpace-ext \lam {C} =>
(\lam Cc => cauchy-subset (func-cover {d} Cc) \lam (inP (V,CV,p)) => transportInv C p CV,
\lam Cc => cauchy-subset (func-cover {c} Cc) \lam (inP (V,CV,p)) => transportInv C p CV)