Skip to content

Commit c3f8e83

Browse files
committed
Merge remote-tracking branch 'origin/master' into bump/v4.31.0
2 parents 2e8dc8c + 43a9b84 commit c3f8e83

208 files changed

Lines changed: 4536 additions & 936 deletions

File tree

Some content is hidden

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

Archive/Sensitivity.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ set_option backward.isDefEq.respectTransparency false in
329329
theorem g_injective : Injective (g m) := by
330330
rw [g]
331331
intro x₁ x₂ h
332-
simp only [V, LinearMap.prod_apply, LinearMap.id_apply, Prod.mk_inj, Pi.prod] at h
332+
simp only [V, LinearMap.prod_apply, LinearMap.id_apply, Prod.mk_inj, Function.prod_apply] at h
333333
exact h.right
334334

335335
set_option backward.isDefEq.respectTransparency false in

Mathlib.lean

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,7 @@ public import Mathlib.Algebra.Homology.HomotopyCategory.SingleFunctors
643643
public import Mathlib.Algebra.Homology.HomotopyCategory.SpectralObject
644644
public import Mathlib.Algebra.Homology.HomotopyCategory.Triangulated
645645
public import Mathlib.Algebra.Homology.HomotopyCofiber
646+
public import Mathlib.Algebra.Homology.HomotopyFiber
646647
public import Mathlib.Algebra.Homology.ImageToKernel
647648
public import Mathlib.Algebra.Homology.LeftResolution.Basic
648649
public import Mathlib.Algebra.Homology.LeftResolution.Reduced
@@ -1379,6 +1380,7 @@ public import Mathlib.AlgebraicGeometry.Morphisms.FiniteType
13791380
public import Mathlib.AlgebraicGeometry.Morphisms.Flat
13801381
public import Mathlib.AlgebraicGeometry.Morphisms.FlatDescent
13811382
public import Mathlib.AlgebraicGeometry.Morphisms.FlatMono
1383+
public import Mathlib.AlgebraicGeometry.Morphisms.FlatRank
13821384
public import Mathlib.AlgebraicGeometry.Morphisms.FormallyUnramified
13831385
public import Mathlib.AlgebraicGeometry.Morphisms.Immersion
13841386
public import Mathlib.AlgebraicGeometry.Morphisms.Integral
@@ -1493,6 +1495,7 @@ public import Mathlib.AlgebraicTopology.ModelCategory.RightHomotopy
14931495
public import Mathlib.AlgebraicTopology.ModelCategory.Transport
14941496
public import Mathlib.AlgebraicTopology.MooreComplex
14951497
public import Mathlib.AlgebraicTopology.Quasicategory.Basic
1498+
public import Mathlib.AlgebraicTopology.Quasicategory.InnerFibration
14961499
public import Mathlib.AlgebraicTopology.Quasicategory.Nerve
14971500
public import Mathlib.AlgebraicTopology.Quasicategory.StrictBicategory
14981501
public import Mathlib.AlgebraicTopology.Quasicategory.StrictSegal
@@ -1519,11 +1522,13 @@ public import Mathlib.AlgebraicTopology.SimplicialNerve
15191522
public import Mathlib.AlgebraicTopology.SimplicialObject.Basic
15201523
public import Mathlib.AlgebraicTopology.SimplicialObject.ChainHomotopy
15211524
public import Mathlib.AlgebraicTopology.SimplicialObject.Coskeletal
1525+
public import Mathlib.AlgebraicTopology.SimplicialObject.DeltaZeroIter
15221526
public import Mathlib.AlgebraicTopology.SimplicialObject.Homotopy
15231527
public import Mathlib.AlgebraicTopology.SimplicialObject.II
15241528
public import Mathlib.AlgebraicTopology.SimplicialObject.Op
15251529
public import Mathlib.AlgebraicTopology.SimplicialObject.Split
15261530
public import Mathlib.AlgebraicTopology.SimplicialSet.AnodyneExtensions.Basic
1531+
public import Mathlib.AlgebraicTopology.SimplicialSet.AnodyneExtensions.Inner.Basic
15271532
public import Mathlib.AlgebraicTopology.SimplicialSet.AnodyneExtensions.IsUniquelyCodimOneFace
15281533
public import Mathlib.AlgebraicTopology.SimplicialSet.AnodyneExtensions.Op
15291534
public import Mathlib.AlgebraicTopology.SimplicialSet.AnodyneExtensions.Pairing
@@ -1862,6 +1867,7 @@ public import Mathlib.Analysis.Complex.UpperHalfPlane.Metric
18621867
public import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction
18631868
public import Mathlib.Analysis.Complex.UpperHalfPlane.ProperAction
18641869
public import Mathlib.Analysis.Complex.UpperHalfPlane.Topology
1870+
public import Mathlib.Analysis.Complex.ValueDistribution.Cartan
18651871
public import Mathlib.Analysis.Complex.ValueDistribution.CharacteristicFunction
18661872
public import Mathlib.Analysis.Complex.ValueDistribution.FirstMainTheorem
18671873
public import Mathlib.Analysis.Complex.ValueDistribution.LogCounting.Asymptotic
@@ -2718,6 +2724,7 @@ public import Mathlib.CategoryTheory.Groupoid.Grpd.Basic
27182724
public import Mathlib.CategoryTheory.Groupoid.Subgroupoid
27192725
public import Mathlib.CategoryTheory.Groupoid.VertexGroup
27202726
public import Mathlib.CategoryTheory.GuitartExact.Basic
2727+
public import Mathlib.CategoryTheory.GuitartExact.HorizontalComposition
27212728
public import Mathlib.CategoryTheory.GuitartExact.KanExtension
27222729
public import Mathlib.CategoryTheory.GuitartExact.Opposite
27232730
public import Mathlib.CategoryTheory.GuitartExact.Over
@@ -3037,6 +3044,7 @@ public import Mathlib.CategoryTheory.Monoidal.Cartesian.Mon
30373044
public import Mathlib.CategoryTheory.Monoidal.Cartesian.Mon_
30383045
public import Mathlib.CategoryTheory.Monoidal.Cartesian.Normal
30393046
public import Mathlib.CategoryTheory.Monoidal.Cartesian.Over
3047+
public import Mathlib.CategoryTheory.Monoidal.Cartesian.Ring
30403048
public import Mathlib.CategoryTheory.Monoidal.Cartesian.ShrinkYoneda
30413049
public import Mathlib.CategoryTheory.Monoidal.Category
30423050
public import Mathlib.CategoryTheory.Monoidal.Center
@@ -5673,7 +5681,6 @@ public import Mathlib.NumberTheory.ModularForms.Cusps
56735681
public import Mathlib.NumberTheory.ModularForms.DedekindEta
56745682
public import Mathlib.NumberTheory.ModularForms.Delta
56755683
public import Mathlib.NumberTheory.ModularForms.Derivative
5676-
public import Mathlib.NumberTheory.ModularForms.DimensionFormulas.LevelOne
56775684
public import Mathlib.NumberTheory.ModularForms.Discriminant
56785685
public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Basic
56795686
public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Defs
@@ -5691,7 +5698,9 @@ public import Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds
56915698
public import Mathlib.NumberTheory.ModularForms.JacobiTheta.Manifold
56925699
public import Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable
56935700
public import Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable
5694-
public import Mathlib.NumberTheory.ModularForms.LevelOne
5701+
public import Mathlib.NumberTheory.ModularForms.LevelOne.Basic
5702+
public import Mathlib.NumberTheory.ModularForms.LevelOne.DimensionFormula
5703+
public import Mathlib.NumberTheory.ModularForms.LevelOne.GradedRing
56955704
public import Mathlib.NumberTheory.ModularForms.NormTrace
56965705
public import Mathlib.NumberTheory.ModularForms.Petersson
56975706
public import Mathlib.NumberTheory.ModularForms.ProperlyDiscontinuous
@@ -6569,6 +6578,7 @@ public import Mathlib.RingTheory.LaurentSeries
65696578
public import Mathlib.RingTheory.Length
65706579
public import Mathlib.RingTheory.LinearDisjoint
65716580
public import Mathlib.RingTheory.LittleWedderburn
6581+
public import Mathlib.RingTheory.LocalIso
65726582
public import Mathlib.RingTheory.LocalProperties.Basic
65736583
public import Mathlib.RingTheory.LocalProperties.Exactness
65746584
public import Mathlib.RingTheory.LocalProperties.Injective
@@ -6958,7 +6968,8 @@ public import Mathlib.RingTheory.ZariskisMainTheorem
69586968
public import Mathlib.SetTheory.Cardinal.Aleph
69596969
public import Mathlib.SetTheory.Cardinal.Arithmetic
69606970
public import Mathlib.SetTheory.Cardinal.Basic
6961-
public import Mathlib.SetTheory.Cardinal.Cofinality
6971+
public import Mathlib.SetTheory.Cardinal.Cofinality.Basic
6972+
public import Mathlib.SetTheory.Cardinal.Cofinality.Ordinal
69626973
public import Mathlib.SetTheory.Cardinal.Continuum
69636974
public import Mathlib.SetTheory.Cardinal.CountableCover
69646975
public import Mathlib.SetTheory.Cardinal.Defs
@@ -7721,6 +7732,7 @@ public import Mathlib.Topology.Instances.AddCircle.Real
77217732
public import Mathlib.Topology.Instances.CantorSet
77227733
public import Mathlib.Topology.Instances.Complex
77237734
public import Mathlib.Topology.Instances.Discrete
7735+
public import Mathlib.Topology.Instances.ENNReal.ENatENNReal
77247736
public import Mathlib.Topology.Instances.ENNReal.Lemmas
77257737
public import Mathlib.Topology.Instances.ENat
77267738
public import Mathlib.Topology.Instances.EReal.Lemmas

