{-# OPTIONS --safe --cubical-compatible --guardedness --exact-split --double-check #-}
module ALMA.SecondPass.FinCatNDefaultUnif where
open import Agda.Builtin.Equality using (refl)
open import Data.Nat using (ℕ)
open import ALMA.SecondPass.CumulativeHierarchy using (mkEmbeddingData)
open import ALMA.SecondPass.FinCatNTowerLemmas
open import ALMA.SecondPass.FinCatNColimitWithDep
open import ALMA.SecondPass.FinCatNSurjectivity
module FinCatNDefaultUnif (m : ℕ) where
open FinCatNTowerLemmas m
open FinCatNColimitWithDep m
using (UniformEmbeddingFamilyForTower; SurjectivityForTower; UniversalLimitDep
; NontrivialLimitDep; dependentUniversalLimitDep; dependentNontrivialDep)
open FinCatNSurjectivity m using (surj)
default-unif : UniformEmbeddingFamilyForTower
default-unif k = record
{ family = record
{ getData = mkEmbeddingData (nTower-retract k) (nTower-collapsible k) }
; next-consistent = λ _ _ → refl
}
surj-default : SurjectivityForTower default-unif
surj-default = surj default-unif
dependentUniversalLimit-default : UniversalLimitDep default-unif
dependentUniversalLimit-default = dependentUniversalLimitDep default-unif surj-default
dependentNontrivial-default : NontrivialLimitDep dependentUniversalLimit-default
dependentNontrivial-default = dependentNontrivialDep default-unif surj-default