[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"CkE8KZjZuK":3},"# gaussian-field\n\nA Lean 4 / Mathlib library for constructing **centered Gaussian probability measures on duals of nuclear Fréchet spaces**.\n\nGiven a nuclear Fréchet space $E$ and a continuous linear map (CLM) $T : E \\to H$ to a separable real Hilbert space $H$ (finite- or infinite-dimensional), the library constructs a probability measure $\\mu$ on the weak dual $E' = \\text{WeakDual}\\ \\mathbb{R}\\ E$ satisfying the characteristic functional identity:\n\n$$\\mathbb{E}\\left[e^{i\\langle\\omega, f\\rangle}\\right] = e^{-\\frac{1}{2}\\|T(f)\\|_H^2} \\qquad \\forall f \\in E$$\n\nThe covariance is $C(f,g) = \\langle T(f), T(g) \\rangle_H$.\n\n## Motivation\n\nThis construction is the standard path to Gaussian measures in quantum field theory, stochastic PDEs, and infinite-dimensional probability. The library is **application-agnostic** — it works for any nuclear Fréchet space and any CLM into any separable Hilbert space.\n\n### Example: Gaussian Free Field\n\nFor the free scalar field in $d$ dimensions, take:\n- $E = \\mathcal{S}(\\mathbb{R}^d, \\mathbb{R})$ (Schwartz space, a nuclear Fréchet space)\n- $H = L^2(\\mathbb{R}^d)$\n- $T = (-\\Delta + m^2)^{-1/2}$ (inverse half-Laplacian on Schwartz space)\n\nThe resulting measure is the Gaussian free field with mass $m$, and the covariance is:\n$$C(f,g) = \\int \\frac{\\hat{f}(p)\\,\\overline{\\hat{g}(p)}}{|p|^2 + m^2}\\,dp$$\n\n### Gel'fand Triple Structure\n\nThe construction realizes a **rigged Hilbert space** (Gel'fand triple):\n\n$$E \\hookrightarrow H_T \\hookrightarrow E'$$\n\nwhere $H_T$ is the **Cameron-Martin space** — the completion of $E$ under the inner product $\\langle f, g \\rangle_T = \\langle T(f), T(g) \\rangle_H = C(f,g)$ (formalized as `cameronMartinInner T`). The **support theorem** (`support_of_hilbertSchmidt`) characterizes *where* the measure lives: if $T$ is Hilbert-Schmidt (`IsHilbertSchmidt T`), then $\\mu$ is supported on configurations with finite basis norm ($\\sum_n |\\omega(e_n)|^2 \u003C \\infty$).\n\nThis triple is the functional-analytic core of:\n- **Constructive QFT**: the Osterwalder-Schrader and Wightman frameworks, where $\\mu$ is the Euclidean path integral measure\n- **Stochastic PDEs**: where $\\mu$ provides the law of Gaussian driving noise\n- **Infinite-dimensional probability**: where $\\mu$ generalizes finite-dimensional Gaussian distributions\n\n## API\n\n### Input\n\nThe user provides:\n- A nuclear Fréchet space `E` with `[DyninMityaginSpace E]` instance\n- A separable real Hilbert space `H` (with standard Mathlib instances)\n- A CLM `T : E →L[ℝ] H`\n\n### Output\n\n| Definition / Theorem | Type | Description |\n|---|---|---|\n| `measure T` | `Measure (Configuration E)` | The Gaussian measure (with `IsProbabilityMeasure` instance) |\n| `covariance T f g` | `ℝ` | $C(f,g) = \\langle T(f), T(g) \\rangle_H$ |\n| `charFun T f` | integral identity | $\\mathbb{E}[e^{i\\omega(f)}] = e^{-\\frac{1}{2}\\|Tf\\|^2}$ |\n| `pairing_is_gaussian` | measure equality | Pushforward by $\\omega \\mapsto \\omega(f)$ is $N(0, \\|Tf\\|^2)$ |\n| `measure_centered` | integral = 0 | $\\mathbb{E}[\\omega(f)] = 0$ |\n| `second_moment_eq_covariance` | integral identity | $\\mathbb{E}[\\omega(f)^2] = \\|Tf\\|^2$ |\n| `cross_moment_eq_covariance` | integral identity | $\\mathbb{E}[\\omega(f)\\omega(g)] = \\langle Tf, Tg \\rangle$ |\n| `pairing_integrable` | `Integrable` | $\\omega(f)$ is integrable |\n| `pairing_memLp` | `MemLp` | $\\omega(f) \\in L^p$ for all finite $p$ (Fernique-type) |\n| `pairing_product_integrable` | `Integrable` | $\\omega(f)\\omega(g)$ is integrable |\n| `measure_isGaussian` | `IsGaussian (measure T)` | Mathlib's `IsGaussian` typeclass instance |\n| `gaussian_ibp_general` | integral identity | $\\mathbb{E}[\\omega(f_0)\\prod_i\\omega(g_i)\\,e^{i\\omega(h)}] = \\sum_j C(f_0,g_j)\\mathbb{E}[\\prod_{i\\neq j}\\omega(g_i)\\,e^{i\\omega(h)}] + iC(f_0,h)\\mathbb{E}[\\prod_i\\omega(g_i)\\,e^{i\\omega(h)}]$ |\n| `wick_recursive` | integral identity | Recursive Wick formula for $n$-point functions |\n| `wick_bound` | norm bound | $\\|\\mathbb{E}[\\prod_i\\omega(g_i)\\,e^{i\\omega(h)}]\\| \\le \\prod_i\\|Tg_i\\|$ |\n| `odd_moment_vanish` | integral = 0 | Odd moments vanish: $\\mathbb{E}[\\prod_i\\omega(g_i)] = 0$ when $n$ is odd |\n| `cameronMartinInner T f g` | `ℝ` | Cameron-Martin inner product $\\langle f, g \\rangle_0 = C(f,g)$ |\n| `cameronMartinNormSq T f` | `ℝ` | Cameron-Martin norm squared $\\|f\\|_0^2 = \\|T(f)\\|^2$ |\n| `IsHilbertSchmidt T` | `Prop` | $\\sum_n \\|T(e_n)\\|^2 \u003C \\infty$ (Hilbert-Schmidt condition) |\n| `support_of_hilbertSchmidt` | `∀ᵐ` | HS $\\Rightarrow$ a.e. finite basis norm |\n| `weighted_support` | `∀ᵐ` | Weighted-HS $\\Rightarrow$ a.e. finite weighted basis norm |\n| `expected_norm_sq_eq_hs` | integral identity | $\\mathbb{E}[\\sum_n |\\omega(e_n)|^2] = \\sum_n \\|T(e_n)\\|^2$ |\n| `gaussian_measure_unique_of_covariance` | measure equality | Two centered Gaussian probability measures with the same covariance are equal (conditional on the Cramér-Wold axiom `cramerWold`) |\n\n### Design notes\n\nThe API takes only `T` as an explicit argument — no proof of infinite-dimensionality\nis required. When `H` is finite-dimensional, the construction embeds `H` isometrically\ninto $\\ell^2$ and builds the measure there, yielding a degenerate (finite-rank) Gaussian.\nThis allows testing with toy cases like $H = \\mathbb{R}^n$.\n\n`Configuration E` is defined as `WeakDual ℝ E` — the space of continuous linear functionals on $E$ with the weak-* topology. Elements $\\omega \\in E'$ are \"configurations\" or \"generalized functions\" that pair with test functions: $\\omega(f) \\in \\mathbb{R}$.\n\n## End-to-end workflow: from spaces to measures\n\nSee [docs/workflow.md](docs/workflow.md) for the full three-layer workflow\n(test function spaces, covariance operators, measure construction) with\nLean code examples for Schwartz space, circles, lattices, tensor products,\nheat kernels, and the lattice-continuum limit.\n\n## Module structure\n\nThe project has three libraries, with imports flowing left to right:\n`Nuclear` \u003C- `SchwartzNuclear` \u003C- `GaussianField`.\n\n### 1. Nuclear Space Infrastructure\n\nThe `DyninMityaginSpace` typeclass and the canonical model `RapidDecaySeq` (the Kothe\nsequence space $s(\\mathbb{N})$), shared by both `SchwartzNuclear/` and\n`GaussianField/`.\n\n| File | Lines | Contents |\n|------|------:|----------|\n| [DyninMityagin.lean](Nuclear/DyninMityagin.lean) | 76 | `DyninMityaginSpace` typeclass (Dynin-Mityagin), `expansion_H` lemma |\n| [NuclearSpace.lean](Nuclear/NuclearSpace.lean) | 487 | `NuclearSpace` typeclass (Pietsch), Hahn-Banach for seminorms, `hasSum_basis` (strong Schauder convergence), DM -> Pietsch |\n| [NuclearTensorProduct.lean](Nuclear/NuclearTensorProduct.lean) | 1,125 | `RapidDecaySeq`, `NuclearTensorProduct`, `pure`, universal property (`lift`, `lift_pure`) |\n\n#### Two definitions of nuclearity\n\nThe library contains two characterizations of nuclear spaces:\n\n1. **Dynin-Mityagin** (`DyninMityaginSpace` in [DyninMityagin.lean](Nuclear/DyninMityagin.lean)) —\n   A nuclear Fréchet space with a countable Schauder basis admitting polynomial\n   growth of seminorms and super-polynomial decay of coefficients. This is the\n   operational definition used by the Gaussian measure construction.\n   See [docs/dynin-mityagin-typeclass.md](docs/dynin-mityagin-typeclass.md) for the\n   full typeclass definition, design decisions, how to provide an instance for a new\n   space, which spaces are nuclear, and target instances.\n\n2. **Pietsch** (`NuclearSpace` in [NuclearSpace.lean](Nuclear/NuclearSpace.lean)) —\n   For every continuous seminorm $p$, there exists a dominating seminorm $q \\ge p$\n   such that the canonical map $E_q \\to E_p$ is nuclear (expressible as\n   $p(x) \\le \\sum_n c_n |f_n(x)|$ with $\\sum c_n \u003C \\infty$ and $|f_n| \\le q$).\n   This is the standard textbook definition (Pietsch, Grothendieck).\n\nThe Dynin-Mityagin characterization is strictly stronger: it additionally requires\nthe existence of a Schauder basis. The implication\n`DyninMityaginSpace.toNuclearSpace` (DM -> Pietsch) is proved in\n[NuclearSpace.lean](Nuclear/NuclearSpace.lean). The converse holds for\nnuclear Fréchet spaces that already possess a Schauder basis (the\nDynin-Mityagin theorem), but is not formalized since our applications\n(Schwartz spaces) obtain the DM structure directly from the Hermite basis.\n\n#### Tensor products of nuclear spaces\n\n`NuclearTensorProduct E₁ E₂` is the completed nuclear tensor product of two\n`DyninMityaginSpace` spaces. It carries a `DyninMityaginSpace` instance\n(hence is itself nuclear) and satisfies the **universal property**: every\nseminorm-bounded bilinear map factors uniquely through the canonical embedding.\n\n**Structural results:**\n\n| Definition / Theorem | Type | Description |\n|---|---|---|\n| `NuclearTensorProduct.assoc` | `(E₁ ⊗̂ E₂) ⊗̂ E₃ ≃L[ℝ] E₁ ⊗̂ (E₂ ⊗̂ E₃)` | Associativity |\n| `lift B` | `E₁ ⊗̂ E₂ →L[ℝ] G` | Universal property: factors bilinear maps through `pure` |\n| `lift_pure` | `lift B (pure e₁ e₂) = B e₁ e₂` | Factoring identity |\n\n**Schwartz space isomorphisms** (in `SchwartzNuclear/SchwartzTensorProduct.lean`):\n\n| Definition / Theorem | Type | Description |\n|---|---|---|\n| `schwartzPeelOff d` | `S(ℝ^{d+2}) ≃L S(ℝ^{d+1}) ⊗̂ S(ℝ)` | Peel off one dimension |\n| `schwartzTensorEquiv m n` | `S(ℝ^{m+1}) ⊗̂ S(ℝ^{n+1}) ≃L S(ℝ^{m+n+2})` | General tensor-product isomorphism |\n| `schwartzPeelOff_pure` | canonicity | Inverse sends `f ⊗ g` to pointwise product |\n\nThese isomorphisms identify the tensor product of Schwartz spaces on lower-dimensional\nEuclidean spaces with Schwartz space on the product space — the Schwartz kernel theorem.\n\nFor the concrete construction (Cantor pairing, `pure`, `lift`, reindexing), see\n[docs/tensor-products.md](docs/tensor-products.md). For the roadmap to connect\nto Mathlib's abstract `TensorProduct`, see\n[docs/abstract-tensor-product-plan.md](docs/abstract-tensor-product-plan.md).\n\n### 2. Schwartz Space Nuclearity\n\nProves `DyninMityaginSpace (SchwartzMap D ℝ)` for any finite-dimensional $D$ via the\nHermite function expansion and the Dynin-Mityagin isomorphism\n$\\mathcal{S}(\\mathbb{R}^d) \\cong s(\\mathbb{N})$.\n\nThe Hermite-polynomial side of this development also provides the **Wick polynomial\nalgebra** used downstream by the Gaussian field construction:\n\n- `wickMonomial n c x` — the Wick-ordered monomial defined by the three-term\n  recursion (`x · :x^{n+1}:_c - (n+1)·c · :x^n:_c = :x^{n+2}:_c`).\n- `wick_eq_hermiteR` — Wick monomials are scaled probabilist's Hermite polynomials.\n- `wickMonomial_homogeneity` — `:γx^n:_{γ²c} = γ^n · :x^n:_c` (rescaling).\n- **`wickMonomial_add_add`** — bivariate Wick addition (binomial form): for two\n  independent variables with their own variances,\n  `:x+y^n:_{c₁+c₂} = ∑_k C(n,k) · :x^k:_{c₁} · :y^{n-k}:_{c₂}`.\n- **`wickMonomial_pow_sum_expansion`** — multivariate Wick multinomial expansion\n  over a `Fintype` index set:\n  `:∑γⱼξⱼ^k:_{∑γⱼ²} = ∑_{|α|=k} (k!/∏α!) · (∏γⱼ^{αⱼ}) · ∏ⱼ :ξⱼ^{αⱼ}:_1`.\n  This is the textbook polynomial identity (Janson §3.4, Glimm-Jaffe §6.1) that\n  underlies the eigenbasis expansion of site Wick monomials in the lattice GFF.\n  Proof: bivariate addition by `Nat.twoStepInduction` + Pascal + choose-absorption,\n  then iteration over the index set via `Finset.induction_on` + homogeneity.\n  No external axioms beyond `[propext, Classical.choice, Quot.sound]`.\n\n| File | Lines | Contents |\n|------|------:|----------|\n| [HermiteFunctions.lean](SchwartzNuclear/HermiteFunctions.lean) | 1,853 | 1D Hermite functions, orthonormality, completeness |\n| [SchwartzHermiteExpansion.lean](SchwartzNuclear/SchwartzHermiteExpansion.lean) | 1,446 | 1D Schwartz-Hermite expansion, coefficient decay |\n| [Basis1D.lean](SchwartzNuclear/Basis1D.lean) | 157 | 1D DyninMityaginSpace fields assembly |\n| [ParametricCalculus.lean](SchwartzNuclear/ParametricCalculus.lean) | 316 | Differentiation under the integral sign |\n| [SchwartzSlicing.lean](SchwartzNuclear/SchwartzSlicing.lean) | 1,134 | Multi-d slicing and partial Hermite coefficients |\n| [HermiteTensorProduct.lean](SchwartzNuclear/HermiteTensorProduct.lean) | 2,742 | Multi-d isomorphism `SchwartzMap D ℝ ≃L[ℝ] RapidDecaySeq` |\n| [HermiteNuclear.lean](SchwartzNuclear/HermiteNuclear.lean) | 63 | `DyninMityaginSpace` instance from the isomorphism |\n| [SchwartzTensorProduct.lean](SchwartzNuclear/SchwartzTensorProduct.lean) | 427 | Tensor product associativity, `schwartzPeelOff`, `schwartzTensorEquiv` |\n| [HermiteWick.lean](SchwartzNuclear/HermiteWick.lean) | 963 | Wick monomial recursion, scaled Hermite identification, **bivariate Wick addition**, **multivariate Wick multinomial expansion** |\n| [WickOrthogonality.lean](SchwartzNuclear/WickOrthogonality.lean) | 365 | Stein's lemma (Gaussian IBP), 1D Wick mean-zero (`wickMonomial_mean_zero`) |\n\n### 2b. Circle Analysis\n\nProves `DyninMityaginSpace (SmoothMap_Circle L ℝ)` (sorry-free) for smooth L-periodic\nfunctions on the circle via the real Fourier basis and the isomorphism\n`SmoothMap_Circle L ℝ ≃L[ℝ] RapidDecaySeq`. Also provides the circle Laplacian\n$-d^2/dx^2$ as a CLM, proves its eigenvalue equation on the Fourier basis, and\ndefines the heat semigroup $e^{-t\\Delta}$ spectrally.\n\n| File | Lines | Contents |\n|------|------:|----------|\n| [SmoothCircle/Basic.lean](SmoothCircle/Basic.lean) | 845 | Type, seminorms, Fourier basis, orthogonality, coefficients |\n| [SmoothCircle/Nuclear.lean](SmoothCircle/Nuclear.lean) | 824 | IBP decay, CLE, Fourier completeness, `DyninMityaginSpace` instance |\n| [SmoothCircle/Eigenvalues.lean](SmoothCircle/Eigenvalues.lean) | 50 | `HasLaplacianEigenvalues` instance: eigenvalues $(2\\pi k/L)^2$ |\n| [SmoothCircle/Laplacian.lean](SmoothCircle/Laplacian.lean) | 226 | `circleLaplacian` CLM $(-d^2/dx^2)$, eigenvalue equation on Fourier basis |\n| [SmoothCircle/HeatSemigroup.lean](SmoothCircle/HeatSemigroup.lean) | 195 | `circleHeatSemigroup` $e^{-t\\Delta}$, spectral action, semigroup properties |\n| [SmoothCircle/Restriction.lean](SmoothCircle/Restriction.lean) | 139 | `circleRestriction` CLM: sample at $N$ lattice points with $\\sqrt{L/N}$ normalization |\n| [Test.lean](Test.lean) | 358 | End-to-end tests: Gaussian measures on S(ℝ), S(ℝᵈ), C∞(S¹), cylinder, torus, QFT covariance |\n\n**Circle Laplacian and heat semigroup:**\n\n- `derivSCCLM L` — the derivative $d/dx$ as a CLM on `SmoothMap_Circle L ℝ`\n- `circleLaplacian L` — $-d^2/dx^2$ defined as $-(\\text{derivSCCLM})^2$\n- `circleLaplacian_fourierBasis` — eigenvalue equation: $(-d^2/dx^2)(\\psi_n) = \\lambda_n \\psi_n$\n- `circleHeatSemigroup L ht` — $e^{-t\\Delta}$ defined spectrally via conjugation through the Fourier equivalence\n- `circleHeatSemigroup_fourierBasis` — spectral action: $e^{-t\\Delta}(\\psi_n) = e^{-t\\lambda_n}\\psi_n$\n- `circleHeatSemigroup_zero` — identity: $e^{0\\cdot\\Delta} = \\mathrm{id}$\n\nThis enables Gaussian fields on the torus T¹ = ℝ/Lℤ and (via tensor products)\non cylinders S¹×ℝ and higher tori Tᵈ. The test file verifies the full pipeline\nfor `SmoothMap_Circle L ℝ`, the cylinder `NuclearTensorProduct (SmoothMap_Circle L ℝ) (SchwartzMap ℝ ℝ)`, and the torus `NuclearTensorProduct (SmoothMap_Circle L₁ ℝ) (SmoothMap_Circle L₂ ℝ)`.\nSee [concrete instances](docs/concrete-instances.md) for the mathematical details.\n\n**Design note:** `SmoothMap_Circle L ℝ` represents smooth L-periodic functions as\n`{f : ℝ → ℝ | Periodic f L ∧ ContDiff ℝ ⊤ f}`, avoiding manifold machinery.\nThe codomain parameter `ℝ` is currently a phantom type (the construction only\nworks for real-valued functions), but is included for forward compatibility with\nvector-valued generalizations. Mathlib's `AddCircle L` (= $\\mathbb{R}/L\\mathbb{Z}$)\nhas rich Fourier analysis but currently lacks `ChartedSpace`/`SmoothManifoldWithCorners`\ninstances, so `ContMDiffMap (AddCircle L) F` cannot yet be defined. Once Mathlib\ngains manifold structure on `AddCircle`, the type could be refactored to\n`ContMDiffMap (AddCircle L) F` with a genuine codomain parameter.\n\n### 2c. [Heat Kernel Toolkit](docs/heat-kernel-toolkit.md)\n\nSpectral multiplier CLMs and QFT eigenvalue/singular value definitions for\nconstructing covariance operators on product spaces.\n\n| File | Lines | Contents |\n|------|------:|----------|\n| [HeatKernel/Axioms.lean](HeatKernel/Axioms.lean) | 264 | `spectralCLM`, `qftEigenvalue`, `qftSingularValue`, boundedness |\n| [HeatKernel/Bilinear.lean](HeatKernel/Bilinear.lean) | 410 | Heat kernel bilinear form `K_t`, Green's function `G_mass`, L² convergence, positivity |\n| [HeatKernel/PositionKernel.lean](HeatKernel/PositionKernel.lean) | 2,183 | Position-space heat kernels: Mehler kernel, circle heat kernel (off main build path; [future proof target](summary/future/mehler_kernel.md)) |\n\n`spectralCLM σ hσ : E →L[ℝ] ℓ²` maps `f ↦ (σ_m · coeff_m(f))_m` for any bounded\nmultiplier sequence `σ`. This is the key tool for constructing covariance operators:\nthe GFF covariance on S¹_L × ℝ uses `spectralCLM` with `σ_m = λ_m^{-1/2}` where\n`λ_m = (2πn/L)² + (2k+1) + m²`.\n\n### 2d. Lattice Field Theory\n\nLattice site types, discrete Laplacian, lattice Gaussian measures, and the FKG\ninequality. Used by [pphi2](https://github.com/mrdouglasny/pphi2) for the\nGlimm-Jaffe/Nelson construction.\n\n`FinLatticeSites d N` is defined as `Fin d → ZMod N`, using Mathlib's canonical\nquotient ring `ZMod N` for the discrete torus `(ℤ/Nℤ)^d`. This enables\nembedding into the continuous torus `(ℝ/pℤ)^d` via `ZMod.toAddCircle`,\nmulti-scale refinement via `ZMod.castHom`, and interoperability with\nAddCircle-based lattice frameworks (Tanimoto).\n\n| File | Contents |\n|------|----------|\n| [Lattice/Sites.lean](Lattice/Sites.lean) | `FinLatticeSites d N := Fin d → ZMod N`, `InfLatticeSites d`, `latticeNorm`, neighbors |\n| [Lattice/TorusEmbedding.lean](Lattice/TorusEmbedding.lean) | `ContinuousTorus d p`, `siteToTorus : FinLatticeSites d N →+ ContinuousTorus d p` (with Yoh Tanimoto) |\n| [Lattice/FiniteField.lean](Lattice/FiniteField.lean) | `FinLatticeField d N`, `DyninMityaginSpace` and `HasPointEval` instances |\n| [Lattice/RapidDecayLattice.lean](Lattice/RapidDecayLattice.lean) | `RapidDecayLattice d` (rapidly decaying functions on ℤ^d), seminorms, topology |\n| [Lattice/Laplacian.lean](Lattice/Laplacian.lean) | `finiteLaplacian`, `infiniteLaplacian`, `massOperator`, eigenvalue formulas |\n| [Lattice/SpectralCovariance.lean](Lattice/SpectralCovariance.lean) | Mass operator spectral decomposition, `spectralLatticeCovariance` CLM, `gaussianDensity` |\n| [Lattice/HeatKernel.lean](Lattice/HeatKernel.lean) | Heat kernel `K_t = exp(-t·(-Δ))`, semigroup, symmetry, commutation |\n| [Lattice/Symmetry.lean](Lattice/Symmetry.lean) | Translation/reflection operators, Toeplitz property, Laplacian/heat kernel commutation |\n| [Lattice/Covariance.lean](Lattice/Covariance.lean) | `latticeCovariance` via spectral theorem, `latticeGaussianMeasure` |\n| [GaussianField/Density.lean](GaussianField/Density.lean) | [Density bridge: Gaussian measure ↔ Gaussian density](summary/GaussianField/Density.md) |\n| [Lattice/AsymCovariance.lean](Lattice/AsymCovariance.lean) | **Heterogeneous** (`Nt ≠ Ns`) isotropic lattice `AsymLatticeField Nt Ns := (ZMod Nt × ZMod Ns) → ℝ`: `massOperatorAsym`, `latticeCovarianceAsymGJ` (GJ cell-area normalisation), asym spectral/DFT data |\n| [Lattice/AsymFiniteField.lean](Lattice/AsymFiniteField.lean) | `DyninMityaginSpace (AsymLatticeField Nt Ns)` instance (asym analogue of `FiniteField.lean`; delta basis, point-eval coefficients) |\n| [GaussianField/DensityAsym.lean](GaussianField/DensityAsym.lean) | **Asym density bridge**: `evalMapAsym` (weak-dual ↔ coordinate equiv) and `latticeGaussianFieldLawAsym_eq_normalizedQuadraticGaussianMeasure` — the free asym GFF, in coordinates, is the Lebesgue-density Gaussian with precision `a²·massOperatorAsym` (heterogeneous analogue of `Density.lean`) |\n| [Lattice/FKG.lean](Lattice/FKG.lean) | FKG inequality for lattice Gaussian and convexly-perturbed measures |\n| [Lattice/CirculantDFT.lean](Lattice/CirculantDFT.lean) | DFT eigenbasis, spectral expansion, 1D heat kernel convergence |\n| [Lattice/HeatKernelConvergence1d.lean](Lattice/HeatKernelConvergence1d.lean) | Eigenvalue/DFT coefficient convergence, Riemann sum convergence |\n| [Lattice/Convergence.lean](Lattice/Convergence.lean) | Green's function convergence (lattice → continuum) |\n\n### 2e. [Point Evaluation and API](docs/point-eval-and-api.md)\n\n| File | Lines | Contents |\n|------|------:|----------|\n| [Nuclear/PointEval.lean](Nuclear/PointEval.lean) | 66 | `HasPointEval` typeclass + instances |\n| [GaussianFieldAPI.lean](GaussianFieldAPI.lean) | 90 | Re-export file for downstream QFT projects |\n\n`HasPointEval E M` abstracts pointwise evaluation across test function spaces.\n`GaussianFieldAPI.lean` collects the public API (Configuration, measure, charFun,\nmoments, spectralCLM) for downstream consumers.\n\n### 2f. Cylinder (Osterwalder-Schrader Axioms) — *WIP*\n\n> **Work in progress.** This module has axioms and sorries. It is NOT part of the\n> default build target (`lake build` builds only the axiom-free core).\n> Build with `lake build Cylinder` or `lake build All`.\n\nTest function space and symmetry infrastructure for the cylinder $S^1_L \\times \\mathbb{R}$,\nthe natural geometry for the Osterwalder-Schrader axioms. The spatial direction is\ncompact (circle of circumference $L$) while the temporal direction is the full real line,\ngiving a clean positive-time half-space $\\{t > 0\\}$ with no wraparound issues.\n\n| File | Lines | Contents |\n|------|------:|----------|\n| [Cylinder/Basic.lean](Cylinder/Basic.lean) | 75 | `CylinderTestFunction L` $= C^\\infty(S^1_L) \\hat\\otimes \\mathcal{S}(\\mathbb{R})$, `Configuration` axioms |\n| [Cylinder/Symmetry.lean](Cylinder/Symmetry.lean) | 320 | Reflection, translation (Schwartz-level and cylinder-level), configuration-level actions, 1D positive-time Schwartz submodule, eval CLM, closedness |\n| [Cylinder/PositiveTime.lean](Cylinder/PositiveTime.lean) | 231 | `cylinderPositiveTimeSubmodule`, `cylinderNegativeTimeSubmodule`, Θ maps P+ into N−, disjointness of Θf from P+, spatial translation preserves P+ |\n| [Cylinder/GreenFunction.lean](Cylinder/GreenFunction.lean) | 240 | `cylinderMassOperator` $= (-\\Delta + m^2)^{-1/2}$ via `spectralCLM`, `cylinderGreen` $= \\langle Tf, Tg \\rangle_{\\ell^2}$, bilinearity, symmetry, positivity, invariance |\n\n**Key definitions:**\n\n- `CylinderTestFunction L` — nuclear tensor product $C^\\infty(S^1_L) \\hat\\otimes \\mathcal{S}(\\mathbb{R})$, inherits `DyninMityaginSpace`\n- `cylinderTimeReflection L` — $\\mathrm{id} \\otimes \\Theta$ where $\\Theta f(t) = f(-t)$\n- `cylinderPositiveTimeSubmodule L` — closure of span of $g \\otimes h$ with $\\mathrm{supp}(h) \\subset (0,\\infty)$\n- `cylinderMassOperator L mass hmass` — $(-\\Delta + m^2)^{-1/2}$ via `spectralCLM` with QFT singular values\n- `cylinderGreen L mass hmass` — Green's function $G_L(f,g) = \\langle Tf, Tg \\rangle_{\\ell^2}$\n\n**Proved results:**\n\n| Theorem | Statement |\n|---------|-----------|\n| `cylinderTimeReflection_pos_to_neg` | $\\Theta$ maps P+ into N− |\n| `cylinderPositiveTime_disjoint_reflected` | $\\Theta f \\notin P^+$ for nonzero $f \\in P^+$ |\n| `cylinderPositiveTime_spatialTranslation_closed` | Spatial translation preserves P+ |\n| `cylinderGreen_bilinear` | $G_L(rf + g, h) = r \\cdot G_L(f,h) + G_L(g,h)$ |\n| `cylinderGreen_symm` | $G_L(f,g) = G_L(g,f)$ |\n| `cylinderGreen_nonneg` | $G_L(f,f) \\geq 0$ |\n| `cylinderGreen_continuous_diag` | $f \\mapsto G_L(f,f)$ is continuous |\n\n### 3. Gaussian Field Construction\n\nGiven `[DyninMityaginSpace E]` and `T : E →L[ℝ] H`, constructs the centered Gaussian\nprobability measure on $E' = \\text{WeakDual}\\ \\mathbb{R}\\ E$.\n\n| File | Lines | Contents |\n|------|------:|----------|\n| [SpectralTheorem.lean](GaussianField/SpectralTheorem.lean) | 468 | [Compact self-adjoint spectral theorem](summary/GaussianField/SpectralTheorem.md) |\n| [NuclearSVD.lean](GaussianField/NuclearSVD.lean) | 640 | [SVD for nuclear operators](summary/GaussianField/NuclearSVD.md) |\n| [NuclearFactorization.lean](GaussianField/NuclearFactorization.lean) | 190 | [Source-indexed nuclear representation](summary/GaussianField/NuclearFactorization.md) |\n| [TargetFactorization.lean](GaussianField/TargetFactorization.lean) | 324 | [Target-indexed factorization with ONB](summary/GaussianField/TargetFactorization.md) |\n| [Construction.lean](GaussianField/Construction.lean) | 715 | [Main construction + characteristic functional](summary/GaussianField/Construction.md) |\n| [Properties.lean](GaussianField/Properties.lean) | 193 | [Gaussianity, moments, $L^p$ integrability](summary/GaussianField/Properties.md) |\n| [IsGaussian.lean](GaussianField/IsGaussian.lean) | 160 | [Mathlib `IsGaussian` instance for `measure T`](summary/GaussianField/IsGaussian.md) |\n| [Wick.lean](GaussianField/Wick.lean) | 1,067 | [Wick's theorem](summary/GaussianField/Wick.md): Gaussian IBP, recursive Wick formula, moment bounds |\n| [Support.lean](GaussianField/Support.lean) | 274 | [Hilbert-Schmidt condition, Cameron-Martin defs, support theorem](summary/GaussianField/Support.md) |\n| [Hypercontractive.lean](GaussianField/Hypercontractive.lean) | 441 | [Gaussian moments, Gross log-Sobolev inequality](summary/GaussianField/Hypercontractive.md) |\n| [HypercontractiveNat.lean](GaussianField/HypercontractiveNat.lean) | 329 | [Nelson's hypercontractive estimate](summary/GaussianField/HypercontractiveNat.md) for even integer p via double-factorial combinatorics |\n| [Symmetry.lean](GaussianField/Symmetry.lean) | 250 | Measure-level symmetries: covariance-preserving CLM action ⇒ measure invariance. Includes `measure_neg_invariant` and the lattice instance `latticeGaussianFieldLaw_isNegInvariant`. |\n| [StandardGaussianBridge.lean](GaussianField/StandardGaussianBridge.lean) | 513 | Lattice GFF as pushforward of the standard multivariate Gaussian: orthogonalised coordinates `ξ_k(ω) = ω(e_k) · √(a^d λ_k)` are i.i.d. `N(0,1)` (`gffOrthonormalCoord_normal`/`_independent`), pushforward equality `Π_k gaussianReal 0 1` (`gffOrthonormalProj_pushforward_eq_stdGaussian`), characteristic-functional form (`gffOrthonormalProj_charFun`) |\n| [WickMultivariate.lean](GaussianField/WickMultivariate.lean) | 593 | Multivariate Wick monomials in the orthogonalised GFF coordinates: `gffMultiWickMonomial_eq_hermite_product`, `gffMultiWickMonomial_orthogonality` (`∫ :ξ^α: · :ξ^β: dμ_GFF = δ_{αβ} · ∏ α_j!`), and the eigenbasis expansion `siteWickMonomial_eigenbasis_expansion` of the site Wick monomial `:φ(x)^k:_{c_a(x)}` |\n\n### Dependency graph\n\n```\nNuclear/\n  DyninMityagin → NuclearTensorProduct → PointEval\n       ↓                ↓\nSchwartzNuclear/   SmoothCircle/                       GaussianField/\n  ...              Basic → Nuclear → Eigenvalues    NuclearFactorization\n                          ↓    ↓          ↓\n                   Restriction  Laplacian → HeatSemigroup\n  HermiteNuclear        ↓                     ↓\n       ↓           Test (uses GF)   SpectralTheorem → NuclearSVD → TargetFactorization\n  SchwartzTensorProduct                                                ↓\n       ↓                                                               ↓\n       └──────────────→ GaussianField.lean ←─────────────────── Construction\n                              ↓                                        ↓\n                       HeatKernel/                                 Properties\n                     Axioms, PositionKernel                          ↓     ↓\n                              ↓                                IsGaussian  Wick\n                       GaussianFieldAPI.lean (re-exports for downstream)\n\nCylinder/ (OS axiom infrastructure)\n  Basic ← Symmetry ← PositiveTime\n                   ← GreenFunction\n  (imports SmoothCircle/Nuclear, SchwartzNuclear, Nuclear/TensorProductFunctorAxioms)\n```\n\n## Downstream projects\n\nThis library provides the concrete functional analysis infrastructure for:\n\n- **[pphi2](https://github.com/mrdouglasny/pphi2)** — Formal construction of the P(Φ)₂ interacting Euclidean QFT via the Glimm-Jaffe/Nelson lattice approach. Uses the Lattice module (lattice Gaussian measure, FKG inequality, discrete Laplacian) and the core Gaussian field API.\n\n- **[OSreconstruction](https://github.com/mrdouglasny/OSreconstruction)** — Osterwalder-Schrader reconstruction theorem and Wightman axioms. gaussian-field's `extension` branch proves two axioms used in `Wightman/WightmanAxioms.lean`:\n  - `schwartz_nuclear_extension` — the Schwartz kernel theorem (proved in `GeneralResults/NuclearExtensionComplex.lean`)\n  - `exists_continuousMultilinear_ofSeparatelyContinuous` — Banach-Steinhaus for separately continuous multilinear maps (proved in `GeneralResults/SeparatelyContMultilinear.lean`)\n\n- **[QFTFramework](https://github.com/mrdouglasny/QFTFramework)** — Abstract QFT axiomatics (`SpacetimeData`, `QFTData`, `OSTheory`). gaussian-field's types fill QFTFramework's abstract slots.\n\n- **[GFF](https://github.com/mrdouglasny/GFF)** — Bridges gaussian-field and QFTFramework to formalize the Gaussian free field on cylinders (S¹_L × ℝ), tori (T²), and flat ℝ^d, with Osterwalder-Schrader axiom verification.\n\n- **[OSforGFF](https://github.com/mrdouglasny/OSforGFF)** — OS axiom verification for the Gaussian free field. Imports gaussian-field's `main` branch for `DyninMityaginSpace (SchwartzMap D ℝ)` (Schwartz space nuclearity via Hermite expansion) and the Gaussian measure construction.\n\n## Proof status\n\nThe core results are fully proved with no custom axioms:\n\n- `DyninMityaginSpace (SchwartzMap D ℝ)` — sorry-free (~8,100 lines via Hermite expansion)\n- `DyninMityaginSpace (SmoothMap_Circle L ℝ)` — sorry-free (~1,670 lines via Fourier basis)\n- `DyninMityaginSpace.toNuclearSpace` — sorry-free (Dynin-Mityagin implies Pietsch)\n- `GaussianField.measure`, `charFun`, moments — sorry-free\n- `gaussian_ibp_general`, `wick_recursive`, `wick_bound`, `odd_moment_vanish` — sorry-free\n\nThe hypercontractive and log-Sobolev development is fully theorem-backed (`GaussianField/HypercontractiveNat.lean`, `GaussianField/Hypercontractive.lean`) with no remaining axioms or sorries in that path.\n\nThe lattice/FKG pipeline is theorem-backed end-to-end: continuous Ahlswede-Daykin (including ENNReal bridge and n-dimensional induction), lattice Gaussian FKG, perturbation/truncation lemmas, and the density bridge in `GaussianField/Density.lean` are proved. The **heterogeneous** (`Nt ≠ Ns`) density bridge `GaussianField/DensityAsym.lean` (`latticeGaussianFieldLawAsym_eq_normalizedQuadraticGaussianMeasure`) is likewise proved sorry-free and axiom-clean.\n\nThe **standard-Gaussian bridge** and **multivariate Wick algebra** are theorem-backed end-to-end (`GaussianField/StandardGaussianBridge.lean`, `GaussianField/WickMultivariate.lean`, `SchwartzNuclear/HermiteWick.lean`). All seven of the original bridge/Wick claims — orthogonalised-coordinate normality (`gffOrthonormalCoord_normal`), independence (`_independent`), pushforward to the standard pi-Gaussian (`gffOrthonormalProj_pushforward_eq_stdGaussian`), characteristic-functional form (`gffOrthonormalProj_charFun`), Wick-monomial / Hermite identification (`gffMultiWickMonomial_eq_hermite_product`), Wick orthogonality (`gffMultiWickMonomial_orthogonality`: `∫ :ξ^α: · :ξ^β: dμ_GFF = δ_{αβ} · ∏ α_j!`), and the eigenbasis expansion of the site Wick monomial (`siteWickMonomial_eigenbasis_expansion`) — are now proved theorems with no custom axioms. The bivariate and multivariate Wick multinomial identities (`wickMonomial_add_add`, `wickMonomial_pow_sum_expansion`) are proved generically over an arbitrary `Fintype` index set in `SchwartzNuclear/HermiteWick.lean` and could be upstreamed to Mathlib.\n\nThe 1D lattice-continuum convergence pipeline is fully proved: DFT eigenbasis construction, spectral expansion of the heat kernel, eigenvalue convergence, DFT coefficient convergence via Riemann sums, and the full heat kernel bilinear form convergence theorem (`lattice_heatKernel_tendsto_continuum_1d` in `Lattice/CirculantDFT.lean`).\n\nGreen's function invariance (reflection, translation) on pure tensors and the bilinear extension are proved in `HeatKernel/GreenInvariance.lean`. Fourier translation/reflection axioms in `SmoothCircle/FourierTranslation.lean` are fully proved.\n\n**Default build target** (`lake build`): **0 axioms, 0 sorries.**\n\nThis includes: Nuclear/, SchwartzNuclear/, SmoothCircle/, GaussianField/, Lattice/, HeatKernel/, Torus/, GeneralResults/.\n\n**WIP modules** (not in default build, build with `lake build Cylinder` or `lake build All`):\n\n| Module | Axioms | Sorries | Notes |\n|--------|--------|---------|-------|\n| Cylinder/ | 3 | 0 | OS axiom infrastructure, [proof plan](docs/cylinder-axiom-plan.md) |\n| SchwartzFourier/ | 1 | 0 | Hörmander multiplier theorem (general, Mathlib-ready) |\n\nFormer axioms have been proved or moved to `future/` as documentation:\n- [future/gaussian_field_axioms.lean](future/gaussian_field_axioms.lean) — [measure uniqueness, converse support, support Hilbert space](summary/future/gaussian_field_axioms.md)\n- [future/configuration_torus.lean](future/configuration_torus.lean) — [Polish/Borel instances for Configuration(Torus)](summary/future/configuration_torus.md)\n- [future/mehler_kernel.lean](future/mehler_kernel.lean) — [Mehler's formula eigenfunction expansion](summary/future/mehler_kernel.md)\n\n## Further documentation\n\n- [DyninMityaginSpace typeclass](docs/dynin-mityagin-typeclass.md) — typeclass definition, design decisions, how to construct instances, which spaces are nuclear\n- [Workflow](docs/workflow.md) — end-to-end three-layer workflow with Lean code examples\n- [Nuclear space infrastructure](docs/nuclear-space-infrastructure.md) — the `NuclearSpace` and `DyninMityaginSpace` typeclasses, `RapidDecaySeq`, and why nuclearity is needed\n- [Schwartz nuclearity proof](docs/schwartz-nuclearity-proof.md) — the 7,700-line proof that Schwartz space is nuclear\n- [Gaussian field construction](docs/gaussian-field-construction.md) — the 2,960-line measure construction\n- [Wick's theorem](docs/wick-theorem.md) — Gaussian IBP, recursive Wick formula, moment bounds, and OS1' growth estimate\n- [Concrete instances](docs/concrete-instances.md) — `DyninMityaginSpace` instances for $C^\\infty(S^1_L)$, finite lattices, periodic lattices, and generic tensor products, with Lean sketches\n- [Operator construction](docs/operator-construction.md) — building covariance operators on product spaces via the heat kernel $e^{-s\\Delta}$, Mathlib support, and the factorization theorem\n- [Lattice-continuum limit](docs/lattice-continuum-limit.md) — convergence of lattice Gaussian measures to continuum measures via characteristic functionals\n- [Generalization plan](docs/generalization-plan.md) — architecture of the `DyninMityaginSpace` typeclass, design decisions, and roadmap for future instances\n- [Tensor products](docs/tensor-products.md) — concrete construction of `NuclearTensorProduct` via `RapidDecaySeq` and Cantor pairing, `pure`/`lift` API, reindexing, and Schwartz tensor product isomorphisms\n- [Abstract tensor product plan](docs/abstract-tensor-product-plan.md) — roadmap for building completed projective tensor products on Mathlib's `TensorProduct`, proving isomorphism with `RapidDecaySeq`, and the nuclear coincidence theorem\n\n### 4. Schwartz Nuclear Extension Theorem (`extension` branch)\n\nProves the **Schwartz kernel theorem**: every continuous ℂ-multilinear functional\non $\\mathcal{S}(\\mathbb{R}^{d+1}, \\mathbb{C})^n$ extends uniquely to a continuous\nℂ-linear functional on $\\mathcal{S}(\\mathbb{R}^{n(d+1)}, \\mathbb{C})$, agreeing\non product tensors. This replaces the `schwartz_nuclear_extension` axiom in\n[OSreconstruction](https://github.com/mrdouglasny/OSreconstruction).\n\n**0 sorrys. 0 axioms.** Fully proved in ~2,500 lines across 4 files.\n\n| File | Lines | Contents |\n|------|------:|----------|\n| [GeneralResults/SchwartzProducts.lean](GeneralResults/SchwartzProducts.lean) | 632 | Product of Schwartz functions is Schwartz (`schwartzProductTensor_schwartz`), product Hermite density (`productHermite_schwartz_dense`), product-aware CLE (`productRapidDecayEquiv`) |\n| [GeneralResults/NuclearExtensionComplex.lean](GeneralResults/NuclearExtensionComplex.lean) | 1,357 | Complex product tensor, complexification, `schwartz_nuclear_extension` theorem |\n| [SchwartzNuclear/NuclearExtension.lean](SchwartzNuclear/NuclearExtension.lean) | 445 | DyninMityaginSpace extension theorem (`exists_unique_clm_of_polyBounded`), multilinear basis bounds |\n| [SchwartzNuclear/TsumBound.lean](SchwartzNuclear/TsumBound.lean) | 41 | Tsum bound helper |\n\n**Key results:**\n\n| Theorem | Description |\n|---------|-------------|\n| `schwartz_nuclear_extension` | $\\exists!\\ W : \\mathcal{S}(\\mathbb{R}^{n(d+1)}, \\mathbb{C}) \\to_{\\mathbb{C}} \\mathbb{C}$, agreeing with $\\Phi$ on product tensors |\n| `exists_unique_clm_of_polyBounded` | DyninMityaginSpace: $\\exists!$ CLM from polynomially-bounded basis values |\n| `multilinear_on_basis_bound` | $|\\Phi(\\psi_{k_1},\\ldots,\\psi_{k_n})| \\le C \\cdot \\prod(1+k_i)^s$ from continuity |\n| `schwartzProductTensor_schwartz` | Product $\\prod f_i(x_i)$ of Schwartz functions is Schwartz |\n| `productHermite_schwartz_dense` | Product Hermite functions span a dense subspace of $\\mathcal{S}(\\prod D)$ |\n| `productBasisIndices_polyGrowth` | Per-factor basis indices grow polynomially in the flat index |\n\n**Proof architecture:**\n\n- **Uniqueness**: Product Hermite density (`productHermite_schwartz_dense`) via product-aware CLE, then complexification $W(f) = w(\\text{Re}\\,f) + i \\cdot w(\\text{Im}\\,f)$\n- **Existence**: Restrict $\\Phi$ to real inputs → extract Re/Im parts → `multilinear_on_basis_bound` gives polynomial growth → `exists_unique_clm_of_polyBounded` constructs $w_{\\text{re}}, w_{\\text{im}}$ → complexify → prove agreement by induction on free arguments using `DyninMityaginSpace.expansion` in each slot\n\n## Future work\n\n- **New instances**: $C^\\infty(S^1)$ is fully proved; remaining targets: $C^\\infty(M)$ for compact $M$, half-spaces (see [concrete instances](docs/concrete-instances.md))\n- **Vector-valued generalization**: Generalize `SmoothMap_Circle L ℝ` and `SchwartzMap D ℝ` to vector-valued codomains $F$ (the `F` parameter in `SmoothMap_Circle` is a placeholder for this), with nuclearity via $C^\\infty(M, \\mathbb{R}^n) \\cong C^\\infty(M, \\mathbb{R})^n \\cong s(\\mathbb{N})$; long-term, refactor to `ContMDiffMap (AddCircle L) F` once Mathlib gains manifold structure on `AddCircle`\n- **Abstract tensor product**: Build completed projective tensor products on Mathlib's algebraic `TensorProduct`, prove isomorphism with `RapidDecaySeq` for DM spaces, and the nuclear coincidence theorem $\\pi = \\varepsilon$ (see [abstract tensor product plan](docs/abstract-tensor-product-plan.md))\n- **Besov regularity**: The support theorem (`support_of_hilbertSchmidt`) shows a.s. finite basis norm when $T$ is HS. The next step is showing $\\mu$-a.s. $\\omega \\in B^s_{p,q}$ for appropriate Besov indices\n- **$\\sigma$-algebra coincidence**: For separable nuclear Fréchet spaces, the cylindrical and Borel $\\sigma$-algebras on the dual coincide (see [future/configuration_torus.lean](future/configuration_torus.lean))\n\n## Building\n\n```bash\nlake update\nlake build\nlake build Test  # end-to-end tests: Gaussian measures on S(ℝ), S(ℝᵈ), C∞(S¹), cylinder, torus\n```\n\nRequires Lean 4 v4.28.0 and Mathlib (fetched automatically by Lake).\n\n## Authors\n\nMichael R. Douglas, with contributions from Yoh Tanimoto (torus embedding framework)\n\n## License\n\nApache 2.0\n\n## References\n\n- I.M. Gel'fand and N.Ya. Vilenkin, *Generalized Functions*, Vol. 4 (1964)\n- B. Simon, *The P(φ)₂ Euclidean (Quantum) Field Theory* (1974)\n- J. Glimm and A. Jaffe, *Quantum Physics: A Functional Integral Point of View* (1987)\n- S. Thangavelu, *Lectures on Hermite and Laguerre Expansions* (1993)\n- A. Dynin, B. Mityagin, \"Criterion for nuclearity in terms of approximative dimension\" (1960)\n",1786349530062]