You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(** * A variant of regular categories in which one can do diagram chasing*)
7
+
(** * Epi-stable categories *)
8
8
9
-
(** ** Definition*)
9
+
(** Epi-stable categories are those in which pullbacks exist and epimorphisms are stable under pullback. This is somewhat similar to a regular category, but differs in a couple of ways. First, we use the ordinary epimorphisms rather than the effective epimorphisms, mostly because they are easier to formalize. Second, we don't assume that kernel pairs have co-equalizers.*)
10
10
11
-
(** We study a type of wild category that is similar to a regular category. We assume that the category has all pullbacks and that epimorphisms are preserved by pullbacks. Note that we are dealing with the ordinary epimorphisms rather than the effective epimorphisms. This is simply because they are easier to formalize. Also note that we don't assume that kernel pairs have co-equalizers.*)
11
+
(** ** Definition*)
12
12
13
-
ClassIsRegular (A : Type) `{Is1Cat A} := {
13
+
ClassIsEpiStable (A : Type) `{Is1Cat A} := {
14
14
haspullbacks :: HasPullbacks A;
15
15
stable_epic :: forall {a b c} (f : a $-> c) (g : b $-> c) {ep : Epic f},
16
16
Epic (cat_pb_pr2 (CatPullback:=haspullbacks a b c f g));
17
17
}.
18
18
19
-
(** ** Diagram chasing in a regular category *)
19
+
(** ** Diagram chasing in an epi-stable category *)
20
20
21
-
(** One can do a certain amount of diagram chasing in a regular category. We'll see below that more can be done with an enrichment over abelian groups. *)
21
+
(** One can do a certain amount of diagram chasing in an epi-stable category. We'll see below that more can be done with an enrichment over abelian groups. *)
22
22
23
-
SectionRegular.
23
+
SectionEpiStable.
24
24
25
-
Context {A : Type} `{IsRegular A}.
25
+
Context {A : Type} `{IsEpiStable A}.
26
26
27
27
(** A generalized element of [B] with domain [P]. *)
28
28
Definition elt (P B : A) := P $-> B.
@@ -82,23 +82,23 @@ Section Regular.
82
82
exact h.
83
83
Defined.
84
84
85
-
EndRegular.
85
+
EndEpiStable.
86
86
87
87
(** Many proofs using diagram chasing end by supplying an element of [Lift] with [e] being the identity map. This helps with this common case. See below for an example. *)
88
88
TacticNotation "provide_lift" uconstr(a) :=
89
89
refine (_; id_epi _; a; _);
90
90
try rhs' napply cat_idr.
91
91
92
-
(** ** Regular categories enriched in abelian groups *)
92
+
(** ** Epi-stable categories enriched in abelian groups *)
93
93
94
-
ClassIsAbRegular (A : Type) `{Is1Cat A} := {
95
-
isregular_abregular :: IsRegular A;
96
-
isabenriched_abregular :: IsAbEnriched A;
94
+
ClassIsAbEpiStable (A : Type) `{Is1Cat A} := {
95
+
isepistable_abepistable :: IsEpiStable A;
96
+
isabenriched_abepistable :: IsAbEnriched A;
97
97
}.
98
98
99
-
SectionAbRegular.
99
+
SectionAbEpiStable.
100
100
101
-
Context {A : Type} `{IsAbRegular A}.
101
+
Context {A : Type} `{IsAbEpiStable A}.
102
102
103
103
OpenScope mc_add_scope.
104
104
@@ -182,11 +182,11 @@ Section AbRegular.
182
182
exact h^$.
183
183
Defined.
184
184
185
-
EndAbRegular.
185
+
EndAbEpiStable.
186
186
187
187
(** ** Tactics *)
188
188
189
-
(** The [fix_left] tactic is the key to smooth diagram chasing in an [IsAbRegular] category. Given [lift : Lift ? ?]; we extract the lifted element using the provided name [d] and the proof it is a lift using the name [l]. Then we update all other generalized elements to have the same domain as [d]. We could also have a limited version of this tactic for an [IsRegular] category. *)
189
+
(** The [fix_left] tactic is the key to smooth diagram chasing in an [IsAbEpiStable] category. Given [lift : Lift ? ?]; we extract the lifted element using the provided name [d] and the proof it is a lift using the name [l]. Then we update all other generalized elements to have the same domain as [d]. We could also have a limited version of this tactic for an [IsEpiStable] category. *)
0 commit comments