@@ -6,7 +6,6 @@ Authors: Christian Merten
6
6
import Mathlib.Algebra.Category.Grp.Limits
7
7
import Mathlib.CategoryTheory.CofilteredSystem
8
8
import Mathlib.CategoryTheory.Galois.Decomposition
9
- import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
10
9
import Mathlib.CategoryTheory.Limits.IndYoneda
11
10
import Mathlib.CategoryTheory.Limits.Preserves.Ulift
12
11
@@ -34,6 +33,20 @@ groups of all Galois objects.
34
33
- `FiberFunctor.isPretransitive_of_isConnected`: The `Aut F` action on the fiber of a connected
35
34
object is transitive.
36
35
36
+ ## Implementation details
37
+
38
+ The pro-representability statement and the isomorphism of `Aut F` with the limit over the
39
+ automorphism groups of all Galois objects naturally forces `F` to take values in `FintypeCat.{u₂}`
40
+ where `u₂` is the `Hom`-universe of `C`. Since this is used to show that `Aut F` acts
41
+ transitively on `F.obj X` for connected `X`, we a priori only obtain this result for
42
+ the mentioned specialized universe setup. To obtain the result for `F` taking values in an arbitrary
43
+ `FintypeCat.{w}`, we postcompose with an equivalence `FintypeCat.{w} ≌ FintypeCat.{u₂}` and apply
44
+ the specialized result.
45
+
46
+ In the following the section `Specialized` is reserved for the setup where `F` takes values in
47
+ `FintypeCat.{u₂}` and the section `General` contains results holding for `F` taking values in
48
+ an arbitrary `FintypeCat.{w}`.
49
+
37
50
## References
38
51
39
52
* [ lenstraGSchemes ] : H. W. Lenstra. Galois theory for schemes.
@@ -49,9 +62,9 @@ namespace PreGaloisCategory
49
62
open Limits Functor
50
63
51
64
variable {C : Type u₁} [Category.{u₂} C] [GaloisCategory C]
52
- variable (F : C ⥤ FintypeCat.{u₂})
65
+
53
66
/-- A pointed Galois object is a Galois object with a fixed point of its fiber. -/
54
- structure PointedGaloisObject : Type (max u₁ u₂) where
67
+ structure PointedGaloisObject (F : C ⥤ FintypeCat.{w}) : Type (max u₁ u₂ w ) where
55
68
/-- The underlying object of `C`. -/
56
69
obj : C
57
70
/-- An element of the fiber of `obj`. -/
@@ -61,6 +74,10 @@ structure PointedGaloisObject : Type (max u₁ u₂) where
61
74
62
75
namespace PointedGaloisObject
63
76
77
+ section General
78
+
79
+ variable (F : C ⥤ FintypeCat.{w})
80
+
64
81
attribute [instance] isGalois
65
82
66
83
instance (X : PointedGaloisObject F) : CoeDep (PointedGaloisObject F) X C where
@@ -117,6 +134,12 @@ lemma incl_obj (A : PointedGaloisObject F) : (incl F).obj A = A :=
117
134
lemma incl_map {A B : PointedGaloisObject F} (f : A ⟶ B) : (incl F).map f = f.val :=
118
135
rfl
119
136
137
+ end General
138
+
139
+ section Specialized
140
+
141
+ variable (F : C ⥤ FintypeCat.{u₂})
142
+
120
143
/-- `F ⋙ FintypeCat.incl` as a cocone over `(can F).op ⋙ coyoneda`.
121
144
This is a colimit cocone (see `PreGaloisCategory.isColimìt`) -/
122
145
def cocone : Cocone ((incl F).op ⋙ coyoneda) where
@@ -172,10 +195,16 @@ noncomputable def isColimit : IsColimit (cocone F) := by
172
195
instance : HasColimit ((incl F).op ⋙ coyoneda) where
173
196
exists_colimit := ⟨cocone F, isColimit F⟩
174
197
198
+ end Specialized
199
+
175
200
end PointedGaloisObject
176
201
177
202
open PointedGaloisObject
178
203
204
+ section Specialized
205
+
206
+ variable (F : C ⥤ FintypeCat.{u₂})
207
+
179
208
/-- The diagram sending each pointed Galois object to its automorphism group
180
209
as an object of `C`. -/
181
210
@[simps]
@@ -393,8 +422,9 @@ theorem FiberFunctor.isPretransitive_of_isGalois (X : C) [IsGalois X] :
393
422
use (autMulEquivAutGalois F).symm ⟨a⟩
394
423
simpa [mulAction_def, ha]
395
424
396
- /-- The `Aut F` action on the fiber of a connected object is transitive. -/
397
- instance FiberFunctor.isPretransitive_of_isConnected (X : C) [IsConnected X] :
425
+ /-- The `Aut F` action on the fiber of a connected object is transitive. For a version
426
+ with less restrictive universe assumptions, see `FiberFunctor.isPretransitive_of_isConnected`. -/
427
+ private instance FiberFunctor.isPretransitive_of_isConnected' (X : C) [IsConnected X] :
398
428
MulAction.IsPretransitive (Aut F) (F.obj X) := by
399
429
obtain ⟨A, f, hgal⟩ := exists_hom_from_galois_of_connected F X
400
430
have hs : Function.Surjective (F.map f) := surjective_of_nonempty_fiber_of_isConnected F f
@@ -408,6 +438,39 @@ instance FiberFunctor.isPretransitive_of_isConnected (X : C) [IsConnected X] :
408
438
show (F.map f ≫ σ.hom.app X) a = F.map f b
409
439
rw [σ.hom.naturality, FintypeCat.comp_apply, hσ]
410
440
441
+ end Specialized
442
+
443
+ section General
444
+
445
+ variable (F : C ⥤ FintypeCat.{w}) [FiberFunctor F]
446
+
447
+ /-- The `Aut F` action on the fiber of a connected object is transitive. -/
448
+ instance FiberFunctor.isPretransitive_of_isConnected (X : C) [IsConnected X] :
449
+ MulAction.IsPretransitive (Aut F) (F.obj X) where
450
+ exists_smul_eq x y := by
451
+ let F' : C ⥤ FintypeCat.{u₂} := F ⋙ FintypeCat.uSwitch.{w, u₂}
452
+ letI : FiberFunctor F' := FiberFunctor.compRight _
453
+ let e (Y : C) : F'.obj Y ≃ F.obj Y := (F.obj Y).uSwitchEquiv
454
+ set x' : F'.obj X := (e X).symm x with hx'
455
+ set y' : F'.obj X := (e X).symm y with hy'
456
+ obtain ⟨g', (hg' : g'.hom.app X x' = y')⟩ := MulAction.exists_smul_eq (Aut F') x' y'
457
+ let gapp (Y : C) : F.obj Y ≅ F.obj Y := FintypeCat.equivEquivIso <|
458
+ (e Y).symm.trans <| (FintypeCat.equivEquivIso.symm (g'.app Y)).trans (e Y)
459
+ let g : F ≅ F := NatIso.ofComponents gapp <| fun {X Y} f ↦ by
460
+ ext x
461
+ simp only [FintypeCat.comp_apply, FintypeCat.equivEquivIso_apply_hom,
462
+ Equiv.trans_apply, FintypeCat.equivEquivIso_symm_apply_apply, Iso.app_hom, gapp, e]
463
+ erw [FintypeCat.uSwitchEquiv_naturality (F.map f)]
464
+ rw [← Functor.comp_map, ← FunctorToFintypeCat.naturality]
465
+ simp only [comp_obj, Functor.comp_map, F']
466
+ rw [FintypeCat.uSwitchEquiv_symm_naturality (F.map f)]
467
+ refine ⟨g, show (gapp X).hom x = y from ?_⟩
468
+ simp only [FintypeCat.equivEquivIso_apply_hom, Equiv.trans_apply,
469
+ FintypeCat.equivEquivIso_symm_apply_apply, Iso.app_hom, gapp]
470
+ rw [← hx', hg', hy', Equiv.apply_symm_apply]
471
+
472
+ end General
473
+
411
474
end PreGaloisCategory
412
475
413
476
end CategoryTheory
0 commit comments