Last active
February 20, 2024 00:20
-
-
Save FrozenWinters/1d40f0faefcafb3882f7af5e9980dd9a to your computer and use it in GitHub Desktop.
Categories with Families
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {-# OPTIONS --cubical #-} | |
| module CwF where | |
| open import Agda.Primitive using (Level; lzero; lsuc; _β_) public | |
| open import Cubical.Core.Everything public | |
| open import Cubical.Foundations.Everything renaming (cong to ap) public | |
| -- Category with Families (4.1.1) | |
| record Category : Typeβ where | |
| field | |
| πΆπ‘π₯ : Type | |
| ππ’π : πΆπ‘π₯ β πΆπ‘π₯ β Type | |
| ππ : {Ξ : πΆπ‘π₯} β ππ’π Ξ Ξ | |
| ππππ : {Ξ£ Ξ Ξ : πΆπ‘π₯} β ππ’π Ξ Ξ β ππ’π Ξ£ Ξ β ππ’π Ξ£ Ξ | |
| ππ-L : {Ξ Ξ : πΆπ‘π₯} (Ο : ππ’π Ξ Ξ) β ππππ ππ Ο β‘ Ο | |
| ππ-R : {Ξ Ξ : πΆπ‘π₯} (Ο : ππ’π Ξ Ξ) β ππππ Ο ππ β‘ Ο | |
| ππ π ππ : {Ξ© Ξ£ Ξ Ξ : πΆπ‘π₯} (Ο : ππ’π Ξ Ξ) (Ο : ππ’π Ξ£ Ξ) (ΞΌ : ππ’π Ξ© Ξ£) β ππππ Ο (ππππ Ο ΞΌ) β‘ ππππ (ππππ Ο Ο) ΞΌ | |
| isSet-πΆπ‘π₯ : isSet πΆπ‘π₯ | |
| isSet-ππ’π : {Ξ Ξ : πΆπ‘π₯} β isSet (ππ’π Ξ Ξ) | |
| record Fibrant (π : Category) : Typeβ where | |
| open Category π | |
| field | |
| ππ¦ : (Ξ : πΆπ‘π₯) β Type | |
| ππ’π-ππ¦ : {Ξ Ξ : πΆπ‘π₯} (Ο : ππ’π Ξ Ξ) β ππ¦ Ξ β ππ¦ Ξ | |
| ππ-ππ’π-ππ¦ : {Ξ : πΆπ‘π₯} (A : ππ¦ Ξ) β ππ’π-ππ¦ (ππ) A β‘ A | |
| ππππ-ππ’π-ππ¦ : {Ξ£ Ξ Ξ : πΆπ‘π₯} (Ο : ππ’π Ξ£ Ξ) (Ο : ππ’π Ξ Ξ) (A : ππ¦ Ξ) β ππ’π-ππ¦ Ο (ππ’π-ππ¦ Ο A) β‘ ππ’π-ππ¦ (ππππ Ο Ο) A | |
| ππ : (Ξ : πΆπ‘π₯) (A : ππ¦ Ξ) β Type | |
| ππ’π-ππ : {Ξ Ξ : πΆπ‘π₯} (Ο : ππ’π Ξ Ξ) {A : ππ¦ Ξ} (t : ππ Ξ A) β ππ Ξ (ππ’π-ππ¦ Ο A) | |
| ππ-ππ’π-ππ : {Ξ : πΆπ‘π₯} {A : ππ¦ Ξ} (t : ππ Ξ A) β PathP (Ξ» i β ππ Ξ (ππ-ππ’π-ππ¦ A i)) (ππ’π-ππ (ππ) t) t | |
| ππππ-ππ’π-ππ : {Ξ£ Ξ Ξ : πΆπ‘π₯} (Ο : ππ’π Ξ£ Ξ) (Ο : ππ’π Ξ Ξ) {A : ππ¦ Ξ} (t : ππ Ξ A) β | |
| PathP (Ξ» i β ππ Ξ£ (ππππ-ππ’π-ππ¦ Ο Ο A i)) (ππ’π-ππ Ο (ππ’π-ππ Ο t)) (ππ’π-ππ (ππππ Ο Ο) t) | |
| ππ₯-ππ¦ : (Ξ : πΆπ‘π₯) (A : ππ¦ Ξ) β πΆπ‘π₯ | |
| ππ‘ : (Ξ : πΆπ‘π₯) (A : ππ¦ Ξ) β ππ’π (ππ₯-ππ¦ Ξ A) Ξ | |
| π§π£ : (Ξ : πΆπ‘π₯) (A : ππ¦ Ξ) β ππ (ππ₯-ππ¦ Ξ A) (ππ’π-ππ¦ (ππ‘ Ξ A) A) | |
| ππ₯-ππ : {Ξ Ξ : πΆπ‘π₯} {A : ππ¦ Ξ} (Ο : ππ’π Ξ Ξ) (t : ππ Ξ (ππ’π-ππ¦ Ο A)) β ππ’π Ξ (ππ₯-ππ¦ Ξ A) | |
| πππ€β : {Ξ Ξ : πΆπ‘π₯} (Ο : ππ’π Ξ Ξ) {A : ππ¦ Ξ} (t : ππ Ξ (ππ’π-ππ¦ Ο A)) β ππππ (ππ‘ Ξ A) (ππ₯-ππ Ο t) β‘ Ο | |
| πππ€β : {Ξ Ξ : πΆπ‘π₯} (Ο : ππ’π Ξ Ξ) {A : ππ¦ Ξ} (t : ππ Ξ (ππ’π-ππ¦ Ο A)) β | |
| PathP (Ξ» i β (ap (Ξ» B β ππ Ξ B) (ππππ-ππ’π-ππ¦ (ππ₯-ππ Ο t) (ππ‘ Ξ A) A) β ap (Ξ» Ο β ππ Ξ (ππ’π-ππ¦ Ο A)) (πππ€β Ο t)) i) | |
| (ππ’π-ππ (ππ₯-ππ Ο t) (π§π£ Ξ A)) t | |
| πππ€β : {Ξ Ξ : πΆπ‘π₯} {A : ππ¦ Ξ} (Ο : ππ’π Ξ (ππ₯-ππ¦ Ξ A)) β | |
| ππ₯-ππ (ππππ (ππ‘ Ξ A) Ο) (subst (ππ Ξ) (ππππ-ππ’π-ππ¦ Ο (ππ‘ Ξ A) A) (ππ’π-ππ Ο (π§π£ Ξ A))) β‘ Ο | |
| isSet-ππ¦ : {Ξ : πΆπ‘π₯} β isSet (ππ¦ Ξ) | |
| isSet-ππ : {Ξ : πΆπ‘π₯} {A : ππ¦ Ξ} β isSet (ππ Ξ A) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment