Define initial object structure

This commit is contained in:
Nathan van Doorn 2024-06-20 10:25:38 +02:00
parent a0a743ac71
commit 19d2e98ef0
1 changed files with 14 additions and 1 deletions

View File

@ -4,12 +4,19 @@ module Categories.Category.Instance.Thinnings where
open import Categories.Category.Core open import Categories.Category.Core
open import Categories.Category.Helper open import Categories.Category.Helper
open import Data.List.Base using (List) open import Categories.Object.Initial
open import Data.List.Base using (List; [])
open import Level using (Level)
open import Relation.Binary.PropositionalEquality open import Relation.Binary.PropositionalEquality
open import Thinning open import Thinning
open import Thinning.Properties open import Thinning.Properties
private
variable
a : Level
A : Set a
Thinnings : {a} (A : Set a) Category a a a Thinnings : {a} (A : Set a) Category a a a
Thinnings A = categoryHelper record Thinnings A = categoryHelper record
{ Obj = List A { Obj = List A
@ -23,3 +30,9 @@ Thinnings A = categoryHelper record
; equiv = isEquivalence ; equiv = isEquivalence
; ∘-resp-≈ = cong₂ _∘_ ; ∘-resp-≈ = cong₂ _∘_
} }
[]-isInitial : IsInitial (Thinnings A) []
[]-isInitial = record { !-unique = ¡-unique }
initial : Initial (Thinnings A)
initial = record { ⊥-is-initial = []-isInitial }