Mathlib/Algebra/Algebra/NonUnitalHom.lean

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -371,13 +371,13 @@ variable [DistribMulAction R C]
371371
/-- The prod of two morphisms is a morphism. -/
372372
@[simps toFun]
373373
def prod (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) : A →ₙₐ[R] B × C where
374-
toFun := Pi.prod f g
375-
map_zero' := by simp only [Pi.prod, Prod.mk_zero_zero, map_zero]
376-
map_add' x y := by simp only [Pi.prod, Prod.mk_add_mk, map_add]
377-
map_mul' x y := by simp only [Pi.prod, Prod.mk_mul_mk, map_mul]
378-
map_smul' c x := by simp only [Pi.prod, map_smul, MonoidHom.id_apply, Prod.smul_mk]
374+
toFun := Function.prod f g
375+
map_zero' := by simp only [Function.prod_apply, Prod.mk_zero_zero, map_zero]
376+
map_add' x y := by simp only [Function.prod_apply, Prod.mk_add_mk, map_add]
377+
map_mul' x y := by simp only [Function.prod_apply, Prod.mk_mul_mk, map_mul]
378+
map_smul' c x := by simp only [Function.prod_apply, map_smul, MonoidHom.id_apply, Prod.smul_mk]
379379

380-
theorem coe_prod (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) : ⇑(f.prod g) = Pi.prod f g :=
380+
theorem coe_prod (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) : ⇑(f.prod g) = Function.prod f g :=
381381
rfl
382382

