-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set-enriched categories #1467
base: master
Are you sure you want to change the base?
Set-enriched categories #1467
Changes from 1 commit
d884132
0d97d7f
b222d1f
c13d72e
e629c8b
dabdc7b
ca9bf06
38574c7
2d319b9
096421b
70324d3
d2273bf
d04c63d
36b3874
5ff1ae2
c725e07
f3bb66e
393e08c
fc49805
d239668
368f71d
91d2bb0
6cc9f2e
8018188
e1dd9d7
6c4c07b
7e7b846
740c86e
2eeccd0
503a80e
b76613d
c08e9d4
0da7f1c
9abbfb0
ac60705
9ff746c
bb95381
f0da7e2
c5f099d
78e12b4
b089c47
5362f3a
ff504a7
e4111db
dbda0c0
6d7c516
2ac52f4
126a7e9
39ea615
ea2e038
0a08dae
16ae6a5
18f4a6c
7166753
70c125f
9788301
2a7cdc5
5d42579
7c41460
98f0cc6
41339c6
9d5e0e4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,9 +6,10 @@ Direct implementation of indexed products together with: | |
- Definition of a product structure on a functor category by taking pointwise products in the target | ||
category (adapted from the binary version) ([Products_functor_precat]) | ||
- Products from limits ([Products_from_Lims]) | ||
- Uniqueness of products | ||
|
||
Written by: Anders Mörtberg 2016 | ||
|
||
Extended by: Langston Barrett 2018 | ||
|
||
*) | ||
|
||
|
@@ -57,6 +58,14 @@ Definition isProduct_Product {c : ∏ i, C} (P : Product c) : | |
exact (pr2 P). | ||
Defined. | ||
|
||
Definition isaprop_isProduct (c : ∏ (i : I), C) (p : C) | ||
(pi : ∏ i, p --> c i) : isaprop (isProduct c p pi). | ||
Proof. | ||
unfold isProduct. | ||
do 2 (apply impred; intro). | ||
apply isapropiscontr. | ||
Defined. | ||
|
||
Definition ProductArrow {c : ∏ i, C} (P : Product c) {a : C} (f : ∏ i, a --> c i) | ||
: a --> ProductObject P. | ||
Proof. | ||
|
@@ -372,3 +381,34 @@ use make_Product. | |
Defined. | ||
|
||
End products_from_limits. | ||
|
||
(** * Uniqueness of products *) | ||
|
||
Section uniqueness. | ||
Context (I : UU) {C : category} (hsC : has_homsets C) (c : I -> C). | ||
|
||
(** The arrow from p1 to p2 induced by the projections from p1 is an iso *) | ||
Lemma product_unique (p1 p2 : Product I C c) : | ||
is_iso (ProductArrow _ _ p2 (ProductPr I C p1)). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We are transitioning to |
||
Proof. | ||
use is_iso_qinv. | ||
- (** The inverse is the induced arrow in the other direction *) | ||
apply ProductArrow, ProductPr. | ||
- split. | ||
+ rewrite precompWithProductArrow. | ||
pose (H := ProductPrCommutes I C c p2 _ (ProductPr _ _ p1)). | ||
rewrite ProductArrowEta. | ||
apply maponpaths. | ||
apply funextsec; intro. | ||
rewrite H. | ||
now rewrite id_left. | ||
+ rewrite precompWithProductArrow. | ||
pose (H := ProductPrCommutes I C c p2 _ (ProductPr _ _ p1)). | ||
rewrite ProductArrowEta. | ||
apply maponpaths. | ||
apply funextsec; intro. | ||
rewrite ProductPrCommutes. | ||
now rewrite id_left. | ||
Qed. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This proof should be transparent, at least in part, to allow for the extraction of the inverse. |
||
|
||
End uniqueness. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.