Skip to content

Commit 0446312

Browse files
committed
chore(AlgebraicGeometry/Pullbacks): mark v implicit_reducible (#37980)
This PR marks `AlgebraicGeometry.Scheme.Pullback.v` as `implicit_reducible`. This allows removing 21 `backward.isDefEq.respectTransparency` options.
1 parent 2ff8885 commit 0446312

File tree

1 file changed

+1
-21
lines changed

1 file changed

+1
-21
lines changed

Mathlib/AlgebraicGeometry/Pullbacks.lean

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ variable {X Y Z : Scheme.{u}} (𝒰 : OpenCover.{u} X) (f : X ⟶ Z) (g : Y ⟶
4343
variable [∀ i, HasPullback (𝒰.f i ≫ f) g]
4444

4545
/-- The intersection of `Uᵢ ×[Z] Y` and `Uⱼ ×[Z] Y` is given by (Uᵢ ×[Z] Y) ×[X] Uⱼ -/
46+
@[implicit_reducible]
4647
def v (i j : 𝒰.I₀) : Scheme :=
4748
pullback ((pullback.fst (𝒰.f i ≫ f) g) ≫ 𝒰.f i) (𝒰.f j)
4849

@@ -59,30 +60,26 @@ def t (i j : 𝒰.I₀) : v 𝒰 f g i j ⟶ v 𝒰 f g j i := by
5960
· rw [pullbackSymmetry_hom_comp_snd_assoc, pullback.condition_assoc, Category.comp_id]
6061
· rw [Category.comp_id, Category.id_comp]
6162

62-
set_option backward.isDefEq.respectTransparency false in
6363
@[simp, reassoc]
6464
theorem t_fst_fst (i j : 𝒰.I₀) : t 𝒰 f g i j ≫ pullback.fst _ _ ≫ pullback.fst _ _ =
6565
pullback.snd _ _ := by
6666
simp only [t, Category.assoc, pullbackSymmetry_hom_comp_fst_assoc, pullbackAssoc_hom_snd_fst,
6767
pullback.lift_fst_assoc, pullbackSymmetry_hom_comp_snd, pullbackAssoc_inv_fst_fst,
6868
pullbackSymmetry_hom_comp_fst]
6969

70-
set_option backward.isDefEq.respectTransparency false in
7170
@[simp, reassoc]
7271
theorem t_fst_snd (i j : 𝒰.I₀) :
7372
t 𝒰 f g i j ≫ pullback.fst _ _ ≫ pullback.snd _ _ = pullback.fst _ _ ≫ pullback.snd _ _ := by
7473
simp only [t, Category.assoc, pullbackSymmetry_hom_comp_fst_assoc, pullbackAssoc_hom_snd_snd,
7574
pullback.lift_snd, Category.comp_id, pullbackAssoc_inv_snd, pullbackSymmetry_hom_comp_snd_assoc]
7675

77-
set_option backward.isDefEq.respectTransparency false in
7876
@[simp, reassoc]
7977
theorem t_snd (i j : 𝒰.I₀) : t 𝒰 f g i j ≫ pullback.snd _ _ =
8078
pullback.fst _ _ ≫ pullback.fst _ _ := by
8179
simp only [t, Category.assoc, pullbackSymmetry_hom_comp_snd, pullbackAssoc_hom_fst,
8280
pullback.lift_fst_assoc, pullbackSymmetry_hom_comp_fst, pullbackAssoc_inv_fst_snd,
8381
pullbackSymmetry_hom_comp_snd_assoc]
8482

85-
set_option backward.isDefEq.respectTransparency false in
8683
theorem t_id (i : 𝒰.I₀) : t 𝒰 f g i i = 𝟙 _ := by
8784
apply pullback.hom_ext <;> rw [Category.id_comp]
8885
· apply pullback.hom_ext
@@ -94,7 +91,6 @@ theorem t_id (i : 𝒰.I₀) : t 𝒰 f g i i = 𝟙 _ := by
9491
abbrev fV (i j : 𝒰.I₀) : v 𝒰 f g i j ⟶ pullback (𝒰.f i ≫ f) g :=
9592
pullback.fst _ _
9693

97-
set_option backward.isDefEq.respectTransparency false in
9894
/-- The map `((Xᵢ ×[Z] Y) ×[X] Xⱼ) ×[Xᵢ ×[Z] Y] ((Xᵢ ×[Z] Y) ×[X] Xₖ)` ⟶
9995
`((Xⱼ ×[Z] Y) ×[X] Xₖ) ×[Xⱼ ×[Z] Y] ((Xⱼ ×[Z] Y) ×[X] Xᵢ)` needed for gluing -/
10096
def t' (i j k : 𝒰.I₀) :
@@ -106,7 +102,6 @@ def t' (i j k : 𝒰.I₀) :
106102
· simp_rw [Category.comp_id, t_fst_fst_assoc, ← pullback.condition]
107103
· rw [Category.comp_id, Category.id_comp]
108104

109-
set_option backward.isDefEq.respectTransparency false in
110105
@[simp, reassoc]
111106
theorem t'_fst_fst_fst (i j k : 𝒰.I₀) :
112107
t' 𝒰 f g i j k ≫ pullback.fst _ _ ≫ pullback.fst _ _ ≫ pullback.fst _ _ =
@@ -115,7 +110,6 @@ theorem t'_fst_fst_fst (i j k : 𝒰.I₀) :
115110
pullbackRightPullbackFstIso_inv_snd_fst_assoc, pullback.lift_fst_assoc, t_fst_fst,
116111
pullbackRightPullbackFstIso_hom_fst_assoc]
117112

118-
set_option backward.isDefEq.respectTransparency false in
119113
@[simp, reassoc]
120114
theorem t'_fst_fst_snd (i j k : 𝒰.I₀) :
121115
t' 𝒰 f g i j k ≫ pullback.fst _ _ ≫ pullback.fst _ _ ≫ pullback.snd _ _ =
@@ -124,7 +118,6 @@ theorem t'_fst_fst_snd (i j k : 𝒰.I₀) :
124118
pullbackRightPullbackFstIso_inv_snd_fst_assoc, pullback.lift_fst_assoc, t_fst_snd,
125119
pullbackRightPullbackFstIso_hom_fst_assoc]
126120