383383
@[simp]
@@ -390,7 +390,7 @@ theorem snd_prod (f : A →ₙₐ[R] B) (g : A →ₙₐ[R] C) : (snd R B C).com
390390

391391
@[simp]
392392
theorem prod_fst_snd : prod (fst R A B) (snd R A B) = 1 :=
393-
coe_injective Pi.prod_fst_snd
393+
coe_injective Function.prod_fst_snd
394394

395395
/-- Taking the product of two maps with the same domain is equivalent to taking the product of
396396
their codomains. -/

Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -986,6 +986,18 @@ theorem coe_iSup_of_directed [Nonempty ι] {S : ι → NonUnitalSubalgebra R A}
986986
(iSup_le fun i ↦ le_iSup (fun i ↦ (S i : Set A)) i) (Set.iUnion_subset fun _ ↦ le_iSup S _)
987987
this.symm ▸ rfl
988988

989+
theorem isMulCommutative_iSup {ι : Sort*} [Nonempty ι] {S : ι → NonUnitalSubalgebra R A}
990+
[hS : ∀ i, IsMulCommutative (S i)] (dir : Directed (· ≤ ·) S) :
991+
IsMulCommutative (⨆ i, S i : NonUnitalSubalgebra R A) := by
992+
have := NonUnitalSubsemiring.isMulCommutative_iSup dir
993+
simpa [isMulCommutative_iff, ← SetLike.mem_coe, coe_iSup_of_directed dir,
994+
NonUnitalSubsemiring.coe_iSup_of_directed dir]
995+
996+
instance instIsMulCommutative_iSup {ι : Type*} [Nonempty ι] [Preorder ι] [IsDirectedOrder ι]
997+
{S : ι →o NonUnitalSubalgebra R A} [hS : ∀ i, IsMulCommutative (S i)] :
998+
IsMulCommutative (⨆ i, S i : NonUnitalSubalgebra R A) :=
999+
isMulCommutative_iSup S.monotone.directed_le
1000+
9891001
/-- Define an algebra homomorphism on a directed supremum of non-unital subalgebras by defining
9901002
it on each non-unital subalgebra, and proving that it agrees on the intersection of
9911003
non-unital subalgebras. -/

