Skip to content

Commit 3b70463

Browse files
Upstreamed some material on displayed categories
1 parent a19c16e commit 3b70463

File tree

3 files changed

+188
-220
lines changed

3 files changed

+188
-220
lines changed

TypeTheory/ALV2/CwF_SplitTypeCat_Equiv_Cats.v

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,6 @@ Require Import TypeTheory.ALV1.CwF_SplitTypeCat_Maps.
2525
Require Import TypeTheory.ALV2.CwF_SplitTypeCat_Cats.
2626
Require Import TypeTheory.ALV1.CwF_SplitTypeCat_Equivalence. (* TODO: needed for some natural transformations. *)
2727

28-
29-
(* TODO: globalise upstream? *)
30-
Notation "# F" := (disp_functor_on_morphisms F)
31-
(at level 3) : mor_disp_scope.
32-
33-
(* TODO: as ever, upstream when possible. *)
34-
Section Auxiliary.
35-
36-
(* The following definition takes unfair advantage of the fact that [functor_composite (functor_identity _) (functor_identity _)]
37-
is judgementally(!) equal to [functor_identity _]. *)
38-
Definition disp_functor_id_composite
39-
{C : category}
40-
{CC DD EE : disp_cat C}
41-
(FF : disp_functor (functor_identity _) CC DD)
42-
(GG : disp_functor (functor_identity _) DD EE)
43-
: disp_functor (functor_identity _) CC EE
44-
:= disp_functor_composite FF GG.
45-
46-
End Auxiliary.
47-
4828
Section Fix_Context.
4929

5030
Context {C : category}.

TypeTheory/ALV2/SplitTypeCat_ComprehensionCat.v

Lines changed: 1 addition & 200 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Require Import TypeTheory.Auxiliary.CategoryTheoryImports.
4343

4444
Require Import TypeTheory.Auxiliary.Auxiliary.
4545
Require Import TypeTheory.Auxiliary.CategoryTheory.
46+
Require Import TypeTheory.Auxiliary.DisplayedCategories.
4647
Require Import TypeTheory.Auxiliary.Pullbacks.
4748

4849
Require Import TypeTheory.ALV1.TypeCat.
@@ -55,206 +56,6 @@ Require Import UniMath.CategoryTheory.DisplayedCats.Fibrations.
5556
Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.
5657
Require Import UniMath.CategoryTheory.DisplayedCats.ComprehensionC.
5758

