File tree Expand file tree Collapse file tree 6 files changed +16
-8
lines changed Expand file tree Collapse file tree 6 files changed +16
-8
lines changed Original file line number Diff line number Diff line change @@ -43,8 +43,9 @@ Notation "'λ' x .. y , t" := (fun x => .. (fun y => t) ..)
43
43
44
44
Class Setoid A := {
45
45
equiv : crelation A;
46
- setoid_equiv :> Equivalence equiv
46
+ setoid_equiv : Equivalence equiv
47
47
}.
48
+ #[export] Existing Instance setoid_equiv.
48
49
49
50
Notation "f ≈ g" := (equiv f g) (at level 79) : category_theory_scope.
50
51
Original file line number Diff line number Diff line change @@ -24,12 +24,13 @@ Class Cartesian:= {
24
24
exl {x y} : x × y ~> x;
25
25
exr {x y} : x × y ~> y;
26
26
27
- fork_respects :> ∀ x y z,
27
+ fork_respects : ∀ x y z,
28
28
Proper (equiv ==> equiv ==> equiv) (@fork x y z);
29
29
30
30
ump_products {x y z} (f : x ~> y) (g : x ~> z) (h : x ~> y × z) :
31
31
h ≈ fork f g ↔ (exl ∘ h ≈ f) * (exr ∘ h ≈ g)
32
32
}.
33
+ #[export] Existing Instance fork_respects.
33
34
34
35
Infix "×" := product_obj (at level 40, left associativity) : object_scope.
35
36
Infix "△" := fork (at level 28) : morphism_scope.
Original file line number Diff line number Diff line change @@ -31,14 +31,16 @@ Context {C : Category}.
31
31
augmentations must in fact be cartesian monoidal." *)
32
32
33
33
Class CartesianMonoidal `{@Monoidal C} := {
34
- is_semicartesian :> @SemicartesianMonoidal C _;
35
- is_relevance :> @RelevantMonoidal C _;
34
+ is_semicartesian : @SemicartesianMonoidal C _;
35
+ is_relevance : @RelevantMonoidal C _;
36
36
37
37
proj_left_diagonal {x} : proj_left ∘ diagonal ≈ id[x];
38
38
proj_right_diagonal {x} : proj_right ∘ diagonal ≈ id[x];
39
39
40
40
unit_left_twist {x} : unit_left ∘ @twist _ _ _ x I ≈ unit_right;
41
41
unit_right_twist {x} : unit_right ∘ @twist _ _ _ I x ≈ unit_left
42
42
}.
43
+ #[export] Existing Instance is_semicartesian.
44
+ #[export] Existing Instance is_relevance.
43
45
44
46
End CartesianMonoidal.
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ Section RelevantMonoidal.
19
19
Context {C : Category}.
20
20
21
21
Class RelevantMonoidal `{@Monoidal C} := {
22
- is_symmetric :> SymmetricMonoidal;
22
+ is_symmetric : SymmetricMonoidal;
23
23
24
24
diagonal {x} : x ~> x ⨂ x;
25
25
diagonal_natural : natural (@diagonal);
@@ -43,6 +43,7 @@ Class RelevantMonoidal `{@Monoidal C} := {
43
43
diagonal_twist2 {x y} :
44
44
@diagonal (x ⨂ y) ≈ twist2 ∘ diagonal ⨂ diagonal
45
45
}.
46
+ #[export] Existing Instance is_symmetric.
46
47
47
48
Lemma twist2_natural `{@Monoidal C} `{@RelevantMonoidal _} :
48
49
natural (@twist2 _ _).
Original file line number Diff line number Diff line change @@ -40,13 +40,13 @@ Class Category := {
40
40
41
41
uhom := Type : Type ;
42
42
hom : obj -> obj -> uhom where "a ~> b" := (hom a b);
43
- homset :> ∀ X Y, Setoid (X ~> Y);
43
+ homset : ∀ X Y, Setoid (X ~> Y);
44
44
45
45
id {x} : x ~> x;
46
46
compose {x y z} (f: y ~> z) (g : x ~> y) : x ~> z
47
47
where "f ∘ g" := (compose f g);
48
48
49
- compose_respects x y z :>
49
+ compose_respects x y z :
50
50
Proper (equiv ==> equiv ==> equiv) (@compose x y z);
51
51
52
52
dom {x y} (f: x ~> y) := x;
@@ -60,6 +60,8 @@ Class Category := {
60
60
comp_assoc_sym {x y z w} (f : z ~> w) (g : y ~> z) (h : x ~> y) :
61
61
(f ∘ g) ∘ h ≈ f ∘ (g ∘ h)
62
62
}.
63
+ #[export] Existing Instance homset.
64
+ #[export] Existing Instance compose_respects.
63
65
64
66
Declare Scope category_scope.
65
67
Declare Scope object_scope.
Original file line number Diff line number Diff line change @@ -21,12 +21,13 @@ Class Functor {C D : Category} := {
21
21
fobj : C -> D;
22
22
fmap {x y : C} (f : x ~> y) : fobj x ~> fobj y;
23
23
24
- fmap_respects :> ∀ x y, Proper (equiv ==> equiv) (@fmap x y);
24
+ fmap_respects : ∀ x y, Proper (equiv ==> equiv) (@fmap x y);
25
25
26
26
fmap_id {x : C} : fmap (@id C x) ≈ id;
27
27
fmap_comp {x y z : C} (f : y ~> z) (g : x ~> y) :
28
28
fmap (f ∘ g) ≈ fmap f ∘ fmap g
29
29
}.
30
+ #[export] Existing Instance fmap_respects.
30
31
31
32
Declare Scope functor_scope.
32
33
Declare Scope functor_type_scope.
You can’t perform that action at this time.
0 commit comments