Mathlib/Algebra/Algebra/Prod.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,15 @@ theorem snd_apply (a) : snd R A B a = a.2 := rfl
7777

7878
variable {R}
7979

80-
/-- The `Pi.prod` of two morphisms is a morphism. -/
80+
/-- The `Function.prod` of two morphisms is a morphism. -/
8181
@[simps!]
8282
def prod (f : A →ₐ[R] B) (g : A →ₐ[R] C) : A →ₐ[R] B × C :=
8383
{ f.toRingHom.prod g.toRingHom with
8484
commutes' := fun r => by
8585
simp only [toRingHom_eq_coe, RingHom.toFun_eq_coe, RingHom.prod_apply, coe_toRingHom,
8686
commutes, Prod.algebraMap_apply] }
8787

88-
theorem coe_prod (f : A →ₐ[R] B) (g : A →ₐ[R] C) : ⇑(f.prod g) = Pi.prod f g :=
88+
theorem coe_prod (f : A →ₐ[R] B) (g : A →ₐ[R] C) : ⇑(f.prod g) = Function.prod f g :=
8989
rfl
9090

9191
@[simp]

Mathlib/Algebra/Algebra/Subalgebra/Directed.lean

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,17 @@ theorem coe_iSup_of_directed (dir : Directed (· ≤ ·) K) : ↑(iSup K) = ⋃
3838
(iSup_le fun i ↦ le_iSup (fun i ↦ (K i : Set A)) i) (Set.iUnion_subset fun _ ↦ le_iSup K _)
3939
simp [this, s]
4040

41+
theorem isMulCommutative_iSup {S : ι → Subalgebra R A}
42+
[hS : ∀ i, IsMulCommutative (S i)] (dir : Directed (· ≤ ·) S) :
43+
IsMulCommutative (⨆ i, S i : Subalgebra R A) := by
44+
simpa [isMulCommutative_iff, ← SetLike.mem_coe, coe_iSup_of_directed dir,
45+
Subsemiring.coe_iSup_of_directed dir] using Subsemiring.isMulCommutative_iSup dir
46+
47+
instance instIsMulCommutative_iSup [Preorder ι] [IsDirectedOrder ι]
48+
{S : ι →o Subalgebra R A} [hS : ∀ i, IsMulCommutative (S i)] :
49+
IsMulCommutative (⨆ i, S i : Subalgebra R A) :=
50+
isMulCommutative_iSup S.monotone.directed_le
51+
4152
variable (K)
4253

4354
/-- Define an algebra homomorphism on a directed supremum of subalgebras by defining

Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -700,19 +700,11 @@ theorem adjoin_span {s : Set A} : adjoin R (Submodule.span R s : Set A) = adjoin
700700
le_antisymm (adjoin_le (span_le_adjoin _ _)) (adjoin_mono Submodule.subset_span)
701701

