Skip to content

feat: improving bounds and restating things in the language of radial Schwartz functions - #460

Open
thefundamentaltheor3m wants to merge 30 commits into
mainfrom
bounding
Open

thefundamentaltheor3m wants to merge 30 commits into
mainfrom
bounding

Conversation

@thefundamentaltheor3m

@thefundamentaltheor3m thefundamentaltheor3m commented Aug 25, 2026 •

Copy link
Copy Markdown
Owner
  • Corrects false decay lemmas about $I_1, \ldots, I_6$ (they only decay on the nonnegative reals, not the reals in entirety)
  • Restates loads of things in the language of Radial Schwartz Functions
  • Improves bounds on Schwartz integrals (bringing us a step closer to proving Schwartzness)

thefundamentaltheor3m and others added 12 commits August 25, 2026 15:05
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The sorry as stated (`∃ C, x ^ k * rexp (-r * x) ≤ C` with `x` bound outside
the existential) was vacuous — dischargeable by `⟨_, le_refl _⟩` with every
hypothesis unused. Restated with the explicit constant `(k / r) ^ k`, which
is uniform in `x`, and strengthened `0 ≤ r` to `0 < r` (no uniform bound
exists at `r = 0` for `k > 0`).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Comment thread SpherePacking/ForMathlib/Analysis/Complex/Exponential.lean Outdated
@thefundamentaltheor3m

Copy link
Copy Markdown
Owner Author

Hmm, I wonder why CI didn't catch the public import Mathlib in ForMathlib.Analysis.Complex.Exponential (which I've now removed)

@thefundamentaltheor3m thefundamentaltheor3m changed the title wip feat: improving bounds and restating things in the language of radial Schwartz functions Aug 31, 2026
@thefundamentaltheor3m
thefundamentaltheor3m marked this pull request as ready for review August 31, 2026 16:07
Comment thread SpherePacking/MagicFunction/a/Schwartz.lean Outdated
Comment thread SpherePacking/MagicFunction/a/IntegralEstimates/Decay.lean Outdated
@thefundamentaltheor3m thefundamentaltheor3m added awaiting-author Awaiting the author's response to a comment or review. and removed awaiting-review This PR is ready to be reviewed. labels Sep 8, 2026

@cameronfreer cameronfreer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Astra, at the request of Cameron

The radial Schwartz formulation and the Fourier involution simplifications are useful. There is one correctness issue to fix before merging: the cutoff currently changes the functions on the unit ball and forces their value at the origin to be zero. The inline comments give a small constructor repair, the missing equalities with the original integrals, and two proof simplifications.

Validation: I checked the current head, reproduced the cutoff-at-zero calculation, and compiled the revised constructor/equality theorem and Gamma-integral helper in isolated Lean snippets. The shorter derivative proof also compiled (with one unnecessary-simpa warning); I did not rebuild the full PR.

One additional stack integration suggestion: once #463 is available, reuse its phase identities in I₃'_smooth' rather than rederiving the parametrisation identity there. The optional cleanup comments are lower priority than the cutoff and integral equalities.

Comment thread SpherePacking/MagicFunction/a/Schwartz.lean Outdated
Comment thread SpherePacking/MagicFunction/a/Schwartz.lean
Comment thread SpherePacking/ForMathlib/RadialSchwartz/Multidimensional.lean
Comment thread SpherePacking/MagicFunction/a/IntegralEstimates/Decay.lean Outdated
Comment thread SpherePacking/ForMathlib/Analysis/Complex/Exponential.lean
Comment thread SpherePacking/ForMathlib/RadialSchwartz/Basic.lean
Comment thread SpherePacking/ForMathlib/Analysis/Complex/Exponential.lean
…460 (#485)

Follow-up to #460 addressing its review comments. Targets `bounding`.

- **Correctness:** `ofDecayOn (a := 1)` multiplied each integral by
`smoothTransition r`, which vanishes at `0` and is only `1` on `[1, ∞)`,
so the bundled `a`, `b` (and hence `g`) were wrong on the unit ball and
`a_zero` was false. The decay hypothesis of `ofDecayOn` /
`ofDecayOn_eqOn` / `RadialSchwartzMap.ofDecay` is weakened from `a - 1 ≤
x` to `a ≤ x`, and all twelve constructors now use `a := 0`, so the
bundled functions agree with the originals on `[0, ∞)`.
- **Proof simplification:** the `ofDecayOn` decay proof now uses
`Filter.EventuallyEq.iteratedFDeriv` instead of round-tripping through
`iteratedFDerivWithin`.
- **Proof simplification:** the change of variables / Gamma computation
in `pow_mul_integral_le` is replaced by a new helper
`integral_exp_mul_pow_Ici` (via
`Real.integral_rpow_mul_exp_neg_mul_Ioi`).
- Adds TODO comments for `Set.EqOn` results relating `a`/`b` to the
original integrals on `[0, ∞)` (deferred).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01UXLVscFdDj42KSSxpVWBHP

---
_Generated by [Claude
Code](https://claude.ai/code/session_01UXLVscFdDj42KSSxpVWBHP)_

Co-authored-by: Claude <noreply@anthropic.com>
)

Follow-up to #485. CI on #460 (head `cce794e`) is green but reports:

```
warning: SpherePacking/ForMathlib/RadialSchwartz/Multidimensional.lean:56:49: `iteratedFDeriv_zero_fun` has been deprecated: Use `iteratedFDeriv_fun_zero` instead
```

This swaps in the suggested replacement (a one-token change; the
deprecated name is an alias of it).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01UXLVscFdDj42KSSxpVWBHP

---
_Generated by [Claude
Code](https://claude.ai/code/session_01UXLVscFdDj42KSSxpVWBHP)_

Co-authored-by: Claude <noreply@anthropic.com>
@thefundamentaltheor3m thefundamentaltheor3m removed the awaiting-author Awaiting the author's response to a comment or review. label Sep 29, 2026
@thefundamentaltheor3m thefundamentaltheor3m added the awaiting-review This PR is ready to be reviewed. label Sep 29, 2026
@thefundamentaltheor3m

Copy link
Copy Markdown
Owner Author

TODO: Run lake lint to figure out simpNF

…0-rc2 (#488)

CI on #460 went red after merging `main` (Mathlib bump to v4.34.0-rc2,
#462) into `bounding`:

```
error: SpherePacking/MagicFunction/a/IntegralEstimates/Decay.lean:33:55: Application type mismatch: The argument
  le_rfl
has type
  ?m.80 ≤ ?m.80
but is expected to have type
  0 < 1
```

In the new Mathlib, `integrableOn_rpow_mul_exp_neg_mul_rpow` takes `(hp
: 0 < p)` instead of `1 ≤ p`, so `le_rfl` becomes `zero_lt_one`. This
was the only error in the build log.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01UXLVscFdDj42KSSxpVWBHP

---
_Generated by [Claude
Code](https://claude.ai/code/session_01UXLVscFdDj42KSSxpVWBHP)_

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-review This PR is ready to be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants