Skip to content

alternative proof of gauss integral #1584

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

IshiguroYoshihiro
Copy link
Contributor

Motivation for this change

I added an alternative proof of gauss integral and placed it in theories/showcase.
This is an experimental approach to evaluating improper integral.
I have already separate reusable lemmas and made PRs ( #1579 is under review now), so this file intended to showcases the difference of proof strategy.
In contrast to the existing proof, this version mainly relies on lemmas related to integration over unbounded intervals.

Checklist
  • added corresponding entries in CHANGELOG_UNRELEASED.md
  • added corresponding documentation in the headers

Reference: How to document

Merge policy

As a rule of thumb:

  • PRs with several commits that make sense individually and that
    all compile are preferentially merged into master.
  • PRs with disorganized commits are very likely to be squash-rebased.
Reminder to reviewers

@IshiguroYoshihiro IshiguroYoshihiro changed the title Gauss integral alternative 20250422 alternative proof of gauss integral Apr 22, 2025
@hoheinzollern hoheinzollern self-requested a review April 23, 2025 04:06
@affeldt-aist affeldt-aist modified the milestones: 1.11.0, 1.12.0 May 1, 2025
Copy link
Member

@hoheinzollern hoheinzollern left a comment

Choose a reason for hiding this comment

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

Please consider the comments above.

Copy link
Member

Choose a reason for hiding this comment

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

Is this a good file name?

@@ -4,6 +4,9 @@

### Added

- in `theories/showcase`
+ add new file `gauss_integral_alternative.v`
Copy link
Member

Choose a reason for hiding this comment

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

The new lemmas and definitions should also be added in the changelog

(* # calculating gauss integrals by limit *)
(* ref: https://www.phys.uconn.edu/~rozman/Courses/P2400_17S/ *)
(* downloads/gaussian-integral.pdf *)
(* u (x : R) (y : R) : R == a function dominates gauss_fun over `[0, +oo[ *)
Copy link
Member

Choose a reason for hiding this comment

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

This should not be duplicated and the proper module imported. The module name in the original file also does not seem appropriate, it is worth considering to rearrange the original proof such that this alternative proof is more readable, and the symbols are available when appropriate.

Comment on lines +17 to +18
(* NB: some Notations and lemmas in gauss_integral are duplicated because *)
(* those are in Module or defined by `Let` so cannot be used directly. *)
Copy link
Member

Choose a reason for hiding this comment

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

Remove this when applying the comment above.

Comment on lines +33 to +54
(* PRed #1579 *)
Section ge0_nondecreasing_set_seq_cvg_integral.
Context {R : realType}.
Variables (S : (set R)^nat) (f : R -> \bar R).
Hypotheses (nndS : nondecreasing_seq S) (mS : (forall i, measurable (S i))).
Hypothesis (mf : (forall i, measurable_fun (S i) f)).
Hypothesis (f0 : forall i x, S i x -> 0 <= f x).

Notation mu := lebesgue_measure.

Lemma ge0_nondecreasing_set_seq_nondecreasing_integral_seq :
nondecreasing_seq (fun i => \int[mu]_(x in S i) f x).
Proof.
Admitted.

Lemma ge0_nondecreasing_set_seq_cvg_integral :
\int[mu]_(x in (S i)) f x @[i --> \oo] -->
\int[mu]_(x in \bigcup_i S i) f x.
Proof.
Admitted.

End ge0_nondecreasing_set_seq_cvg_integral.
Copy link
Member

Choose a reason for hiding this comment

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

This section needs to be remove, pending PR #1579


Lemma max_y_ge0 : (0 <= max_y)%R. Proof. by rewrite mulr_ge0. Qed.

Definition helper (x : R) := (2 * x * expR (- x ^+ 2))%R.
Copy link
Member

Choose a reason for hiding this comment

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

This and the next definitions and lemmas are non-descriptive. I recommend finding a better name.

Comment on lines +100 to +102
(* in gauss_integral but as a Let *)
Lemma integral0y_gauss_ge0 : (0%E <= \int[mu]_(x in `[0%R, +oo[) (gauss_fun x)%:E)%E.
Proof. by apply: integral_ge0 => //= x _; rewrite lee_fin gauss_fun_ge0. Qed.
Copy link
Member

Choose a reason for hiding this comment

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

Use the original lemma and remove this.


(* for lemmas only for integral yet *)
Lemma EFinK {R : realType} (x : R) : x = fine (EFin x).
Proof. by []. Qed.
Copy link
Member

Choose a reason for hiding this comment

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

Is this lemma necessary?


Lemma int_substE x : (0 < x)%R ->
\int[mu]_(y in `[0%R, +oo[) (expR (- x ^+ 2 * oneDsqr y))%:E
= (\int[mu]_(x1 in `[0%R, +oo[) (gauss_fun x / x * gauss_fun x1)%:E).
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
= (\int[mu]_(x1 in `[0%R, +oo[) (gauss_fun x / x * gauss_fun x1)%:E).
= \int[mu]_(x1 in `[0%R, +oo[) (gauss_fun x / x * gauss_fun x1)%:E.


Let dudx x0 y0 : R := (u^~ y0)^`() x0.

Lemma int0yu_fin_num x : \int[mu]_(x0 in `[0%R, +oo[) (u x x0)%:E \is a fin_num.
Copy link
Member

Choose a reason for hiding this comment

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

Should this be using int0yu?

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.

3 participants