Skip to content

[Merged by Bors] - feat: processes with independent increments#36718

Closed
EtienneC30 wants to merge 5 commits intoleanprover-community:masterfrom
EtienneC30:indep_incr
Closed

[Merged by Bors] - feat: processes with independent increments#36718
EtienneC30 wants to merge 5 commits intoleanprover-community:masterfrom
EtienneC30:indep_incr

Conversation

@EtienneC30
Copy link
Copy Markdown
Member

Define a predicate stating that a stochastic process has independent increments. Prove an equivalent definition using sequences instead of Fin. Prove some basic invariance properties.

Co-authored-by: @jvanwinden


Open in Gitpod

@EtienneC30 EtienneC30 added t-measure-probability Measure theory / Probability theory brownian Part of the ongoing formalization of the Brownian motion and stochastic integrals labels Mar 16, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 16, 2026

PR summary a2d322044a

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Probability.Independence.Process -1671
Mathlib.Probability.Independence.Process.Basic 1671
Mathlib.Probability.Independence.Process.HasIndepIncrements (new file) 2099

Declarations diff

+ HasIndepIncrements
+ HasIndepIncrements.indepFun_eval_sub
+ HasIndepIncrements.indepFun_sub_sub
+ HasIndepIncrements.map
+ HasIndepIncrements.map'
+ HasIndepIncrements.nat
+ HasIndepIncrements.neg
+ HasIndepIncrements.of_nat
+ HasIndepIncrements.smul
+ hasIndepIncrements_iff_nat

You can run this locally as follows
## summary with just the declaration names:
./scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/reporting/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

note: file Mathlib/Probability/Independence/Process.lean` was renamed to `Mathlib/Probability/Independence/Process/Basic.lean without a module deprecation
Please create a follow-up pull request adding one. Thanks!

@github-actions github-actions bot added the file-removed A Lean module was (re)moved without a `deprecated_module` annotation label Mar 16, 2026
@RemyDegenne
Copy link
Copy Markdown
Contributor

Is the definition using Fin easier to use in some cases? Should the Nat-indexed monotone sequence property be the main definition?

@EtienneC30
Copy link
Copy Markdown
Member Author

I wondered which one should be the definition. In the end I kept the Fin one because in my experience it is more common in textbooks etc., but my experience might be biased. As they both are equivalent, I decided to go with this one.

Also the only time I worked with the definition was to prove that a process with independent increments and Gaussian marginals was Gaussian, and I am not sure how the Nat version of the def could ease the proof. The main difficulty was to index a finset in the right order, but I would have had the same with a Nat version, to which I should have added a way to deal with integers larger than the cardinal of the finset.

But I guess @jvanwinden had a case where Nat was easier to deal with? I think maybe it was because they were dealing with an infinite sequence of increments, so I'd say the answer depends on what you are doing.

@jvanwinden
Copy link
Copy Markdown
Contributor

I agree with @EtienneC30 that the Fin version aligns closer with textbook definitions. On the other hand, I can offer two examples where the Nat version is nicer to work with:

  • the (second) Borel-Cantelli lemma requires independence of infinitely many events. So whenever these events are formulated in terms of independent increments, the Nat version is natural. I experienced this when proving the law of the iterated logarithm
  • the other advantage of Nat is that there are fewer types involved, which can sometimes reduce bookkeeping. The original proof of indepFun_sub_sub was significantly simplified by this

Taking all this into account, I am still undecided on which definition would be best suited for mathlib.

@EtienneC30
Copy link
Copy Markdown
Member Author

I am working on a PR to prove the lemma I mentioned above. I'll try to get rid of Fin and use Nat instead, and if it works I'll do the change. In any case this should be discussed in a docstring.

@EtienneC30 EtienneC30 added the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 17, 2026
@EtienneC30 EtienneC30 removed the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 18, 2026
@EtienneC30
Copy link
Copy Markdown
Member Author

Ok in the end I stuck with Fin for the definition, especially because for the definition with Nat I should have added the EventuallyConst condition which would have made the definition too cluttered (or I should have added an extra lemma for that case). But I indicated clearly in the docstring that in some cases it was better to use Nat. Regarding Gaussian processes, I stuck with Fin in #36745 and it works actually quite nicely, I don't think the Nat version would have made it more convenient.

Copy link
Copy Markdown
Contributor

@RemyDegenne RemyDegenne left a comment

Choose a reason for hiding this comment

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

Thanks!
bors r+

mathlib-bors bot pushed a commit that referenced this pull request Mar 18, 2026
Define a predicate stating that a stochastic process has independent increments. Prove an equivalent definition using sequences instead of `Fin`. Prove some basic invariance properties.

Co-authored-by: @jvanwinden
@mathlib-triage mathlib-triage bot added the ready-to-merge This PR has been sent to bors. label Mar 18, 2026
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Mar 18, 2026

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: processes with independent increments [Merged by Bors] - feat: processes with independent increments Mar 18, 2026
@mathlib-bors mathlib-bors bot closed this Mar 18, 2026
pfaffelh pushed a commit to pfaffelh/mathlib4 that referenced this pull request Mar 18, 2026
Define a predicate stating that a stochastic process has independent increments. Prove an equivalent definition using sequences instead of `Fin`. Prove some basic invariance properties.

Co-authored-by: @jvanwinden
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

brownian Part of the ongoing formalization of the Brownian motion and stochastic integrals file-removed A Lean module was (re)moved without a `deprecated_module` annotation ready-to-merge This PR has been sent to bors. t-measure-probability Measure theory / Probability theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants