[Merged by Bors] - feat(Topology/Algebra/InfiniteSum/NatInt): hasProd versions of ℕ+/ℕ transfer lemmas#41502
Conversation
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
PR summary 44608745a8Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
✅ PR Title Formatted CorrectlyThe title of this PR has been updated to match our commit style conventions. |
YaelDillies
left a comment
There was a problem hiding this comment.
Thanks! 🚀
maintainer merge
|
🚀 Pull request has been placed on the maintainer queue by YaelDillies. |
|
Thanks! bors merge |
…ransfer lemmas (#41502) The `PNat` section of `Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean` provides `Multipliable` and `tprod` lemmas for transferring infinite products between `ℕ+` and `ℕ`, but not `HasProd` lemmas. This PR completes this gap with: * `hasProd_pnat_iff_hasProd_succ`: `HasProd (fun n : ℕ+ ↦ f n) m ↔ HasProd (fun n : ℕ ↦ f (n + 1)) m`, the `HasProd` counterpart of the existing `multipliable_pnat_iff_multipliable_succ` * `hasProd_pnat_iff`: in a topological group, `HasProd (fun n : ℕ+ ↦ f n) g ↔ HasProd f (g * f 0)`, the counterpart of `multipliable_pnat_iff_multipliable_nat` * `tprod_pnat_eq_tprod_of_eq_one`: if `f 0 = 1`, then `∏' n : ℕ+, f n = ∏' n, f n`. Unlike `tprod_zero_pnat_eq_tprod_nat`, this requires no multipliability hypothesis (and no group structure or `T2Space`) **Motivation**: the additive versions (`hasSum_pnat_iff`, `tsum_pnat_eq_tsum_of_eq_zero`, ...) replace three private lemmas in the [FLT project](https://github.com/ImperialCollegeLondon/FLT) (`hasSum_nat_of_pnat_add`, `hasSum_pnat_of_nat`, `tsum_pnat_of_zero`), each of which becomes a one-line application, stated there for `ℂ` only. **AI Disclosure**: original code in FLT was written by William Coram and Samuel Yin with the assistance of Claude. It was later cleaned up using Codex. Co-authored-by: William Coram Co-authored-by: Samuel Yin
|
Pull request successfully merged into master. Build succeeded: |
…ransfer lemmas (leanprover-community#41502) The `PNat` section of `Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean` provides `Multipliable` and `tprod` lemmas for transferring infinite products between `ℕ+` and `ℕ`, but not `HasProd` lemmas. This PR completes this gap with: * `hasProd_pnat_iff_hasProd_succ`: `HasProd (fun n : ℕ+ ↦ f n) m ↔ HasProd (fun n : ℕ ↦ f (n + 1)) m`, the `HasProd` counterpart of the existing `multipliable_pnat_iff_multipliable_succ` * `hasProd_pnat_iff`: in a topological group, `HasProd (fun n : ℕ+ ↦ f n) g ↔ HasProd f (g * f 0)`, the counterpart of `multipliable_pnat_iff_multipliable_nat` * `tprod_pnat_eq_tprod_of_eq_one`: if `f 0 = 1`, then `∏' n : ℕ+, f n = ∏' n, f n`. Unlike `tprod_zero_pnat_eq_tprod_nat`, this requires no multipliability hypothesis (and no group structure or `T2Space`) **Motivation**: the additive versions (`hasSum_pnat_iff`, `tsum_pnat_eq_tsum_of_eq_zero`, ...) replace three private lemmas in the [FLT project](https://github.com/ImperialCollegeLondon/FLT) (`hasSum_nat_of_pnat_add`, `hasSum_pnat_of_nat`, `tsum_pnat_of_zero`), each of which becomes a one-line application, stated there for `ℂ` only. **AI Disclosure**: original code in FLT was written by William Coram and Samuel Yin with the assistance of Claude. It was later cleaned up using Codex. Co-authored-by: William Coram Co-authored-by: Samuel Yin
The
PNatsection ofMathlib/Topology/Algebra/InfiniteSum/NatInt.leanprovidesMultipliableandtprodlemmas for transferring infinite products betweenℕ+andℕ, but notHasProdlemmas. This PR completes this gap with:hasProd_pnat_iff_hasProd_succ:HasProd (fun n : ℕ+ ↦ f n) m ↔ HasProd (fun n : ℕ ↦ f (n + 1)) m, theHasProdcounterpart of the existingmultipliable_pnat_iff_multipliable_succhasProd_pnat_iff: in a topological group,HasProd (fun n : ℕ+ ↦ f n) g ↔ HasProd f (g * f 0), the counterpart ofmultipliable_pnat_iff_multipliable_nattprod_pnat_eq_tprod_of_eq_one: iff 0 = 1, then∏' n : ℕ+, f n = ∏' n, f n. Unliketprod_zero_pnat_eq_tprod_nat, this requires no multipliability hypothesis (and no group structure orT2Space)Motivation: the additive versions (
hasSum_pnat_iff,tsum_pnat_eq_tsum_of_eq_zero, ...) replacethree private lemmas in the FLT project (
hasSum_nat_of_pnat_add,hasSum_pnat_of_nat,tsum_pnat_of_zero), each of which becomes a one-line application, stated there forℂonly.AI Disclosure: original code in FLT was written by William Coram and Samuel Yin with the assistance of Claude. It was later cleaned up using Codex.
Co-authored-by: William Coram
Co-authored-by: Samuel Yin