Skip to content

Commit ab7a8db

Browse files
Merge master into nightly-testing
2 parents dbe837b + 0c25ddf commit ab7a8db

File tree

5 files changed

+23
-11
lines changed

5 files changed

+23
-11
lines changed

Mathlib/Analysis/Distribution/SchwartzSpace.lean

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs
99
public import Mathlib.Analysis.Calculus.LineDeriv.IntegrationByParts
1010
public import Mathlib.Analysis.LocallyConvex.WithSeminorms
1111
public import Mathlib.Analysis.Normed.Group.ZeroAtInfty
12+
public import Mathlib.Analysis.Normed.Lp.SmoothApprox
1213
public import Mathlib.Analysis.SpecialFunctions.Pow.Real
1314
public import Mathlib.Analysis.Distribution.DerivNotation
1415
public import Mathlib.Analysis.Distribution.TemperateGrowth
@@ -1214,6 +1215,22 @@ def toLpCLM (p : ℝ≥0∞) [Fact (1 ≤ p)] (μ : Measure E := by volume_tac)
12141215
theorem continuous_toLp {p : ℝ≥0∞} [Fact (1 ≤ p)] {μ : Measure E} [hμ : μ.HasTemperateGrowth] :
12151216
Continuous (fun f : 𝓢(E, F) ↦ f.toLp p μ) := (toLpCLM ℝ F p μ).continuous
12161217

1218+
/-- Schwartz functions are dense in `Lp`. -/
1219+
theorem denseRange_toLpCLM [FiniteDimensional ℝ E] [BorelSpace E] {p : ℝ≥0∞} (hp : p ≠ ⊤)
1220+
[hp' : Fact (1 ≤ p)] {μ : Measure E} [hμ : μ.HasTemperateGrowth] [IsFiniteMeasureOnCompacts μ] :
1221+
DenseRange (SchwartzMap.toLpCLM ℝ F p μ) := by
1222+
intro f
1223+
refine (mem_closure_iff_nhds_basis Metric.nhds_basis_closedBall).2 fun ε hε ↦ ?_
1224+
obtain ⟨g, hg₁, hg₂, hg₃⟩ := MemLp.exist_eLpNorm_sub_le hp hp'.out (Lp.memLp f) hε
1225+
use (hg₁.toSchwartzMap hg₂).toLp p μ
1226+
have : (f : E → F) - ((hg₁.toSchwartzMap hg₂).toLp p μ : E → F) =ᶠ[ae μ] (f : E → F) - g := by
1227+
filter_upwards [(hg₁.toSchwartzMap hg₂).coeFn_toLp p μ]
1228+
simp
1229+
simp only [Set.mem_range, toLpCLM_apply, exists_apply_eq_apply, Metric.mem_closedBall', true_and,
1230+
Lp.dist_def, eLpNorm_congr_ae this]
1231+
grw [hg₃, ENNReal.toReal_ofReal hε.le]
1232+
simp
1233+
12171234
end Lp
12181235

12191236
section L2

Mathlib/Analysis/Normed/Lp/SmoothApprox.lean

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ functions for `p < ∞`.
1919
This result is recorded in `MeasureTheory.MemLp.exist_sub_eLpNorm_le`.
2020
-/
2121

22+
@[expose] public section
23+
2224
variable {α β E F : Type*} [MeasurableSpace E] [NormedAddCommGroup F]
2325

2426
open scoped Nat NNReal ContDiff

Mathlib/Data/Finset/Card.lean

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -591,9 +591,7 @@ theorem card_sdiff_add_card (s t : Finset α) : #(s \ t) + #t = #(s ∪ t) := by
591591
rw [← card_union_of_disjoint sdiff_disjoint, sdiff_union_self_eq_union]
592592

593593
theorem sdiff_nonempty_of_card_lt_card (h : #s < #t) : (t \ s).Nonempty := by
594-
contrapose! h
595-
rw [sdiff_eq_empty_iff_subset] at h
596-
grw [h]
594+
grind
597595

598596
omit [DecidableEq α] in
599597
theorem exists_mem_notMem_of_card_lt_card (h : #s < #t) : ∃ e, e ∈ t ∧ e ∉ s := by

Mathlib/LinearAlgebra/LinearPMap.lean

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -783,9 +783,7 @@ theorem mem_graph_snd_inj (f : E →ₗ.[R] F) {x y : E} {x' y' : F} (hx : (x, x
783783

784784
theorem mem_graph_snd_inj' (f : E →ₗ.[R] F) {x y : E × F} (hx : x ∈ f.graph) (hy : y ∈ f.graph)
785785
(hxy : x.1 = y.1) : x.2 = y.2 := by
786-
cases x
787-
cases y
788-
exact f.mem_graph_snd_inj hx hy hxy
786+
grind
789787

790788
/-- The property that `f 0 = 0` in terms of the graph. -/
791789
theorem graph_fst_eq_zero_snd (f : E →ₗ.[R] F) {x : E} {x' : F} (h : (x, x') ∈ f.graph)

Mathlib/LinearAlgebra/Quotient/Basic.lean

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,10 @@ variable {p}
8181
instance [Subsingleton M] : Subsingleton (M ⧸ p) := by simpa using Subsingleton.elim ..
8282

8383
@[deprecated Quotient.nontrivial_iff (since := "2025-11-02")]
84-
theorem nontrivial_of_lt_top (h : p < ⊤) : Nontrivial (M ⧸ p) := by
85-
obtain ⟨x, _, notMem_s⟩ := SetLike.exists_of_lt h
86-
refine ⟨⟨mk x, 0, ?_⟩⟩
87-
simpa using notMem_s
84+
theorem nontrivial_of_lt_top (h : p < ⊤) : Nontrivial (M ⧸ p) := Quotient.nontrivial_iff.mpr h.ne
8885

8986
@[deprecated Quotient.nontrivial_iff (since := "2025-11-02")]
90-
theorem nontrivial_of_ne_top (h : p ≠ ⊤) : Nontrivial (M ⧸ p) := Quotient.nontrivial_iff.2 h
87+
theorem nontrivial_of_ne_top (h : p ≠ ⊤) : Nontrivial (M ⧸ p) := Quotient.nontrivial_iff.mpr h
9188

9289
end Quotient
9390

0 commit comments

Comments
 (0)