Skip to content

Commit 461e6ea

Browse files
author
mathlib4-bot
committed
Merge remote-tracking branch 'upstream/master' into bump/v4.27.0
2 parents 038d095 + 43dc3a9 commit 461e6ea

File tree

19 files changed

+31
-37
lines changed

19 files changed

+31
-37
lines changed

Mathlib/Algebra/Homology/ShortComplex/Exact.lean

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -576,11 +576,7 @@ noncomputable def rightHomologyData [HasZeroObject C] (s : S.Splitting) :
576576
(fun x hx => by simp only [s.g_s_assoc, sub_comp, id_comp, sub_eq_self, assoc, hx, comp_zero])
577577
(fun x _ b hb => by simp only [← hb, s.s_g_assoc])
578578
let g' := hp.desc (CokernelCofork.ofπ S.g S.zero)
579-
have hg' : g' = 𝟙 _ := by
580-
apply Cofork.IsColimit.hom_ext hp
581-
dsimp
582-
erw [Cofork.IsColimit.π_desc hp]
583-
simp only [Cofork.π_ofπ, comp_id]
579+
have hg' : g' = 𝟙 _ := by simp [g']
584580
have wι : (0 : 0 ⟶ S.X₃) ≫ g' = 0 := zero_comp
585581
have hι : IsLimit (KernelFork.ofι 0 wι) := KernelFork.IsLimit.ofMonoOfIsZero _
586582
(by rw [hg']; dsimp; infer_instance) (isZero_zero _)

Mathlib/Algebra/Polynomial/AlgebraMap.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -476,12 +476,12 @@ theorem map_aeval_eq_aeval_map {S T U : Type*} [Semiring S] [CommSemiring T] [Se
476476
[Algebra R S] [Algebra T U] {φ : R →+* T} {ψ : S →+* U}
477477
(h : (algebraMap T U).comp φ = ψ.comp (algebraMap R S)) (p : R[X]) (a : S) :
478478
ψ (aeval a p) = aeval (ψ a) (p.map φ) := by
479-
conv_rhs => rw [aeval_def, ← eval_map]
479+
conv_rhs => rw [← eval_map_algebraMap]
480480
rw [map_map, h, ← map_map, eval_map, eval₂_at_apply, aeval_def, eval_map]
481481

482482
theorem aeval_eq_zero_of_dvd_aeval_eq_zero [CommSemiring S] [CommSemiring T] [Algebra S T]
483483
{p q : S[X]} (h₁ : p ∣ q) {a : T} (h₂ : aeval a p = 0) : aeval a q = 0 := by
484-
rw [aeval_def, ← eval_map] at h₂ ⊢
484+
rw [← eval_map_algebraMap] at h₂ ⊢
485485
exact eval_eq_zero_of_dvd_of_eval_eq_zero (Polynomial.map_dvd (algebraMap S T) h₁) h₂
486486

487487
section Semiring

Mathlib/AlgebraicGeometry/Gluing.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ theorem ι_glueMorphisms (𝒰 : OpenCover.{v} X) {Y : Scheme} (f : ∀ x, 𝒰.
453453
PreZeroHypercover.pullback₁_X, ulift_X, ulift_f, PreZeroHypercover.pullback₁_f]
454454
simp_rw [pullback.condition_assoc, ← ulift_f, ← ι_fromGlued, Category.assoc, glueMorphisms,
455455
IsIso.hom_inv_id_assoc, ulift_f, hf]
456-
erw [Multicoequalizer.π_desc]
456+
simp [CategoryTheory.GlueData.ι]
457457

458458
end Cover
459459

Mathlib/AlgebraicTopology/DoldKan/GammaCompN.lean

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,8 @@ def N₁Γ₀ : Γ₀ ⋙ N₁ ≅ toKaroubi (ChainComplex C ℕ) :=
7878
theorem N₁Γ₀_app (K : ChainComplex C ℕ) :
7979
N₁Γ₀.app K = (Γ₀.splitting K).toKaroubiNondegComplexIsoN₁.symm ≪≫
8080
(toKaroubi _).mapIso (Γ₀NondegComplexIso K) := by
81-
ext1
82-
dsimp [N₁Γ₀]
83-
erw [id_comp, comp_id, comp_id]
84-
rfl
81+
ext
82+
simp [N₁Γ₀, Γ₀'CompNondegComplexFunctor]
8583

8684
theorem N₁Γ₀_hom_app (K : ChainComplex C ℕ) :
8785
N₁Γ₀.hom.app K = (Γ₀.splitting K).toKaroubiNondegComplexIsoN₁.inv ≫

Mathlib/Analysis/Complex/Polynomial/UnitTrinomial.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ theorem irreducible_of_coprime' (hp : IsUnitTrinomial p)
3737
rw [natDegree_pos_iff_degree_pos] at hq''
3838
rw [← degree_map_eq_of_injective (algebraMap ℤ ℂ).injective_int] at hq''
3939
obtain ⟨z, hz⟩ := Complex.exists_root hq''
40-
rw [IsRoot, eval_map, ← aeval_def] at hz
40+
rw [IsRoot, eval_map_algebraMap] at hz
4141
refine h z ⟨?_, ?_⟩
4242
· obtain ⟨g', hg'⟩ := hq
4343
rw [hg', aeval_mul, hz, zero_mul]

Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ theorem adjoin_minpoly_coeff_of_exists_primitive_element
486486
apply minpoly.dvd
487487
rw [aeval_def, eval₂_eq_eval_map]
488488
erw [g.map_toSubring K'.toSubring]
489-
rw [eval_map, ← aeval_def]
489+
rw [eval_map_algebraMap]
490490
exact minpoly.aeval K α
491491
have finrank_eq : ∀ K : IntermediateField F E, finrank K E = natDegree (minpoly K α) := by
492492
intro K

Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ theorem isIntegrallyClosed_dvd_iff {s : S} (hs : IsIntegral R s) (p : R[X]) :
9191
Polynomial.aeval s p = 0 ↔ minpoly R s ∣ p :=
9292
fun hp => isIntegrallyClosed_dvd hs hp, fun hp => by
9393
simpa only [RingHom.mem_ker, RingHom.coe_comp, coe_evalRingHom, coe_mapRingHom,
94-
Function.comp_apply, eval_map, ← aeval_def] using
94+
Function.comp_apply, eval_map_algebraMap] using
9595
aeval_eq_zero_of_dvd_aeval_eq_zero hp (minpoly.aeval R s)⟩
9696

9797
theorem ker_eval {s : S} (hs : IsIntegral R s) :

Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ noncomputable def minpolyDiv : S[X] := (minpoly R x).map (algebraMap R S) /ₘ (
3535
lemma minpolyDiv_spec :
3636
minpolyDiv R x * (X - C x) = (minpoly R x).map (algebraMap R S) := by
3737
delta minpolyDiv
38-
rw [mul_comm, mul_divByMonic_eq_iff_isRoot, IsRoot, eval_map, ← aeval_def, minpoly.aeval]
38+
rw [mul_comm, mul_divByMonic_eq_iff_isRoot, IsRoot, eval_map_algebraMap, minpoly.aeval]
3939

4040
lemma coeff_minpolyDiv (i) : coeff (minpolyDiv R x) i =
4141
algebraMap R S (coeff (minpoly R x) (i + 1)) + coeff (minpolyDiv R x) (i + 1) * x := by
@@ -48,11 +48,11 @@ lemma minpolyDiv_eq_zero (hx : ¬IsIntegral R x) : minpolyDiv R x = 0 := by
4848
rw [dif_neg hx, Polynomial.map_zero, zero_divByMonic]
4949

5050
lemma eval_minpolyDiv_self : (minpolyDiv R x).eval x = aeval x (derivative <| minpoly R x) := by
51-
rw [aeval_def, ← eval_map, ← derivative_map, ← minpolyDiv_spec R x]; simp
51+
rw [← eval_map_algebraMap, ← derivative_map, ← minpolyDiv_spec R x]; simp
5252

5353
lemma minpolyDiv_eval_eq_zero_of_ne_of_aeval_eq_zero [IsDomain S]
5454
{y} (hxy : y ≠ x) (hy : aeval y (minpoly R x) = 0) : (minpolyDiv R x).eval y = 0 := by
55-
rw [aeval_def, ← eval_map, ← minpolyDiv_spec R x] at hy
55+
rw [← eval_map_algebraMap, ← minpolyDiv_spec R x] at hy
5656
simp only [eval_mul, eval_sub, eval_X, eval_C, mul_eq_zero] at hy
5757
exact hy.resolve_right (by rwa [sub_eq_zero])
5858

@@ -72,7 +72,7 @@ lemma eval₂_minpolyDiv_self {T} [CommRing T] [Algebra R T] [IsDomain T] [Decid
7272
if σ₁ x = σ₂ x then σ₁ (aeval x (derivative <| minpoly R x)) else 0 := by
7373
apply eval₂_minpolyDiv_of_eval₂_eq_zero
7474
rw [AlgHom.comp_algebraMap, ← σ₂.comp_algebraMap, ← eval₂_map, ← RingHom.coe_coe, eval₂_hom,
75-
eval_map, ← aeval_def, minpoly.aeval, map_zero]
75+
eval_map_algebraMap, minpoly.aeval, map_zero]
7676

7777
lemma eval_minpolyDiv_of_aeval_eq_zero [IsDomain S] [DecidableEq S]
7878
{y} (hy : aeval y (minpoly R x) = 0) :

Mathlib/FieldTheory/Normal/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ theorem Normal.exists_isSplittingField [h : Normal F K] [FiniteDimensional F K]
4848
mt (Polynomial.map_eq_zero <| algebraMap F K).1 <|
4949
Finset.prod_ne_zero_iff.2 fun x _ => ?_).2 ?_)
5050
· exact minpoly.ne_zero (h.isIntegral (s x))
51-
rw [IsRoot.def, eval_map, ← aeval_def, map_prod]
51+
rw [IsRoot.def, eval_map_algebraMap, map_prod]
5252
exact Finset.prod_eq_zero (Finset.mem_univ _) (minpoly.aeval _ _)
5353

5454
section NormalTower

Mathlib/FieldTheory/PolynomialGaloisGroup.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ theorem splits_in_splittingField_of_comp (hq : q.natDegree ≠ 0) :
306306
Splits.exists_eval_eq_zero (SplittingField.splits (r.comp q)) fun h =>
307307
hr' ((mul_eq_zero.mp (natDegree_comp.symm.trans (natDegree_eq_of_degree_eq_some
308308
(by rwa [degree_map] at h)))).resolve_right hq)
309-
rw [eval_map, ← aeval_def, aeval_comp] at hx
309+
rw [eval_map_algebraMap, aeval_comp] at hx
310310
have h_normal : Normal F (r.comp q).SplittingField := SplittingField.instNormal (r.comp q)
311311
have qx_int := Normal.isIntegral h_normal (aeval x q)
312312
exact (h_normal.splits _).splits_of_dvd (map_ne_zero (minpoly.ne_zero (h_normal.isIntegral _)))
@@ -369,7 +369,7 @@ theorem prime_degree_dvd_card [CharZero F] (p_irr : Irreducible p) (p_deg : p.na
369369
· exact natDegree_le_of_dvd this p_irr.ne_zero
370370
· exact natDegree_le_of_dvd key (minpoly.ne_zero hα)
371371
apply minpoly.dvd F α
372-
rw [aeval_def, ← eval_map, eval_rootOfSplits]
372+
rw [← eval_map_algebraMap, eval_rootOfSplits]
373373

374374
end Gal
375375

0 commit comments

Comments
 (0)