@@ -120,8 +120,9 @@ theorem any_functor_const_on_obj [IsPreconnected J] {α : Type u₂} (F : J ⥤
120
120
/-- If any functor to a discrete category is constant on objects, J is connected.
121
121
The converse of `any_functor_const_on_obj`.
122
122
-/
123
- theorem IsPreconnected.of_any_functor_const_on_obj (h : ∀ {α : Type u₁} (F : J ⥤ Discrete α),
124
- ∀ j j' : J, F.obj j = F.obj j') : IsPreconnected J where
123
+ theorem IsPreconnected.of_any_functor_const_on_obj
124
+ (h : ∀ {α : Type u₁} (F : J ⥤ Discrete α), ∀ j j' : J, F.obj j = F.obj j') :
125
+ IsPreconnected J where
125
126
iso_constant := fun F j' => ⟨NatIso.ofComponents fun j => eqToIso (h F j j')⟩
126
127
127
128
/-- If any functor to a discrete category is constant on objects, J is connected.
@@ -143,11 +144,7 @@ theorem constant_of_preserves_morphisms [IsPreconnected J] {α : Type u₂} (F :
143
144
simpa using
144
145
any_functor_const_on_obj
145
146
{ obj := Discrete.mk ∘ F
146
- map := @fun _ _ f =>
147
- eqToHom
148
- (by
149
- ext
150
- exact h _ _ f) }
147
+ map := fun f => eqToHom (by ext; exact h _ _ f) }
151
148
j j'
152
149
#align category_theory.constant_of_preserves_morphisms CategoryTheory.constant_of_preserves_morphisms
153
150
@@ -161,7 +158,7 @@ theorem IsPreconnected.of_constant_of_preserves_morphisms
161
158
(h : ∀ {α : Type u₁} (F : J → α),
162
159
(∀ {j₁ j₂ : J} (_ : j₁ ⟶ j₂), F j₁ = F j₂) → ∀ j j' : J, F j = F j') :
163
160
IsPreconnected J :=
164
- IsPreconnected.of_any_functor_const_on_obj @ fun _ F =>
161
+ IsPreconnected.of_any_functor_const_on_obj fun F =>
165
162
h F.obj fun f => by ext; exact Discrete.eq_of_hom (F.map f)
166
163
167
164
/-- `J` is connected if: given any function `F : J → α` which is constant for any
@@ -215,8 +212,7 @@ instance [hc : IsConnected J] : IsConnected (ULiftHom.{v₂} (ULift.{u₂} J)) :
215
212
have hj₀' : Classical.choice hc.is_nonempty ∈ p' := by
216
213
simp only [p', (eq_self p')]
217
214
exact hj₀
218
- apply induct_on_objects p' hj₀' @fun _ _ f =>
219
- h ((ULiftHomULiftCategory.equiv J).functor.map f)
215
+ apply induct_on_objects p' hj₀' fun f => h ((ULiftHomULiftCategory.equiv J).functor.map f)
220
216
221
217
/-- Another induction principle for `IsPreconnected J`:
222
218
given a type family `Z : J → Sort*` and
@@ -227,14 +223,8 @@ theorem isPreconnected_induction [IsPreconnected J] (Z : J → Sort*)
227
223
(h₁ : ∀ {j₁ j₂ : J} (_ : j₁ ⟶ j₂), Z j₁ → Z j₂) (h₂ : ∀ {j₁ j₂ : J} (_ : j₁ ⟶ j₂), Z j₂ → Z j₁)
228
224
{j₀ : J} (x : Z j₀) (j : J) : Nonempty (Z j) :=
229
225
(induct_on_objects { j | Nonempty (Z j) } ⟨x⟩
230
- (fun f =>
231
- ⟨by
232
- rintro ⟨y⟩
233
- exact ⟨h₁ f y⟩, by
234
- rintro ⟨y⟩
235
- exact ⟨h₂ f y⟩⟩)
236
- j :
237
- _)
226
+ (fun f => ⟨by rintro ⟨y⟩; exact ⟨h₁ f y⟩, by rintro ⟨y⟩; exact ⟨h₂ f y⟩⟩)
227
+ j : _)
238
228
#align category_theory.is_preconnected_induction CategoryTheory.isPreconnected_induction
239
229
240
230
/-- If `J` and `K` are equivalent, then if `J` is preconnected then `K` is as well. -/
@@ -385,7 +375,7 @@ theorem equiv_relation [IsPreconnected J] (r : J → J → Prop) (hr : _root_.Eq
385
375
/-- In a connected category, any two objects are related by `Zigzag`. -/
386
376
theorem isPreconnected_zigzag [IsPreconnected J] (j₁ j₂ : J) : Zigzag j₁ j₂ :=
387
377
equiv_relation _ zigzag_equivalence
388
- (@ fun _ _ f => Relation.ReflTransGen.single (Or.inl (Nonempty.intro f))) _ _
378
+ (fun f => Relation.ReflTransGen.single (Or.inl (Nonempty.intro f))) _ _
389
379
#align category_theory.is_connected_zigzag CategoryTheory.isPreconnected_zigzag
390
380
391
381
@[deprecated (since := "2024-02-19")] alias isConnected_zigzag := isPreconnected_zigzag
@@ -466,9 +456,11 @@ instance [IsConnected J] : (Functor.const J : C ⥤ J ⥤ C).Full where
466
456
467
457
theorem nonempty_hom_of_preconnected_groupoid {G} [Groupoid G] [IsPreconnected G] :
468
458
∀ x y : G, Nonempty (x ⟶ y) := by
469
- refine equiv_relation _ ?_ @ fun j₁ j₂ => Nonempty.intro
459
+ refine equiv_relation _ ?_ fun { j₁ j₂} => Nonempty.intro
470
460
exact
471
- ⟨fun j => ⟨𝟙 _⟩, @fun j₁ j₂ => Nonempty.map fun f => inv f, @fun _ _ _ => Nonempty.map2 (· ≫ ·)⟩
461
+ ⟨fun j => ⟨𝟙 _⟩,
462
+ fun {j₁ j₂} => Nonempty.map fun f => inv f,
463
+ fun {_ _ _} => Nonempty.map2 (· ≫ ·)⟩
472
464
#align category_theory.nonempty_hom_of_connected_groupoid CategoryTheory.nonempty_hom_of_preconnected_groupoid
473
465
474
466
attribute [instance] nonempty_hom_of_preconnected_groupoid
0 commit comments