Skip to content

Commit 1a11e32

Browse files
committed
Merge branch 'master' into IsBaseChange-Lemma
2 parents 05c41a9 + 2ff8885 commit 1a11e32

File tree

377 files changed

+2815
-1443
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

377 files changed

+2815
-1443
lines changed

Archive/Imo/Imo1988Q6.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ example {a b : ℕ} (h : a * b ∣ a ^ 2 + b ^ 2 + 1) : 3 * a * b = a ^ 2 + b ^
281281
apply ne_of_gt
282282
push Not at h_base
283283
calc
284-
z * y > x * y := by apply mul_lt_mul_of_pos_right <;> lia
284+
z * y > x * y := by gcongr; lia
285285
_ ≥ x * (x + 1) := by apply mul_le_mul <;> lia
286286
_ > x * x + 1 := by
287287
rw [mul_add]

Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,10 @@ theorem card_le_mul_sum {x k : ℕ} : #(U x k) ≤ x * ∑ p ∈ P x k, 1 / (p :
117117
have h : #(P.biUnion N) ≤ ∑ p ∈ P, #(N p) := card_biUnion_le
118118
calc
119119
(#(P.biUnion N) : ℝ) ≤ ∑ p ∈ P, (#(N p) : ℝ) := by assumption_mod_cast
120-
_ ≤ ∑ p ∈ P, x * (1 / (p : ℝ)) := sum_le_sum fun p _ => ?_
120+
_ ≤ ∑ p ∈ P, x * (1 / (p : ℝ)) := by
121+
gcongr with p _
122+
simp only [N, mul_one_div, Nat.card_multiples, Nat.cast_div_le]
121123
_ = x * ∑ p ∈ P, 1 / (p : ℝ) := by rw [mul_sum]
122-
simp only [N, mul_one_div, Nat.card_multiples, Nat.cast_div_le]
123124

124125
/--
125126
The number of `e < x` for which `e + 1` is a squarefree product of primes smaller than or equal to

Mathlib.lean

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1524,6 +1524,8 @@ public import Mathlib.AlgebraicTopology.SimplicialSet.Finite
15241524
public import Mathlib.AlgebraicTopology.SimplicialSet.FiniteColimits
15251525
public import Mathlib.AlgebraicTopology.SimplicialSet.FiniteProd
15261526
public import Mathlib.AlgebraicTopology.SimplicialSet.HoFunctorMonoidal
1527+
public import Mathlib.AlgebraicTopology.SimplicialSet.Homology.Basic
1528+
public import Mathlib.AlgebraicTopology.SimplicialSet.Homology.HomotopyInvariance
15271529
public import Mathlib.AlgebraicTopology.SimplicialSet.Homotopy
15281530
public import Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat
15291531
public import Mathlib.AlgebraicTopology.SimplicialSet.Horn
@@ -1556,7 +1558,6 @@ public import Mathlib.AlgebraicTopology.SimplicialSet.SubcomplexColimits
15561558
public import Mathlib.AlgebraicTopology.SimplicialSet.SubcomplexEvaluation
15571559
public import Mathlib.AlgebraicTopology.SimplicialSet.TopAdj
15581560
public import Mathlib.AlgebraicTopology.SingularHomology.Basic
1559-
public import Mathlib.AlgebraicTopology.SingularHomology.HomotopyInvariance
15601561
public import Mathlib.AlgebraicTopology.SingularHomology.HomotopyInvarianceTopCat
15611562
public import Mathlib.AlgebraicTopology.SingularSet
15621563
public import Mathlib.AlgebraicTopology.TopologicalSimplex
@@ -3087,6 +3088,7 @@ public import Mathlib.CategoryTheory.NatTrans
30873088
public import Mathlib.CategoryTheory.Noetherian
30883089
public import Mathlib.CategoryTheory.ObjectProperty.Basic
30893090
public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms
3091+
public import Mathlib.CategoryTheory.ObjectProperty.ClosureShift
30903092
public import Mathlib.CategoryTheory.ObjectProperty.ColimitsCardinalClosure
30913093
public import Mathlib.CategoryTheory.ObjectProperty.ColimitsClosure
30923094
public import Mathlib.CategoryTheory.ObjectProperty.ColimitsOfShape
@@ -3352,6 +3354,7 @@ public import Mathlib.CategoryTheory.Topos.Sheaf
33523354
public import Mathlib.CategoryTheory.Triangulated.Adjunction
33533355
public import Mathlib.CategoryTheory.Triangulated.Basic
33543356
public import Mathlib.CategoryTheory.Triangulated.Functor
3357+
public import Mathlib.CategoryTheory.Triangulated.Generators
33553358
public import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor
33563359
public import Mathlib.CategoryTheory.Triangulated.Opposite.Basic
33573360
public import Mathlib.CategoryTheory.Triangulated.Opposite.Functor
@@ -4354,6 +4357,7 @@ public import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic
43544357
public import Mathlib.FieldTheory.IntermediateField.Adjoin.Defs
43554358
public import Mathlib.FieldTheory.IntermediateField.Algebraic
43564359
public import Mathlib.FieldTheory.IntermediateField.Basic
4360+
public import Mathlib.FieldTheory.IntermediateField.ExtendRight
43574361
public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure
43584362
public import Mathlib.FieldTheory.IsAlgClosed.Basic
43594363
public import Mathlib.FieldTheory.IsAlgClosed.Classification
@@ -5624,6 +5628,8 @@ public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.PolarCoord
56245628
public import Mathlib.NumberTheory.NumberField.ClassNumber
56255629
public import Mathlib.NumberTheory.NumberField.Completion.FinitePlace
56265630
public import Mathlib.NumberTheory.NumberField.Completion.InfinitePlace
5631+
public import Mathlib.NumberTheory.NumberField.Completion.LiesOverInstances
5632+
public import Mathlib.NumberTheory.NumberField.Completion.Ramification
56275633
public import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic
56285634
public import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings
56295635
public import Mathlib.NumberTheory.NumberField.Cyclotomic.Galois

Mathlib/Algebra/Algebra/Equiv.lean

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ This is declared as the default coercion from `F` to `A ≃ₐ[R] B`. -/
6767
@[coe]
6868
def toAlgEquiv {F R A B : Type*} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A]
6969
[Algebra R B] [EquivLike F A B] [AlgEquivClass F R A B] (f : F) : A ≃ₐ[R] B :=
70-
{ (f : A ≃ B), (f : A ≃+* B) with commutes' := commutes f }
70+
{ (f : A ≃ B), (RingEquivClass.toRingEquiv f : A ≃+* B) with commutes' := commutes f }
7171

7272
end AlgEquivClass
7373

@@ -140,22 +140,21 @@ protected theorem coe_coe {F : Type*} [EquivLike F A₁ A₂] [AlgEquivClass F R
140140
theorem coe_fun_injective : @Function.Injective (A₁ ≃ₐ[R] A₂) (A₁ → A₂) fun e => (e : A₁ → A₂) :=
141141
DFunLike.coe_injective
142142

143-
instance hasCoeToRingEquiv : CoeOut (A₁ ≃ₐ[R] A₂) (A₁ ≃+* A₂) :=
144-
⟨AlgEquiv.toRingEquiv⟩
143+
instance : CoeOut (A₁ ≃ₐ[R] A₂) (A₁ ≃+* A₂) where coe := AlgEquiv.toRingEquiv
145144

146145
@[simp]
147146
theorem coe_toEquiv : ((e : A₁ ≃ A₂) : A₁ → A₂) = e :=
148147
rfl
149148

150-
@[simp]
149+
@[deprecated "Now a syntactic equality" (since := "2026-04-09"), nolint synTaut]
151150
theorem toRingEquiv_eq_coe : e.toRingEquiv = e :=
152151
rfl
153152

154-
@[simp, norm_cast]
153+
@[simp]
155154
lemma toRingEquiv_toRingHom : ((e : A₁ ≃+* A₂) : A₁ →+* A₂) = e :=
156155
rfl
157156

158-
@[simp, norm_cast]
157+
@[simp]
159158
theorem coe_ringEquiv : ((e : A₁ ≃+* A₂) : A₁ → A₂) = e :=
160159
rfl
161160

Mathlib/Algebra/Algebra/Hom.lean

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@ instance algHomClass : AlgHomClass (A →ₐ[R] B) R A B where
107107
map_one f := f.map_one'
108108
commutes f := f.commutes'
109109

110+
lemma _root_.Algebra.algHom_apply (R A B : Type*) [CommSemiring R] [CommSemiring A] [Semiring B]
111+
[Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B] (x : A) :
112+
Algebra.algHom R A B x = algebraMap A B x := rfl
113+
110114
@[simp] lemma _root_.AlgHomClass.toLinearMap_toAlgHom {R A B F : Type*} [CommSemiring R]
111115
[Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [FunLike F A B] [AlgHomClass F R A B]
112116
(f : F) : (AlgHomClass.toAlgHom f : A →ₗ[R] B) = f := rfl

Mathlib/Algebra/Algebra/Operations.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -904,7 +904,7 @@ theorem restrictScalars_image_smul_eq {S M : Type*}
904904
(algebraMap S R '' s • N).restrictScalars S = s • N.restrictScalars S := by
905905
refine le_antisymm (fun x x_in ↦ ?_) (set_smul_le _ _ _ fun r x r_in x_in ↦ ?_)
906906
· rw [restrictScalars_mem] at x_in
907-
refine set_smul_inductionOn x x_in ?_ ?_ (fun _ _ _ _ h h' ↦ add_mem h h') (zero_mem _)
907+
refine set_smul_inductionOn x x_in ?_ ?_ (fun _ _ _ _ h h' ↦ add_mem h h') (zero_mem _)
908908
· rintro _ x ⟨r, r_in, rfl⟩ x_in
909909
rw [algebraMap_smul]
910910
exact mem_set_smul_of_mem_mem r_in x_in

Mathlib/Algebra/Algebra/Tower.lean

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,12 +266,14 @@ variable {R}
266266

267267
/-- Any `f : A ≃ₐ[R] B` is also an `R ⧸ I`-algebra isomorphism if the `R`-algebra structure on
268268
`A` and `B` factors via `R ⧸ I`. -/
269-
@[simps! apply]
270269
def extendScalarsOfSurjective (h : Function.Surjective (algebraMap R S))
271270
(f : A ≃ₐ[R] B) : A ≃ₐ[S] B where
272271
toRingEquiv := f
273272
commutes' := (f.toAlgHom.extendScalarsOfSurjective h).commutes'
274273

274+
@[simp] lemma coe_extendScalarsOfSurjective (h : Function.Surjective (algebraMap R S))
275+
(f : A ≃ₐ[R] B) : ⇑(extendScalarsOfSurjective h f) = f := rfl
276+
275277
@[simp]
276278
lemma restrictScalars_extendScalarsOfSurjective (h : Function.Surjective (algebraMap R S))
277279
(f : A ≃ₐ[R] B) :

Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ noncomputable def homEquiv {N : ModuleCat.{w} cR.pt} :
252252
rw [hφ]
253253
erw [toPresheaf_map_app_apply]
254254
rw [map_smul]
255-
rfl}
255+
rfl }
256256
left_inv φ := (forget₂ _ AddCommGrpCat).map_injective (by
257257
ext : 1
258258
exact (homEquiv' hcR hcM).left_inv ((forget₂ _ AddCommGrpCat).map φ).hom)

Mathlib/Algebra/Category/Ring/Under/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ variable (S) in
143143
def tensorProdObjIsoPushoutObj (A : Under R) :
144144
mkUnder S (S ⊗[R] A) ≅ (Under.pushout (ofHom <| algebraMap R S)).obj A :=
145145
Under.isoMk (CommRingCat.isPushout_tensorProduct R S A).flip.isoPushout <| by
146-
simp only [Functor.const_obj_obj, Under.pushout_obj, Functor.id_obj, Under.mk_right,
146+
simp only [Under.pushout_obj, Under.mk_right,
147147
mkUnder_hom, AlgHom.toRingHom_eq_coe, IsPushout.inr_isoPushout_hom, Under.mk_hom]
148148
rfl
149149

Mathlib/Algebra/Group/Indicator.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ section One
203203
lemma mulSupport_subset_subsingleton_of_disjoint_on_mulSupport [One β] {s : γ → Set α} (f : α → β)
204204
(hs : Pairwise (Disjoint on (fun j ↦ s j ∩ f.mulSupport))) (i : α) (j : γ) (hj : i ∈ s j) :
205205
(fun d ↦ (s d).mulIndicator f i).mulSupport ⊆ {j} := by
206-
suffices ∀ j', j' ≠ j → {i} ⊆ s j → {i} ⊆ s j' → {i} ⊆ mulSupport f → False by by_contra; aesop
206+
suffices ∀ j', j' ≠ j → {i} ⊆ s j → {i} ⊆ s j' → {i} ⊆ mulSupport f → False by by_contra; aesop
207207
intro j' h hj hj' hi
208208
simp only [Pairwise, Disjoint, Set.le_eq_subset, Set.subset_inter_iff] at hs
209209
simpa using hs h ⟨hj', hi⟩ ⟨hj, hi⟩

0 commit comments

Comments
 (0)