Skip to content

Commit 29a67bd

Browse files
Merge pull request #2333 from jdchristensen/wildcat-pullbacks
Add pullbacks of ZeroGroupoids and pullbacks in wild categories
2 parents 1dee026 + 2202d13 commit 29a67bd

File tree

16 files changed

+484
-90
lines changed

16 files changed

+484
-90
lines changed

theories/Algebra/AbGroups/AbHom.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ Defined.
162162
Instance is0functor_ab_hom01 `{Funext} {A : Group^op}
163163
: Is0Functor (ab_hom A).
164164
Proof.
165-
snapply (Build_Is0Functor _ AbGroup); intros B B' f.
165+
snapply Build_Is0Functor; intros B B' f.
166166
snapply Build_GroupHomomorphism.
167167
1: exact (fun g => grp_homo_compose f g).
168168
intros phi psi.
@@ -173,7 +173,7 @@ Defined.
173173
Instance is0functor_ab_hom10 `{Funext} {B : AbGroup@{u}}
174174
: Is0Functor (flip (ab_hom : Group^op -> AbGroup -> AbGroup) B).
175175
Proof.
176-
snapply (Build_Is0Functor (Group^op) AbGroup); intros A A' f.
176+
snapply Build_Is0Functor; intros A A' f.
177177
snapply Build_GroupHomomorphism.
178178
1: exact (fun g => grp_homo_compose g f).
179179
intros phi psi.

theories/Algebra/Monoids/Monoid.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ Proof.
202202
Defined.
203203

204204
Instance is0functor_monoid_type : Is0Functor monoid_type
205-
:= Build_Is0Functor _ _ _ _ monoid_type (@mnd_homo_map).
205+
:= Build_Is0Functor monoid_type (@mnd_homo_map).
206206

207207
Instance is1functor_monoid_type : Is1Functor monoid_type.
208208
Proof.