127-
set_option backward.isDefEq.respectTransparency false in
128121
@[simp, reassoc]
129122
theorem t'_fst_snd (i j k : 𝒰.I₀) :
130123
t' 𝒰 f g i j k ≫ pullback.fst _ _ ≫ pullback.snd _ _ =
@@ -133,7 +126,6 @@ theorem t'_fst_snd (i j k : 𝒰.I₀) :
133126
pullbackRightPullbackFstIso_inv_snd_snd, pullback.lift_snd, Category.comp_id,
134127
pullbackRightPullbackFstIso_hom_snd]
135128

136-
set_option backward.isDefEq.respectTransparency false in
137129
@[simp, reassoc]
138130
theorem t'_snd_fst_fst (i j k : 𝒰.I₀) :
139131
t' 𝒰 f g i j k ≫ pullback.snd _ _ ≫ pullback.fst _ _ ≫ pullback.fst _ _ =
@@ -142,7 +134,6 @@ theorem t'_snd_fst_fst (i j k : 𝒰.I₀) :
142134
pullbackRightPullbackFstIso_inv_fst_assoc, pullback.lift_fst_assoc, t_fst_fst,
143135
pullbackRightPullbackFstIso_hom_fst_assoc]
144136

145-
set_option backward.isDefEq.respectTransparency false in
146137
@[simp, reassoc]
147138
theorem t'_snd_fst_snd (i j k : 𝒰.I₀) :
148139
t' 𝒰 f g i j k ≫ pullback.snd _ _ ≫ pullback.fst _ _ ≫ pullback.snd _ _ =
@@ -151,7 +142,6 @@ theorem t'_snd_fst_snd (i j k : 𝒰.I₀) :
151142
pullbackRightPullbackFstIso_inv_fst_assoc, pullback.lift_fst_assoc, t_fst_snd,
152143
pullbackRightPullbackFstIso_hom_fst_assoc]
153144

154-
set_option backward.isDefEq.respectTransparency false in
155145
@[simp, reassoc]
156146
theorem t'_snd_snd (i j k : 𝒰.I₀) :
157147
t' 𝒰 f g i j k ≫ pullback.snd _ _ ≫ pullback.snd _ _ =
@@ -160,43 +150,36 @@ theorem t'_snd_snd (i j k : 𝒰.I₀) :
160150
pullbackRightPullbackFstIso_inv_fst_assoc, pullback.lift_fst_assoc, t_snd,
161151
pullbackRightPullbackFstIso_hom_fst_assoc]
162152