58-
Section Auxiliary.
59-
60-
(* TODO: move upstream? *)
61-
Definition unique_lift_is_cartesian
62-
{C : category}
63-
{D : discrete_fibration C} {c c'}
64-
(f : c' --> c) (d : D c)
65-
: is_cartesian (pr2 (pr1 (unique_lift f d))).
66-
Proof.
67-
apply (pr2 (pr2 (fibration_from_discrete_fibration _ D _ _ f d))).
68-
Defined.
69-
70-
(* TODO: move upstream? *)
71-
Definition unique_lift_explicit
72-
{C : category}
73-
{D : disp_cat C}
74-
(is_discrete_fibration_D : is_discrete_fibration D) {c c'}
75-
{d : D c} {f : c' --> c} (d' : D c') (ff : d' -->[f] d)
76-
: ∃! (d' : D c'), d' -->[f] d.
77-
Proof.
78-
exists (d' ,, ff).
79-
intros X.
80-
etrans. apply (pr2 (pr1 is_discrete_fibration_D _ _ f d)).
81-
apply pathsinv0, (pr2 (pr1 is_discrete_fibration_D _ _ f d)).
82-
Defined.
83-
84-
(* TODO: move upstream? *)
85-
Definition unique_lift_explicit_eq
86-
{C : category}
87-
{D : disp_cat C}
88-
(is_discrete_fibration_D : is_discrete_fibration D) {c c'}
89-
{d : D c} {f : c' --> c} (d' : D c') (ff : d' -->[f] d)
90-
: pr1 is_discrete_fibration_D _ _ f d
91-
= unique_lift_explicit is_discrete_fibration_D d' ff.
92-
Proof.
93-
apply isapropiscontr.
94-
Defined.
95-
96-
(* TODO: move upstream? *)
97-
Definition unique_lift_identity
98-
{C : category}
99-
{D : disp_cat C}
100-
(is_discrete_fibration_D : is_discrete_fibration D) {c}
101-
(d : D c)
102-
: ∃! (d' : D c), d' -->[identity c] d.
103-
Proof.
104-
apply (unique_lift_explicit is_discrete_fibration_D d).
105-
apply id_disp.
106-
Defined.
107-
108-
(* TODO: move upstream? *)
109-
Definition unique_lift_id
110-
{C : category}
111-
{D : disp_cat C}
112-
(is_discrete_fibration_D : is_discrete_fibration D) {c}
113-
(d : D c)
114-
: pr1 is_discrete_fibration_D _ _ (identity c) d
115-
= unique_lift_identity is_discrete_fibration_D d.
116-
Proof.
117-
apply isapropiscontr.
118-
Defined.
119-
120-
(* TODO: move upstream? *)
121-
Definition unique_lift_compose
122-
{C : category}
123-
{D : disp_cat C}
124-
(is_discrete_fibration_D : is_discrete_fibration D) {c c' c''}
125-
(f : c' --> c) (g : c'' --> c')
126-
(d : D c)
127-
: ∃! (d'' : D c''), d'' -->[g ;; f] d.
128-
Proof.
129-
set (d'ff := pr1 is_discrete_fibration_D _ _ f d).
130-
set (d' := pr1 (pr1 d'ff)).
131-
set (ff := pr2 (pr1 d'ff)).
132-
set (d''gg := pr1 is_discrete_fibration_D _ _ g d').
133-
set (d'' := pr1 (pr1 d''gg)).
134-
set (gg := pr2 (pr1 d''gg)).
135-
136-
use (unique_lift_explicit is_discrete_fibration_D d'' (gg ;; ff)%mor_disp).
137-
Defined.
138-
139-
(* TODO: move upstream? *)
140-
Definition unique_lift_comp
141-
{C : category}
142-
{D : disp_cat C}
143-
(is_discrete_fibration_D : is_discrete_fibration D) {c c' c''}
144-
(f : c' --> c) (g : c'' --> c')
145-
(d : D c)
146-
: pr1 is_discrete_fibration_D _ _ (g ;; f) d
147-
= unique_lift_compose is_discrete_fibration_D f g d.
148-
Proof.
149-
apply isapropiscontr.
150-
Defined.
151-
152-
(* TODO: move upstream? *)
153-
Definition discrete_fibration_mor_weq
154-
{C : category}
155-
{D : disp_cat C}
156-
(is_discrete_fibration_D : is_discrete_fibration D) {c c'}
157-
(f : c' --> c) (d : D c) (d' : D c')
158-
: (d' -->[f] d) ≃ (pr1 (pr1 (pr1 is_discrete_fibration_D c c' f d)) = d').
159-
Proof.
160-
set (uf := pr1 is_discrete_fibration_D c c' f d).
161-
use weq_iso.
162-
- intros ff. apply (maponpaths pr1 (! pr2 uf (d' ,, ff))).
163-
- intros p. apply (transportf _ p (pr2 (pr1 uf))).
164-
- intros ff. simpl.
165-
induction (! unique_lift_explicit_eq is_discrete_fibration_D d' ff
166-
: unique_lift_explicit _ d' ff = uf).
167-
simpl.
168-
etrans. apply maponpaths_2, maponpaths, maponpaths.
169-
apply pathsinv0r.
170-
apply idpath.
171-
- intros ?. apply (pr2 is_discrete_fibration_D).
172-
Defined.
173-
174-
(* TODO: move upstream? *)
175-
Definition discrete_fibration_mor
176-
{C : category}
177-
{D : disp_cat C}
178-
(is_discrete_fibration_D : is_discrete_fibration D) {c c'}
179-
(f : c' --> c) (d : D c) (d' : D c')
180-
: (d' -->[f] d) = (pr1 (pr1 (pr1 is_discrete_fibration_D c c' f d)) = d').
181-
Proof.
182-
apply univalenceweq.
183-
apply discrete_fibration_mor_weq.
184-
Defined.
185-
186-
(* TODO: move upstream? *)
187-
Definition isaprop_mor_disp_of_discrete_fibration
188-
{C : category}
189-
{D : disp_cat C}
190-
(is_discrete_fibration_D : is_discrete_fibration D) {c c'}
191-
(f : c' --> c) (d : D c) (d' : D c')
192-
: isaprop (d' -->[f] d).
193-
Proof.
194-
induction (! discrete_fibration_mor is_discrete_fibration_D f d d').
195-
apply (pr2 is_discrete_fibration_D).
196-
Qed.
197-
198-
(* TODO: move upstream? *)
199-
Definition isaprop_disp_id_comp_of_discrete_fibration
200-
{C : category}
201-
{D : disp_cat C}
202-
(is_discrete_fibration_D : is_discrete_fibration D)
203-
: isaprop (disp_cat_id_comp C D).
204-
Proof.
205-
use isapropdirprod.
206-
- apply impred_isaprop. intros ?.
207-
apply impred_isaprop. intros ?.
208-
apply isaprop_mor_disp_of_discrete_fibration.
209-
apply is_discrete_fibration_D.
210-
- apply impred_isaprop. intros ?.
211-
apply impred_isaprop. intros ?.
212-
apply impred_isaprop. intros ?.
213-
apply impred_isaprop. intros ?.
214-
apply impred_isaprop. intros ?.
215-
apply impred_isaprop. intros ?.
216-
apply impred_isaprop. intros ?.
217-
apply impred_isaprop. intros ?.
218-
apply impred_isaprop. intros ?.
219-
apply impred_isaprop. intros ?.
220-
apply isaprop_mor_disp_of_discrete_fibration.
221-
apply is_discrete_fibration_D.
222-
Qed.
223-
224-
(* TODO: move upstream? *)
225-
Definition isaprop_is_discrete_fibration
226-
{C : category}
227-
(D : disp_cat C)
228-
: isaprop (is_discrete_fibration D).
229-
Proof.
230-
use isapropdirprod.
231-
- apply impred_isaprop. intros ?.
232-
apply impred_isaprop. intros ?.
233-
apply impred_isaprop. intros ?.
234-
apply impred_isaprop. intros ?.
235-
apply isapropiscontr.
236-
- apply impred_isaprop. intros ?.
237-
apply isapropisaset.
238-
Qed.
239-
240-
(* TODO: move upstream? *)
241-
Definition isaprop_is_cartesian_disp_functor
242-
{C C' : category} {F : functor C C'}
243-
{D : disp_cat C} {D' : disp_cat C'} {FF : disp_functor F D D'}
244-
: isaprop (is_cartesian_disp_functor FF).
245-
Proof.
246-
apply impred_isaprop. intros c.
247-
apply impred_isaprop. intros c'.
248-
apply impred_isaprop. intros f.
249-
apply impred_isaprop. intros d.
250-
apply impred_isaprop. intros d'.
251-
apply impred_isaprop. intros ff.
252-
apply impred_isaprop. intros ff_is_cartesian.
253-
apply isaprop_is_cartesian.
254-
Qed.
255-
256-
End Auxiliary.
257-
25859
Section DiscreteComprehensionCatWithDefaultMor.
25960

26061
Section From_SplitTypeCat.

0 commit comments

Comments
 (0)