theories/Homotopy/Join/Core.v

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -351,9 +351,7 @@ Instance is0functor_joinrecdata_0gpd (A B : Type) : Is0Functor (joinrecdata_0gpd
351351
Proof.
352352
apply Build_Is0Functor.
353353
intros P Q g.
354-
snapply Build_Fun01.
355-
- exact (joinrecdata_fun g).
356-
- apply is0functor_joinrecdata_fun.
354+
exact (Build_Fun01 (joinrecdata_fun g)).
357355
Defined.
358356

359357
(** [joinrecdata_0gpd A B] is a 1-functor from [Type] to [ZeroGpd]. *)
@@ -685,14 +683,13 @@ Section JoinSym.
685683
Definition joinrecdata_sym (A B P : Type)
686684
: joinrecdata_0gpd A B P $-> joinrecdata_0gpd B A P.
687685
Proof.
688-
snapply Build_Fun01.
686+
snapply Build_Fun01'.
689687
(* The map of types [JoinRecData A B P -> JoinRecData B A P]: *)
690688
- intros [fl fr fg].
691689
snapply (Build_JoinRecData fr fl).
692690
intros b a; exact (fg a b)^.
693691
(* It respects the paths. *)
694-
- apply Build_Is0Functor.
695-
intros f g h; simpl.
692+
- intros f g h; simpl.
696693
snapply Build_JoinRecPath; simpl.
697694
1, 2: intros; apply h.
698695
intros b a.

theories/Homotopy/Join/JoinAssoc.v

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ From HoTT Require Import Basics Types WildCat Join.Core Join.TriJoin Spaces.Nat.
1212
Definition trijoinrecdata_twist (A B C P : Type)
1313
: trijoinrecdata_0gpd A B C P $-> trijoinrecdata_0gpd B A C P.
1414
Proof.
15-
snapply Build_Fun01.
15+
snapply Build_Fun01'.
1616
(* The map of types [TriJoinRecData A B C P -> TriJoinRecData B A C P]: *)
1717
- cbn.
1818
intros [f1 f2 f3 f12 f13 f23 f123].
@@ -24,8 +24,7 @@ Proof.
2424
apply moveR_Vp.
2525
symmetry; apply f123.
2626
(* It respects the paths. *)
27-
- apply Build_Is0Functor.
28-
intros f g h; cbn in *.
27+
- intros f g h; cbn in *.
2928
snapply Build_TriJoinRecPath; intros; simpl.
3029
1, 2, 3, 5, 6: apply h.
3130
+ cbn zeta.

theories/Homotopy/Join/TriJoin.v

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -617,9 +617,7 @@ Instance is0functor_trijoinrecdata_0gpd (A B C : Type) : Is0Functor (trijoinrecd
617617
Proof.
618618
apply Build_Is0Functor.
619619
intros P Q g.
620-
snapply Build_Fun01.
621-
- exact (trijoinrecdata_fun g).
622-
- apply is0functor_trijoinrecdata_fun.
620+
exact (Build_Fun01 (trijoinrecdata_fun g)).
623621
Defined.
624622

625623
(** [trijoinrecdata_0gpd A B C] is a 1-functor from [Type] to [ZeroGpd]. *)

theories/Homotopy/Suspension.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ Proof.
243243
Defined.
244244

245245
Instance is0functor_susp : Is0Functor Susp
246-
:= Build_Is0Functor _ _ _ _ Susp (@functor_susp).
246+
:= Build_Is0Functor Susp (@functor_susp).
247247

248248
Instance is1functor_susp : Is1Functor Susp
249249
:= Build_Is1Functor _ _ _ _ _ _ _ _ _ _ Susp _
@@ -418,7 +418,7 @@ Section UnivPropNat.
418418
Local Instance is0functor_functor_Susp_ind_data
419419
: Is0Functor functor_Susp_ind_data.
420420
Proof.
421-
exact (is0functor_sigma _ _
421+
exact (is0functor_functor_sigma_id _ _
422422
(fun NS => functor_Susp_ind_data' NS o functor_Susp_ind_data'' NS)).
423423
Defined.
424424

theories/Pointed/pSusp.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Definition psusp (X : Type) : pType
3333
(** [psusp] has a functorial action. *)
3434
(** TODO: make this a displayed functor *)
3535
Instance is0functor_psusp : Is0Functor psusp
36-
:= Build_Is0Functor _ _ _ _ psusp (fun X Y f
36+
:= Build_Is0Functor psusp (fun X Y f
3737
=> Build_pMap (functor_susp f) 1).
3838

3939
(** [psusp] is a 1-functor. *)

theories/Truncations/Core.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ Section TruncationModality.
111111
:= O_functor@{k k k} (Tr n) f.
112112

113113
#[export] Instance is0functor_Tr : Is0Functor (Tr n)
114-
:= Build_Is0Functor _ _ _ _ (Tr n) (@Trunc_functor).
114+
:= Build_Is0Functor (Tr n) (@Trunc_functor).
115115

116116
#[export] Instance Trunc_functor_isequiv {X Y : Type}
117117
(f : X -> Y) `{IsEquiv _ _ f}

theories/WildCat/Adjoint.v

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ Record Adjunction {C D : Type} (F : C -> D) (G : D -> C)
3232
`{Is1Cat C, Is1Cat D, !Is0Functor F, !Is0Functor G} :=
3333
{
3434
equiv_adjunction (x : C) (y : D) : (F x $-> y) <~> (x $-> G y) ;
35-
(** Naturality condition in both variable separately *)
35+
(** Naturality condition in both variables separately. *)
3636
(** The left variable is a bit trickier to state since we have opposite categories involved. *)
3737
is1natural_equiv_adjunction_l (y : D)
3838
:: Is1Natural (A := C^op) (yon y o F)
3939
(** We have to explicitly give a witness to the functoriality of [yon y o F]. *)
4040
(is0functor_F := is0functor_compose (A:=C^op) (B:=D^op) (C:=Type) _ _)
41-
(yon (G y)) (fun x => equiv_adjunction _ y) ;
41+
(yon (G y)) (fun x => equiv_adjunction x y) ;
4242
(** Naturality in the right variable *)
4343
is1natural_equiv_adjunction_r (x : C)
4444
:: Is1Natural (opyon (F x)) (opyon x o G) (equiv_adjunction x) ;
@@ -66,14 +66,10 @@ Lemma fun01_profunctor {A B C D : Type} (F : A -> B) (G : C -> D)
6666
: Fun01 (A^op * C) (B^op * D).
6767
Proof.
6868
snapply Build_Fun01.
69-
1: exact (functor_prod F G).
70-
rapply is0functor_prod_functor.
69+
1: exact (functor_prod (F : A^op -> B^op) G).
70+
rapply is0functor_prod_functor. (* Typeclass search gets confused by the opposite categories. *)
7171
Defined.
7272

73-
Definition fun01_hom {C : Type} `{Is01Cat C}
74-
: Fun01 (C^op * C) Type
75-
:= @Build_Fun01 _ _ _ _ _ is0functor_hom.
76-
7773
(** ** Natural equivalences coming from adjunctions. *)
7874

7975
(** There are various bits of data we would like to extract from adjunctions. *)

theories/WildCat/Core.v

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ Definition GpdHom_path {A} `{Is0Gpd A} {a b : A} (p : a = b) : a $== b
8686
Class Is0Functor {A B : Type} `{IsGraph A} `{IsGraph B} (F : A -> B)
8787
:= { fmap : forall (a b : A) (f : a $-> b), F a $-> F b }.
8888

89+
Arguments Build_Is0Functor {A B isgraph_A isgraph_B} F fmap : rename.
8990
Arguments fmap {A B isgraph_A isgraph_B} F {is0functor_F a b} f : rename.
9091

9192
Class Is2Graph (A : Type) `{IsGraph A}

0 commit comments

Comments
 (0)