-
Notifications
You must be signed in to change notification settings - Fork 62
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
alternative proof of gauss integral #1584
Conversation
There was a problem hiding this 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.
CHANGELOG_UNRELEASED.md
Outdated
### Added | ||
|
||
- in `theories/showcase` | ||
+ add new file `gauss_integral_alternative.v` |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed. I had a misunderstanding when I wrote it.
I will correct it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I rewrited changelog as describe what lemmas are included in gauss_integral_unbounded.v
.
I'm glad if you check. (PR is reopened #1646 )
|
||
Lemma max_y_ge0 : (0 <= max_y)%R. Proof. by rewrite mulr_ge0. Qed. | ||
|
||
Definition helper (x : R) := (2 * x * expR (- x ^+ 2))%R. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I renamed this function ndgauss
meaning derivative of - gauss_fun
.
|
||
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. |
There was a problem hiding this comment.
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
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure how to resolve this.
When I use int0yu
in int0yu_fin_num
as
Lemma int0yu_fin_num x : (int0yu x)%:E \is a fin_num.
Is this the expected change?
I should unfold the notation Rintegral
in the proof of above but I feel I should avoid to unfold because Rintegral
is hidden by the notation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good to me, please consider the alternate file names and merge.
- by rewrite {}/ballx {}/c; near: e; exact: u_dominates. | ||
Unshelve. all: end_near. Qed. | ||
|
||
Lemma rc_int0yu0 : int0yu x @[x --> 0^'+] --> int0yu 0. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lemma rc_int0yu0 : int0yu x @[x --> 0^'+] --> int0yu 0. | |
Lemma cvg_int0yu : int0yu x @[x --> 0^'+] --> int0yu 0. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I renamed it to rcvg0_int0yu
.
rcvg0
means "converge at 0 from the right".
- by rewrite {}/G; near: e; exact: u_dominates. | ||
Unshelve. end_near. Qed. | ||
|
||
Let dint0yuE_substep2 x (x0 : (0 < x)%R) : |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let dint0yuE_substep2 x (x0 : (0 < x)%R) : | |
Let integral_pderive_u x : (0 < x)%R -> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I renamed to derive1_int0yuE_subproof2
.
Indeed more descriptive name is better.
However, I haven't found any other application of this lemma so I'm putting renaming to integral_pderive_u
off now.
Should I rename to it?
by rewrite mulrDr mulr1 mulNr -exprMn expRD. | ||
Qed. | ||
|
||
Let der_mulrE (x : R) : (fun z => (x * z)%R)^`() = cst x. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
try to use derive1Mr
in this proof
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since derive1Mr
can't apply directly at where der_mulrE
is used, I rewrited the proof of der_mulrE
with derive1Mr
.
* generic lemmas from the prob_lang PR Co-authored-by: Cyril Cohen <cyril.cohen@inria.fr>
In order to not forget it when adding a new release to opam repo.
Analysis is not yet compatible with rocq (without the coq-core compat shim) - Calling rocq didn't work with Coq 8.19 and 8.20 - Compile without coq shim on Rocq 9.0
* lemmas about measurability of comparison * measurability of poweR Co-authored-by: Alessandro Bruni <alessandro.bruni@gmail.com>
* add is_derive1_powR
--------- Co-authored-by: Cyril Cohen <CohenCyril@users.noreply.github.com> Co-authored-by: Reynald Affeldt <reynald.affeldt@aist.go.jp>
* theory of essential supremum Co-authored-by: Reynald Affeldt <reynald.affeldt@aist.go.jp> Co-authored-by: Cyril Cohen <cohen@crans.org> Co-authored-by: Pierre Roux <pierre.roux@onera.fr> Co-authored-by: Takafumi Saikawa <tscompor@gmail.com>
* fixes math-comp#1632 Co-authored-by: @yosakaon
* change the convention for the convex combination operation --------- Co-authored-by: Reynald Affeldt <reynald.affeldt@aist.go.jp>
* repair structure names in tvs.v * repair uniform algebraic structures * fix Zmodules
- this commit adds an implementation of the inverse for extended reals, `inve` a total involutive inversion function on `\bar R`, denoted `^-1` in the `ereal_scope` coinciding with `x^-1%R` when `x != 0` but such that `0^-1 = +oo` and `-oo^-1 = -oo`, - notation `x / y` in `ereal_scope` for `x / y = x * y^-1`/, - lemmas `inver`, `inveP`, `fine_invr`, `inve0`, `inve1`, `invey`, `invey`, `inveNy`, `inveK`, `invr_inj`, `inveN`, `inve_eq0`, `inve_ge0`, `inve_gt0`, - a predicate `inveM_def` with notation `x *^-1? y` defining a sufficient condition for the inverse and product to commute, - it changes `mule` to have special cases optimizing computation for +oo and -oo adn `mule_def` has been rewritten to optimize computation in several cases. - it adds a compatibility lemma `mule_defE` to bridge the former definition of `mule_def` with the new one. Co-authored-by: Reynald Affeldt <reynald.affeldt@aist.go.jp> Co-authored-by: Pierre Roux <pierre.roux@onera.fr>
* Chore: 📝 🔧 `make html` to make the html documentation using Rocqnavi This change has been inspire in the repository: https://github.com/CoqHott/logrel-coq
* alias for pseudometric and factory for normed module --------- Co-authored-by: Quentin Vermande <quentin.vermande@ens.fr>
* is_deriveX, etc. --------- Co-authored-by: Quentin VERMANDE <quentin.vermande@orange.fr>
Co-authored-by: IshiguroYoshihiro <jb.15r.1213@s.thers.ac.jp>
* expR_ge1Dxn
- the set of tuples is measurable - tnth, cons, behead are measurable functions Co-authored-by: Alessandro Bruni <brun@itu.dk> Co-authored-by: Cyril Cohen <cohen@crans.org> Co-authored-by: Pierre Roux <pierre.roux@onera.fr> Co-authored-by: Takafumi Saikawa <tscompor@gmail.com>
--------- Co-authored-by: Reynald Affeldt <reynald.affeldt@aist.go.jp>
I'm sorry, I accidentally pushed an unsuccessfully rebased commit. |
@hoheinzollern and @affeldt-aist , I've opened a clearer PR as #1646 . |
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
CHANGELOG_UNRELEASED.md
Reference: How to document
Merge policy
As a rule of thumb:
all compile are preferentially merged into master.
Reminder to reviewers