A Lean 4 formalization of Lévy processes, built on top of mathlib.
Bochner API (LeanLevy/Representation/BochnerGaussian.lean)
covMatrix: covariance matrixψ(tᵢ - tⱼ)of a positive definite function, withcovMatrix_is_psdbochner_identity: for continuous PD ψ with ψ(0)=1,ψ t = ∫ exp(I·t·x) ∂μfor the spectral measure μ (explicit-integral form of Bochner's theorem)
Fourier analysis (LeanLevy/Fourier/)
- Fourier transform of finite measures on ℝ, with boundedness, continuity, and value at zero
- Positive definite functions: definition, Schur product theorem, pointwise closure, characteristic function bridge
- Bochner's theorem, proved via Gaussian smoothing, Prokhorov compactness, and Lévy continuity
Characteristic functions (LeanLevy/Probability/Characteristic.lean)
- Characteristic function of probability measures
- Bochner positive semi-definiteness
- Multiplicativity under convolution
Poisson distribution (LeanLevy/Probability/Poisson.lean)
- Expectation, variance, second factorial moment
- Characteristic function:
φ(ξ) = exp(r(exp(iξ) − 1))
Lévy's continuity theorem (LeanLevy/Probability/WeakConvergence.lean)
- Weak convergence of probability measures is equivalent to pointwise convergence of characteristic functions
- Tightness from convergence of characteristic functions
Stochastic processes (LeanLevy/Processes/StochasticProcess.lean)
- Independent and stationary increments
- Increment independence from the natural filtration
- The repo's
HasIndependentIncrementspredicate coincides definitionally with mathlib'sHasIndepIncrements(hasIndependentIncrements_iff_hasIndepIncrements)
Finite-dimensional distributions (LeanLevy/Processes/FiniteDimensional.lean)
- Joint law at finitely many times as a pushforward measure
- Marginalization: restricting to a subset of times recovers the sub-distribution
- Projective consistency (
IsProjectiveMeasureFamily)
Projective families (LeanLevy/Processes/ProjectiveFamily.lean)
- Bundled structure: measure family + consistency + probability
- Projection and composition lemmas (functoriality)
- Constructor from stochastic processes
Càdlàg paths (LeanLevy/Processes/Cadlag.lean)
- Right-continuity with left limits
- Monotone ℕ-valued functions are càdlàg when right-continuous
- Closure toolkit:
IsCadlagAt.congr(the property is local — it depends only on the germ at𝓝 t),IsCadlagAt.add/IsCadlag.add/IsCadlag.finsetSum(pointwise finite sums),isCadlag_stepIndicator(the right-continuous stept ↦ if c ≤ t then y else 0),Continuous.isCadlag,isCadlag_comp_nnrealCoe(precomposition with the coercionℝ≥0 → ℝ), andisCadlag_of_tendstoUniformlyOn— a uniform-on-Iic T(for everyT) limit of càdlàg functionsℝ → ℝis càdlàg
Lévy processes (LeanLevy/Processes/LevyProcess.lean)
- Definition: independent increments, stationary increments, càdlàg paths, starts at zero
- Characteristic exponent and supporting lemmas (multiplicativity, non-vanishing, right-continuity)
Kolmogorov extension theorem (LeanLevy/Processes/Kolmogorov.lean)
- Existence and uniqueness of the projective limit measure on Polish spaces
- σ-additivity of the cylinder content via inner regularity and Tychonoff compactness
Poisson process (LeanLevy/Processes/PoissonProcess.lean)
- Defined as a counting process with independent, Poisson-distributed increments
- Constructed via the Kolmogorov extension theorem from its finite-dimensional distributions, whose projective consistency comes down to the convolution identity for Poisson laws
- Is a Lévy process
Characteristic exponent (LeanLevy/Levy/CharacteristicExponent.lean)
- Local log construction (branch-cut safe) and local-global exponent agreement
- Semigroup API: multiplicativity, power formulas, complex power law
φ_t(ξ) = φ₁(ξ)^t - Ceiling-sequence density lemma: right-continuous + continuous functions agreeing on ℕ/ℕ rationals are equal
- Lévy exponential formula
F(t,ξ) = exp(tΨ(ξ))with full continuity int
Infinite divisibility (LeanLevy/Levy/InfiniteDivisible.lean)
- Iterated convolution, with characteristic function formula
- Poisson distribution is infinitely divisible
- Lévy process marginals are infinitely divisible
Lévy measures (LeanLevy/Levy/LevyMeasure.lean)
IsLevyMeasurepredicate:ν({0}) = 0and∫ min(1, x²) dν < ∞- Finite mass on
{x | ε ≤ |x|}, σ-finiteness IsLevyMeasure.smul: a finite scalar multiplec • ν(withc ≠ ∞) of a Lévy measure is again a Lévy measure
Compensated integrand (LeanLevy/Levy/CompensatedIntegral.lean)
levyCompensatedIntegrand ξ x = exp(ixξ) − 1 − ixξ·1_{|x|<1}- Pointwise norm bound, measurability, Bochner integrability under a Lévy measure
integral_levyCompensatedIntegrand_eq_small_add_large: the compensated integral against a Lévy measure splits at radius1into the compensated small-jump integral∫_{(−1,1)} (exp(ixξ) − 1 − ixξ) dνplus the plain large-jump integral∫_{|x| ≥ 1} (exp(ixξ) − 1) dν
Lévy–Khintchine theorem (LeanLevy/Levy/LevyKhintchine.lean, LevyKhintchineProof.lean, LevyKhintchineUniqueness.lean)
LevyKhintchineTriple: a drift, a Gaussian variance, and a Lévy measure, whoseexponentis the Lévy–Khintchine formulaψ_T(ξ) = ibξ − σ²ξ²/2 + ∫ (e^{ixξ} − 1 − ixξ·1_{|x|<1}) dνlevyKhintchine_representation: every infinitely divisible probability measure on ℝ has characteristic functionexp(ψ_T)for some triple. The Lévy measure is only required to be σ-finite with∫ min(1,x²) dν < ∞, so infinite-activity cases such as α-stable laws are covered (their infinite divisibility is not itself formalized here)- The proof extracts Khintchine's canonical measure by a single Prokhorov argument applied to the
min(1,x²)-tilted scaled measures, untilts it into the Lévy measure, and obtains the whole triple along one subsequence. The limit is identified at a split radiusr ∈ (1/2, 1]chosen so thatνhas no atom on the sphere; the resulting varianceσ² = lim t⁻¹∫_{|x|<r} x² dμ_t − ∫_{|x|<r} x² dνkeeps the small-jump second moment from being counted both inσ²and in the compensated integral levyKhintchine_converse: conversely, every triple is realised by an infinitely divisible law —ψ_Tis continuous, vanishes at0, is Hermitian and conditionally negative definite, so Schoenberg's theorem and Bochner's theorem produce a convolution semigroup whose time-1member has characteristic functionexp(ψ_T)LevyKhintchineTriple.ext_of_exponent_eq: the triple is determined by its exponent, via Sato's smearing argument —ψ_T(ξ) − ½∫_{[-1,1]} ψ_T(ξ+u) duis the characteristic function of a finite measure with aσ²/6atom at the origin and density1 − sincagainstν, from whichσ²,ν, and then the drift are recoveredisInfinitelyDivisible_iff_exists_levyKhintchineTripleandexistsUnique_levyKhintchineTriple: a probability measure on ℝ is infinitely divisible iff its characteristic function isexp(ψ_T)for a tripleT, and that triple is unique (equal exponentials force equal exponents by a continuous-logarithm argument on the connected line)
Compound Poisson process (LeanLevy/Processes/CompoundPoisson.lean, CompoundPoissonLaw.lean)
- Construction:
exists_isCompoundPoissonDriver— for any rater > 0and jump lawν', a driver(τ, Y)of i.i.d. exponential interarrival times and i.i.d.ν'-marks, jointly independent, on a canonical product space - Sample paths:
compoundPoisson_ae_isCadlag— the patht ↦ b·t + ∑_{n ≤ N(t)} Yₙis almost surely càdlàg - Pathwise Itô formula:
compoundPoisson_pathwise_ito— for aC¹functionf, a purely pathwise change-of-variables identityf(Xₜ) − f(X₀) = ∫₀ᵗ f'(Xₛ)·b ds + ∑ jump terms, valid for these finite-activity paths with no stochastic integral (the drift part is an ordinary Riemann integral, the jumps a finite sum) - Jump-count law:
map_jumpCount_arrival— the number of jumps by timetis Poisson with meanr·t, obtained from the Gamma law of the arrival times and telescoping survival probabilities - Characteristic function:
charFun_map_compoundPoisson— the marginal at timethas characteristic functionexp(t·(i b ξ + r·(charFun ν' ξ − 1))), by conditioning on the Poisson jump count and summing the generating series - Lévy–Khintchine realization:
compoundPoissonTripleis the triple(b + ∫_{|x|<1} x d(r·ν'), 0, r·ν');charFun_map_compoundPoisson_eq_exponentshows the marginal's characteristic function isexp(t·ψ_T)for this triple, so compound Poisson processes realize exactly the finite-activity, zero-Gaussian Lévy–Khintchine triples, andisInfinitelyDivisible_map_compoundPoissonrecords that every marginal is infinitely divisible (via the converse Lévy–Khintchine theorem)
Poisson random measures (LeanLevy/RandomMeasure/PoissonPointFamily.lean, PoissonRandomMeasure.lean, PoissonCompensated.lean, TimeSpacePoisson.lean, PoissonFiltration.lean, PoissonMartingale.lean, LevyJumpLaw.lean)
For a σ-finite intensity measure m on a measurable space, the random measure is constructed, rather than axiomatized.
- Point family:
prmPiece,prmPieceLawpartition the space into disjoint finite-mass pieces and normalizemon each;IsPoissonPointFamilybundles a family of piece counts and points, andexists_isPoissonPointFamilybuilds it in one shot with the counts and all points jointly independent, each count Poisson-distributed with the piece mass and each point drawn from the normalized piece law - Per-piece identities:
integral_pieceSumis Campbell's formula for a piece (E[∑ g(Xₙ)] = ∫ g dm),integral_sq_pieceSumits second moment, andintegral_pieceProd_eq_expthe piece probability-generating-function identityE[∏ w(Xₙ)] = exp(m(piece)·(∫ w dm̂ − 1)) - Thinning:
thinnedCountcounts the points of a piece landing in a set;map_thinnedCountshows this count is Poisson with meanm(piece ∩ A),indepFun_thinnedCount_thinnedCountgives independence of the counts on two disjoint sets, andiIndepFun_thinnedCountgives mutual independence of the counts over a finite pairwise-disjoint family (withintegral_prod_pow_thinnedCountandcharFunDual_pi_thinnedCountthe joint probability-generating and characteristic functions that factor across the pieces) - The random measure:
poissonRandomMeasureis a genuineMeasure-valued random object, a countable sum of Dirac masses at the realized points, withpoissonRandomMeasure_applyits evaluation andmeasurable_poissonRandomMeasure_applymeasurability;map_poissonRandomMeasure_applyis the superposition law — the countN(A)on a finite-mass set is Poisson with meanm A—indepFun_poissonRandomMeasure_applygives independence of the evaluations on two disjoint finite-mass sets, andiIndepFun_poissonRandomMeasure_applygives mutual independence of the evaluations over a finite pairwise-disjoint family of finite-mass sets - Lebesgue integration against the random measure: for a measurable
g ≥ 0,lintegral_poissonRandomMeasureevaluates∫⁻ g dNpathwise as the sum ofgover the realized points;lintegral_poissonRandomMeasure_applygives the evaluation mean∫⁻ N(A) dμ = m Afor a measurable setA(both sides may be⊤); andlintegral_lintegral_poissonRandomMeasureis Campbell's formula — for a measurableg, the mean of∫⁻ g dNoverωequals∫⁻ g dm - Compensated integral:
compensatedPoissonSumis the centered sum∑ f(Xₙ) − ∫ f dm;integral_compensatedPoissonSumshows it has mean zero andintegral_sq_compensatedPoissonSumis Campbell's second formula, the L² isometryE[Ñ(f)²] = ∫ f² dmonL¹ ∩ L², withmemLp_two_compensatedPoissonSumrecording square-integrability;compensatedPoissonIntegral : Lp ℝ 2 m → Lp ℝ 2 μextends the map to all ofL²(m)by density,eLpNorm_compensatedPoissonIntegralbeing the isometry on the whole space,compensatedPoissonIntegral_eq_sumits agreement with the explicit sum onL¹ ∩ L², andintegral_compensatedPoissonIntegralits mean-zero property on all ofL² - Time-indexed random measure: specializing to the mark space
ℝ × Eunder the product intensityvolume.prod mreadsℝas time;poissonTimeCountis the running count of realized marks in(0, t] × A,map_poissonRandomMeasure_bandis the band law (the count in(s, t] × Ais Poisson with mean(t − s) · m A),map_poissonTimeCountits running-count specialization,poissonTimeCount_addits pathwise additivity over consecutive windows, andiIndepFun_poissonRandomMeasure_bandsthe independent-increments statement — counts over consecutive disjoint time bands are mutually independent - Lévy specialization: with mark space
ℝand intensityvolume.prod νfor a Lévy measureν,memLp_two_smallJumpFunshows the small-jump test function1_{(0,t] × (−1,1)}(s, x) · xis square-integrable, solevyCompensatedSmallJumpis a genuineL²(μ)element at each timet;integral_levyCompensatedSmallJumpgives it mean zero andeLpNorm_sq_levyCompensatedSmallJumpits second momentt · ∫_{(−1,1)} x² dν, whilemap_levyLargeJumpCountshows the number of large jumps up to timetis Poisson with meant · ν{|x| ≥ 1} - Large-jump sum: at a fixed time
t ≥ 0,levyLargeJumpSumis the sum of the jump sizes of the realized marks in the band(0, t] × {|x| ≥ 1}, defined as a series of piece sums that is almost surely a finite sum;measurable_levyLargeJumpSumis its measurability,levyLargeJumpSum_ae_eq_integralidentifies it almost everywhere with the Bochner integral of the jump size against the random measure over the band, andlevyLargeJumpSum_ae_eq_toReal_subwrites it almost everywhere as a difference of Lebesgue integrals of the positive and negative jump parts.integral_levyLargeJumpSumgives its meant · ∫_{|x| ≥ 1} x dνunder the hypothesis that the jump size isν-integrable over{|x| ≥ 1}.charFun_map_levyLargeJumpSumidentifies its law as compound Poisson: the characteristic function isexp(t · ∫_{|x| ≥ 1} (e^{ixξ} − 1) dν). These are statements about the time-tmarginal, not about path regularity (for the almost-surely càdlàg sample paths of the large-jump sum, seeae_isCadlag_levyLargeJumpSumin the càdlàg-jump-process section below) - Evaluation σ-algebras and filtration:
prmEvalSigma K X m Ris the σ-algebra generated by the finite-mass evaluations of the random measure inside a regionR ⊆ E, andindep_prmEvalSigmarecords that the random measure is independently scattered — the evaluation σ-algebras of two disjoint regions are independent — resting onindepFun_poissonRandomMeasure_families, the independence of two finite families of finite-mass evaluation sets whose disjointness is required only across the families — each set of the first disjoint from each set of the second, with no disjointness needed within a family;iIndep_prmEvalSigmaandiIndepFun_poissonRandomMeasure_familiesupgrade both to the mutual case — the evaluation σ-algebras of finitely many pairwise-disjoint regions are mutually independent, and finitely many finite families with cross-family disjointness only give mutually independent evaluation processes — built over the disjoint-index grouping lemmas ofLeanLevy/Probability/IndependenceGrouping.lean(iIndepSets.piiUnionInter_of_pairwiseDisjoint,iIndep.biSup_of_pairwiseDisjoint,iIndepFun.setRestrict_of_pairwiseDisjoint, the mutual analogues of mathlib's binary grouping forms);measurable_lintegral_poissonRandomMeasure_prmEvalSigmashows that a Lebesgue integral of a region-supported function against the random measure is measurable with respect to that region's evaluation σ-algebra; readingℝas time,prmFiltrationis the natural filtration whose value at timetis the evaluation σ-algebra of the prefix region(−∞, t] × E(prmFiltration_apply) - Martingales: for the natural filtration
prmFiltrationoverℝ≥0,martingale_centeredPoissonTimeCountshows the centered running count(poissonTimeCount K X A t).toReal − t · (m A).toRealof a measurable finite-mass setAis a martingale, andmartingale_levyCompensatedSmallJumpshows the compensated small-jump process of a Lévy measure is a martingale — stated forlevyCompensatedSmallJumpVersion, theprmFiltration-adapted representative thatlevyCompensatedSmallJumpVersion_ae_eqplaces almost everywhere equal to theL²elementlevyCompensatedSmallJumpat each time; the martingale property is the conditional-expectation form of the independent-increment law and does not assert càdlàg paths, path regularity, or a process-level stochastic integral. At a fixed timet,indepFun_levyLargeJumpSum_levyCompensatedSmallJumpshows the large-jump sum and the compensated small-jump integral are independent — their mark regions{|x| ≥ 1}and(−1, 1)are disjoint, so the corresponding bands scatter independently — withaestronglyMeasurable_levyLargeJumpSum_prmEvalSigmathe almost-everywhere region-measurability of the large-jump sum that underlies it - Small-jump law: for a Lévy measure
νand timet ≥ 0,charFun_map_levyCompensatedSmallJumpidentifies the law of the compensated small-jump integrallevyCompensatedSmallJump— its characteristic function isexp(t · ∫_{(−1,1)} (e^{ixξ} − 1 − ixξ) dν), the compensated exponential of the small-jump band integral. It is assembled fromcharFun_map_compensatedBandSum, which for a measurable mark setA ⊆ (−1, 1)of finiteν-mass andt ≥ 0gives the characteristic functionexp(t · ∫_A (e^{ixξ} − 1 − ixξ) dν)of the compensated Poisson sum of the band test function over(0, t] × A, taken over an exhausting sequence of annuli whose integrals converge to the full small-jump band. These are statements about the time-tmarginal, not about path regularity (for the càdlàg small-jump path and its per-time modification of this integral, seelevySmallJumpPathin the càdlàg-jump-process section below) - Assembled jump law (
LevyJumpLaw.lean): at a fixed timet ≥ 0,charFun_map_levyJumpSum_eq_exponentidentifies the marginal law ofb · t + (large-jump sum) + (compensated small jumps)— its characteristic function isexp(t · ψ_T(ξ)), whereψ_Tis the Lévy–Khintchine exponent of the pure-jump triple(b, 0, ν)with zero Gaussian variance. The disjoint mark bands{|x| ≥ 1}and(−1, 1)make the large-jump sum and the compensated small jumps independent, so their compound-Poisson and compensated exponentials multiply; the two band integrals reassemble the Lévy–Khintchine jump integral at split radius1, and the deterministic drift supplies the linear term.isInfinitelyDivisible_map_levyJumpSumrecords that this same fixed-time marginal is infinitely divisible — it is the Lévy–Khintchine law of thet-scaled triple(t · b, 0, ENNReal.ofReal t • ν), again with zero Gaussian variance. These are statements about the single time-tmarginal, not about the full process (for the full process — with independent stationary increments and càdlàg paths — seelevyJumpPathandexists_isLevyProcess_pureJumpin the càdlàg-jump-process section below) - Jump process and its increments (
LevyJumpLaw.lean): the three fixed-time ingredients are assembled into a single processlevyJumpProcess, indexed byℝ≥0, whose value at timetis the driftb · tplus the compound-Poisson large-jump sum plus the compensated small-jump integral.hasIndependentIncrements_levyJumpProcessshows its increments over any monotoneℝ≥0time grid are mutually independent — each increment over a step(sₖ, sₖ₊₁]reads only the Poisson marks in its own time band(sₖ, sₖ₊₁] × ℝ, consecutive bands are pairwise disjoint, and disjoint regions scatter independently byiIndep_prmEvalSigma.hasStationaryIncrements_levyJumpProcessshows the increment over(s, s + h]has a law depending only on the lengthh.charFun_map_levyJumpProcess_subcomputes that increment's characteristic function asexp ((t − s) · ψ_{(b,0,ν)})fors ≤ t, whereψ_{(b,0,ν)}is the Lévy–Khintchine exponent of the pure-jump triple(b, 0, ν)with zero Gaussian variance;charFun_map_levyJumpProcessits time-tmarginalexp (t · ψ_{(b,0,ν)}); andlevyJumpProcess_zero_ae_eqthat the process is almost everywhere0at time0.exists_levyJumpProcesspackages these into a realization: for every driftband Lévy measureνthere is a probability space carrying a process with independent stationary increments, an a.e.-zero start, and marginal characteristic functionsexp (t · ψ_{(b,0,ν)}). All of these are law-level statements over monotoneℝ≥0grids: no path regularity (càdlàg) is claimed and the process is not asserted to be anIsLevyProcess— the realization holds in law only (for the càdlàg modification and the fullIsLevyProcessrealization, seelevyJumpPathandexists_isLevyProcess_pureJumpin the càdlàg-jump-process section below)
Càdlàg jump process (LeanLevy/RandomMeasure/LevyJumpPath.lean)
The pure-jump component is upgraded from a law-level object to a genuine process with regular sample paths, over the same Poisson-point family at intensity volume.prod ν.
- Pathwise band sums:
bandJumpSumis the pathwise sum of the marks of the realized points in the window(0, t] × A(almost surely a finite sum whenAhas finiteν-mass);ae_isCadlag_bandJumpSumshows that almost every sample patht ↦ bandJumpSum K X A t ωis càdlàg — almost surely only finitely many pieces are active in each bounded window, where the path is a finite sum of right-continuous jump steps — andae_isCadlag_levyLargeJumpSumis its large-jump specialization to the mark set{|x| ≥ 1} - Compensated band paths and martingale:
levyBandPathsubtracts the linear compensator driftt · ∫_A x dνfrom the band sum; for a bandA ⊆ (−1, 1)of finiteν-mass almost every path is càdlàg (ae_isCadlag_levyBandPath), and at each timet ≥ 0the path agreesμ-almost everywhere with the compensated Poisson integral of the band test function1_{(0,t] × A}(u, x) · x(levyBandPath_ae_eq_compensated).martingale_levyBandVersionshows theprmFiltration-adapted representativelevyBandVersionis a martingale - Maximal inequality:
measure_countable_sup_levyBandPath_geis a weak-type bound over a countable set of timesD ⊆ [0, T]— the event thatlevyBandPathexceeds a levelεin absolute value at some time inDhas measure at most√(T · ∫_A x² dν) / ε - Geometric truncation:
levyAnnulus nis the small-jump band(−1, 1)with a central hole of radius1/(n+1);levyTruncationSeq_specextracts a strictly increasing subsequence of annulus indices along which the tail second moment∫_{(−1,1) ∖ levyAnnulus} x² dνdecays at least geometrically (≤ 16⁻ʲ) - Compensated small-jump path:
levySmallJumpPathis the almost-sure uniform-on-compacts limit of the annulus compensated band paths — on the almost-sure good setlevySmallJumpGoodSetit is that uniform limit (of càdlàg approximants), and off it the path is gated to0. This unconditional gating makes it càdlàg for everyω(isCadlag_levySmallJumpPath), literally0att = 0(levySmallJumpPath_zero, a function equality), and measurable at each time (measurable_levySmallJumpPath).levySmallJumpPath_ae_eqidentifies it as a modification of theL²small-jump integrallevyCompensatedSmallJumpat each fixed timet ≥ 0— a per-time almost-everywhere equality whose null set may depend ont; no uniform-in-tstatement is claimed - The pure-jump process:
levyJumpPathis the driftb · tplus the compound-Poisson large-jump sum plus the compensated small-jump path, indexed byℝ≥0. It shares its drift and large-jump summands literally with the law-levellevyJumpProcess, replacing only theL²small-jump element by the pathwiselevySmallJumpPath. It starts at0for everyω(levyJumpPath_zero, a literal function equality), is a per-time modification oflevyJumpProcess(levyJumpPath_ae_eq), has almost-surely càdlàg sample paths (ae_isCadlag_levyJumpPath), and marginal characteristic functionexp(t · ψ_{(b,0,ν)})(charFun_map_levyJumpPath) — the Lévy–Khintchine exponent of the pure-jump triple(b, 0, ν)with zero Gaussian variance — with the characteristic exponent identified bycharExponent_levyJumpPath.isLevyProcess_levyJumpPathpromotes it to a genuineIsLevyProcess: a literal zero start, almost-surely càdlàg paths, and independent and stationary increments inherited fromlevyJumpProcessthrough the per-time a.e. modification - Headline realization:
exists_isLevyProcess_pureJump— for every driftband Lévy measureνthere is a probability space carrying a processX : ℝ≥0 → Ω → ℝthat is a genuineIsLevyProcess, whose time-slicesX tare measurable, and whose marginal at timethas characteristic functionexp(t · ψ_{(b,0,ν)}). This realizes every pure-jump triple(b, 0, ν)by a bona fide Lévy process. It does not assert the full Lévy–Itô decomposition, any uniqueness statement, or anything about a Brownian part: there is no Gaussian component (the variance slot is literally0), no full decomposition with a Gaussian summand, and no stochastic calculus is developed
The codebase is sorry-free. #print axioms on the main results — the Lévy–Khintchine representation, converse, uniqueness, and characterization, the compound Poisson pathwise Itô formula and law identification, and the Poisson random measure superposition law, mutual independence over a finite disjoint family, compensated second-moment isometry and its L² extension, the time-indexed independent increments, the Lévy small-jump isometry and large-jump count law, Campbell's formula for the Lebesgue integral against the random measure, the compound-Poisson law of the large-jump sum and its independence from the compensated small-jump integral, the independent scattering of the evaluation σ-algebras and its mutual (finitely-many-disjoint-region) upgrade, the centered-count and compensated small-jump martingales, the compensated small-jump law and the assembled jump law realizing the zero-Gaussian Lévy–Khintchine exponent together with its infinite divisibility, the jump process's independent and stationary increments and its in-law realization of pure-jump Lévy triples, and the càdlàg pure-jump process's genuine IsLevyProcess structure (isLevyProcess_levyJumpPath) together with its realization of every pure-jump triple by a bona fide Lévy process with almost-surely càdlàg paths (exists_isLevyProcess_pureJump) — reports only propext, Classical.choice, and Quot.sound.
Requires Lean 4 (v4.32.0) and mathlib.
lake build
LeanLevy/
├── Fourier/
│ ├── Bochner.lean
│ ├── MeasureFourier.lean
│ └── PositiveDefinite.lean
├── Probability/
│ ├── Characteristic.lean
│ ├── IndependenceGrouping.lean
│ ├── Poisson.lean
│ └── WeakConvergence.lean
├── Processes/
│ ├── Cadlag.lean
│ ├── CompoundPoisson.lean
│ ├── CompoundPoissonLaw.lean
│ ├── FiniteDimensional.lean
│ ├── ProjectiveFamily.lean
│ ├── Kolmogorov.lean
│ ├── LevyProcess.lean
│ ├── PiecewisePath.lean
│ ├── PoissonProcess.lean
│ └── StochasticProcess.lean
├── RandomMeasure/
│ ├── LevyJumpLaw.lean
│ ├── LevyJumpPath.lean
│ ├── PoissonCompensated.lean
│ ├── PoissonFiltration.lean
│ ├── PoissonMartingale.lean
│ ├── PoissonPointFamily.lean
│ ├── PoissonRandomMeasure.lean
│ └── TimeSpacePoisson.lean
├── Representation/
│ └── BochnerGaussian.lean
└── Levy/
├── CharacteristicExponent.lean
├── CompensatedIntegral.lean
├── InfiniteDivisible.lean
├── LevyKhintchine.lean
├── LevyKhintchineProof.lean
├── LevyKhintchineUniqueness.lean
└── LevyMeasure.lean