702702
theorem adjoin_image (f : A →ₐ[R] B) (s : Set A) : adjoin R (f '' s) = (adjoin R s).map f :=
703-
le_antisymm (adjoin_le <| Set.image_mono subset_adjoin) <|
704-
Subalgebra.map_le.2 <| adjoin_le <| Set.image_subset_iff.1 <| by
705-
simp only [Set.image_id', coe_carrier_toSubmonoid, Subalgebra.coe_toSubsemiring,
706-
Subalgebra.coe_comap]
707-
exact fun x hx => subset_adjoin ⟨x, hx, rfl⟩
703+
eq_of_forall_ge_iff fun t ↦ by simp [Subalgebra.map_le, adjoin_le_iff]
708704

709705
@[simp]
710706
theorem adjoin_insert_adjoin (x : A) : adjoin R (insert x ↑(adjoin R s)) = adjoin R (insert x s) :=
711-
le_antisymm
712-
(adjoin_le
713-
(Set.insert_subset_iff.mpr
714-
⟨subset_adjoin (Set.mem_insert _ _), adjoin_mono (Set.subset_insert _ _)⟩))
715-
(Algebra.adjoin_mono (Set.insert_subset_insert Algebra.subset_adjoin))
707+
eq_of_forall_ge_iff fun t ↦ by simp [adjoin_le_iff, Set.insert_subset_iff]
716708

717709
theorem mem_adjoin_of_map_mul {s} {x : A} {f : A →ₗ[R] B} (hf : ∀ a₁ a₂, f (a₁ * a₂) = f a₁ * f a₂)
718710
(h : x ∈ adjoin R s) : f x ∈ adjoin R (f '' (s ∪ {1})) := by

Mathlib/Algebra/Algebra/Tower.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ section Algebra.algebraMapSubmonoid
405405

406406
@[simp]
407407
theorem Algebra.algebraMapSubmonoid_map_map {R A B : Type*} [CommSemiring R] [CommSemiring A]
408-
[Algebra R A] (M : Submonoid R) [CommRing B] [Algebra R B] [Algebra A B] [IsScalarTower R A B] :
408+
[Algebra R A] (M : Submonoid R) [Semiring B] [Algebra R B] [Algebra A B] [IsScalarTower R A B] :
409409
algebraMapSubmonoid B (algebraMapSubmonoid A M) = algebraMapSubmonoid B M :=
410410
algebraMapSubmonoid_map_eq _ (IsScalarTower.toAlgHom R A B)
411411

Mathlib/Algebra/BigOperators/Finprod.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ lemma one_le_finprod {M : Type*} [CommMonoidWithZero M] [Preorder M] [ZeroLEOneC
277277
theorem MonoidHom.map_finprod_plift (f : M →* N) (g : α → M)
278278
(h : HasFiniteMulSupport <| g ∘ PLift.down) : f (∏ᶠ x, g x) = ∏ᶠ x, f (g x) := by
279279
rw [finprod_eq_prod_plift_of_mulSupport_subset h.coe_toFinset.ge,
280-
finprod_eq_prod_plift_of_mulSupport_subset, map_prod]
280+
finprod_eq_prod_plift_of_mulSupport_subset, _root_.map_prod]
281281
rw [h.coe_toFinset]
282282
exact mulSupport_comp_subset f.map_one (g ∘ PLift.down)
283283

Mathlib/Algebra/BigOperators/Ring/Finset.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ lemma natCast_card_filter (p) [DecidablePred p] (s : Finset ι) :
4545
(∑ x ∈ s, if p x then 1 else 0 : R) = #{x ∈ s | p x} :=
4646
(natCast_card_filter _ _).symm
4747

48+
lemma card_eq_sum_ite {s t : Finset ι} [DecidablePred (· ∈ s)] (hst : s ⊆ t) :
49+
s.card = ∑ i ∈ t, if i ∈ s then 1 else 0 := by simp [hst]
50+
4851
end AddCommMonoidWithOne
4952

5053
section NonUnitalNonAssocSemiring

0 commit comments

Comments
 (0)