163-
set_option backward.isDefEq.respectTransparency false in
164153
theorem cocycle_fst_fst_fst (i j k : 𝒰.I₀) :
165154
t' 𝒰 f g i j k ≫ t' 𝒰 f g j k i ≫ t' 𝒰 f g k i j ≫ pullback.fst _ _ ≫ pullback.fst _ _ ≫
166155
pullback.fst _ _ = pullback.fst _ _ ≫ pullback.fst _ _ ≫ pullback.fst _ _ := by
167156
simp only [t'_fst_fst_fst, t'_fst_snd, t'_snd_snd]
168157

169-
set_option backward.isDefEq.respectTransparency false in
170158
theorem cocycle_fst_fst_snd (i j k : 𝒰.I₀) :
171159
t' 𝒰 f g i j k ≫ t' 𝒰 f g j k i ≫ t' 𝒰 f g k i j ≫ pullback.fst _ _ ≫ pullback.fst _ _ ≫
172160
pullback.snd _ _ = pullback.fst _ _ ≫ pullback.fst _ _ ≫ pullback.snd _ _ := by
173161
simp only [t'_fst_fst_snd]
174162

175-
set_option backward.isDefEq.respectTransparency false in
176163
theorem cocycle_fst_snd (i j k : 𝒰.I₀) :
177164
t' 𝒰 f g i j k ≫ t' 𝒰 f g j k i ≫ t' 𝒰 f g k i j ≫ pullback.fst _ _ ≫ pullback.snd _ _ =
178165
pullback.fst _ _ ≫ pullback.snd _ _ := by
179166
simp only [t'_fst_snd, t'_snd_snd, t'_fst_fst_fst]
180167

181-
set_option backward.isDefEq.respectTransparency false in
182168
theorem cocycle_snd_fst_fst (i j k : 𝒰.I₀) :
183169
t' 𝒰 f g i j k ≫ t' 𝒰 f g j k i ≫ t' 𝒰 f g k i j ≫ pullback.snd _ _ ≫ pullback.fst _ _ ≫
184170
pullback.fst _ _ = pullback.snd _ _ ≫ pullback.fst _ _ ≫ pullback.fst _ _ := by
185171
simp only [pullback.condition_assoc, t'_snd_fst_fst, t'_fst_snd, t'_snd_snd]
186172

187-
set_option backward.isDefEq.respectTransparency false in
188173
theorem cocycle_snd_fst_snd (i j k : 𝒰.I₀) :
189174
t' 𝒰 f g i j k ≫ t' 𝒰 f g j k i ≫ t' 𝒰 f g k i j ≫ pullback.snd _ _ ≫ pullback.fst _ _ ≫
190175
pullback.snd _ _ = pullback.snd _ _ ≫ pullback.fst _ _ ≫ pullback.snd _ _ := by
191176
simp only [pullback.condition_assoc, t'_snd_fst_snd]
192177

193-
set_option backward.isDefEq.respectTransparency false in
194178
theorem cocycle_snd_snd (i j k : 𝒰.I₀) :
195179
t' 𝒰 f g i j k ≫ t' 𝒰 f g j k i ≫ t' 𝒰 f g k i j ≫ pullback.snd _ _ ≫ pullback.snd _ _ =
196180
pullback.snd _ _ ≫ pullback.snd _ _ := by
197181
simp only [t'_snd_snd, t'_fst_fst_fst, t'_fst_snd]
198182

199-
set_option backward.isDefEq.respectTransparency false in
200183
-- `by tidy` should solve it, but it times out.
201184
theorem cocycle (i j k : 𝒰.I₀) : t' 𝒰 f g i j k ≫ t' 𝒰 f g j k i ≫ t' 𝒰 f g k i j = 𝟙 _ := by
202185
apply pullback.hom_ext <;> rw [Category.id_comp]
@@ -211,7 +194,6 @@ theorem cocycle (i j k : 𝒰.I₀) : t' 𝒰 f g i j k ≫ t' 𝒰 f g j k i
211194
· simp_rw [Category.assoc, cocycle_snd_fst_snd 𝒰 f g i j k]
212195
· simp_rw [Category.assoc, cocycle_snd_snd 𝒰 f g i j k]
213196

214-
set_option backward.isDefEq.respectTransparency false in
215197
/-- Given `Uᵢ ×[Z] Y`, this is the glued fibred product `X ×[Z] Y`. -/
216198
@[simps U V f t t', simps -isSimp J]
217199
def gluing : Scheme.GlueData.{u} where
@@ -237,13 +219,11 @@ def gluing : Scheme.GlueData.{u} where
237219
lemma gluing_ι (j : 𝒰.I₀) :
238220
(gluing 𝒰 f g).ι j = Multicoequalizer.π (gluing 𝒰 f g).diagram j := rfl
239221

240-
set_option backward.isDefEq.respectTransparency false in
241222
/-- The first projection from the glued scheme into `X`. -/
242223
def p1 : (gluing 𝒰 f g).glued ⟶ X := by
243224
apply Multicoequalizer.desc (gluing 𝒰 f g).diagram _ fun i ↦ pullback.fst _ _ ≫ 𝒰.f i
244225
simp [t_fst_fst_assoc, ← pullback.condition]
245226

246-
set_option backward.isDefEq.respectTransparency false in
247227
/-- The second projection from the glued scheme into `Y`. -/
248228
def p2 : (gluing 𝒰 f g).glued ⟶ Y := by
249229
apply Multicoequalizer.desc _ _ fun i ↦ pullback.snd _ _

0 commit comments

Comments
 (0)