Skip to content

OneD/JFunctionQuartic: full-line J-function asymptotic for K = w^4/24 (Tide E4)#18

Merged
dmurfet merged 3 commits into
mainfrom
tide/grammar-j-function
May 6, 2026
Merged

OneD/JFunctionQuartic: full-line J-function asymptotic for K = w^4/24 (Tide E4)#18
dmurfet merged 3 commits into
mainfrom
tide/grammar-j-function

Conversation

@dmurfet

@dmurfet dmurfet commented May 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Tide E4 (Grammar paper J-function for single-component blow-up, Step 2 of the grammar precursor sequence). Two theorems committed in a new file Laplace/OneD/JFunctionQuartic.lean:

  • quartic_jfunction_centered_tendsto_zero (the centred DCT headline, GPT-reshaped from the direct form):

    Tendsto (fun t => t^(1/4) · ∫ exp(-tw^4/24) · (prior(w) − prior(0)) dw)
      atTop  (𝓝 0)
    
  • quartic_jfunction_asymptotic (the user-facing form, derived as a 2-line corollary):

    Tendsto (fun t => t^(1/4) · ∫ exp(-tw^4/24) · prior(w) dw)
      atTop  (𝓝 (prior(0) · (1/2) · 24^(1/4) · Γ(1/4)))
    

Hypothesis class: Continuous prior + global bound (slightly stronger than the deliberation's AEMeasurable + ContinuousAt 0; the weakening is a recorded follow-up that adds ~50 lines of comp_quasiMeasurePreserving plumbing).

Proof structure:

  1. Substitute u = t^(1/4) · w via Measure.integral_comp_mul_right.
  2. DCT with envelope 2M · exp(-u^4/24) (integrable by Tide 7's quartic_integrable_pow 0) and pointwise limit 0.
  3. Corollary: split prior = (prior - prior(0)) + prior(0); constant piece evaluated by quartic_partition.

280 lines, 0 sorry / 0 axiom / 0 native_decide. Single-session formalisation, one GPT consult during deliberation, no GPT consults during proof.

Tide artefacts

  • Tide log: sri/projects/primer/tide-log/2026-05-07-tide-grammar-j-function.md
  • GPT consult: sri/projects/primer/tide-log/gpt55_tide_grammar_j_function_v1.md
  • Per-tide retrospective: lean/laplace/retrospectives/2026-05-07-tide-grammar-j-function.tex

First Tide under K1 worktree isolation

This Tide ran fully under the just-landed tide-worktree wrapper: dedicated worktree at sri/lean/laplace-tide-grammar-j-function/, branched off main at f21a9cc. Zero collisions despite four other Tide branches active concurrently.

Test plan

  • lake build Laplace.OneD.JFunctionQuartic clean
  • Full lake build clean
  • scripts/sorries reports 0 sorry / 0 axiom / 0 native_decide
  • Numerical sanity (3 priors, scipy.integrate.quad to machine precision)
  • Retrospective PDF compiles with 0 overfull-hbox warnings

🤖 Generated with Claude Code

dmurfet and others added 3 commits May 6, 2026 11:53
Tide step E4 (Grammar J-function for single-component blow-up,
Step 2 of the grammar paper precursor sequence). Two theorems:

- `quartic_jfunction_centered_tendsto_zero` (Candidate X, the DCT
  core):  for `prior : ℝ → ℝ` continuous and globally bounded,
    Tendsto (fun t => t^(1/4) · ∫ exp(-tw^4/24) · (prior(w) − prior(0)) dw)
      atTop  (𝓝 0).

- `quartic_jfunction_asymptotic` (Candidate A, the user-facing
  form, derived as a 2-line corollary):
    Tendsto (fun t => t^(1/4) · ∫ exp(-tw^4/24) · prior(w) dw)
      atTop  (𝓝 (prior(0) · (1/2) · 24^(1/4) · Γ(1/4))).

Step-2 deliberation (with GPT-5.5 Pro) chose the centered form X
over the direct form A as the formalisation target — same DCT
core, less algebra in the statement, and the user-facing form
drops out by `quartic_partition` (Tide 7's closed form for the
no-prior partition).

Hypothesis class. The deliberation chose `AEMeasurable π` +
`ContinuousAt π 0` + global bound; the formalisation here uses
the slightly stronger `Continuous prior` + global bound for
tractability (avoids the AEMeasurable.comp_quasiMeasurePreserving
plumbing for ~50 lines saved). The mathematically-minimal hypothesis
weakening is recorded as a follow-up.

Proof structure. Substitute `u = t^(1/4) · w` via
`Measure.integral_comp_mul_right`; the Jacobian `|t^(-1/4)|`
cancels the `t^(1/4)` prefactor and the integrand becomes
`exp(-u^4/24) · (prior(u/t^(1/4)) - prior(0))` — t-independent
modulo the prior shift. DCT with envelope `2M · exp(-u^4/24)`
(integrable by `quartic_integrable_pow 0`) and pointwise limit
`0` (by `Continuous prior`) closes.

Numerical sanity: 3 priors verified against scipy.integrate.quad
to machine precision (π=1 exact, others convergent at O(t^(-1/4))).

Tide log: sri/projects/primer/tide-log/2026-05-07-tide-grammar-j-function.md
GPT consult: sri/projects/primer/tide-log/gpt55_tide_grammar_j_function_v1.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Narrative-LaTeX retrospective for today's E4 Tide step (J-function
asymptotic for the quartic, Step 2 of the grammar paper precursor
sequence). Seven mandatory sections per the per-tide template.

Highlights:
- The Step-2 deliberation (with GPT-5.5 Pro) reshaped the target
  from the direct form (Candidate A) to the centred form (X);
  this was load-bearing — same DCT core, cleaner statement, the
  user-facing form falls out by `quartic_partition`.
- First Tide running fully under the K1 worktree-isolation discipline
  (landed earlier today). Zero collisions despite four other Tide
  branches active concurrently. Worktree pays off immediately.
- Hypothesis weakened to `Continuous prior` from the deliberation's
  `AEMeasurable + ContinuousAt 0`; the AEMeasurable case adds ~50
  lines of comp_quasiMeasurePreserving plumbing that's a separate
  follow-up. Both forms cover all paper applications.
- Three new CLAUDE.md gotchas surfaced: π-as-binder issue,
  tendsto_rpow_atTop namespace inconsistency, and the ∀ᶠ.symm
  dot-notation gotcha.

Tide log:
sri/projects/primer/tide-log/2026-05-07-tide-grammar-j-function.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@dmurfet dmurfet merged commit 4cd5e23 into main May 6, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant