Skip to content
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

[Merged by Bors] - feat(ring_theory/hahn_series): order of a nonzero Hahn series, reindexing summable families #7444

Closed
wants to merge 7 commits into from

Conversation

awainverse
Copy link
Collaborator

Defines hahn_series.order, the order of a nonzero Hahn series
Restates add_val in terms of hahn_series.order
Defines hahn_series.summable_family.emb_domain, reindexing a summable family using an embedding


Open in Gitpod

The two things being introduced in this PR are not directly related, but they are both fairly straightforward, and came up in defining the field structure.

@awainverse awainverse added the awaiting-review The author would like community review of the PR label May 3, 2021
@awainverse awainverse requested a review from jcommelin May 3, 2021 17:03
src/ring_theory/hahn_series.lean Outdated Show resolved Hide resolved
src/ring_theory/hahn_series.lean Outdated Show resolved Hide resolved
@jcommelin jcommelin added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels May 4, 2021
@awainverse awainverse added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels May 4, 2021
@@ -700,4 +700,16 @@ lemma finsum_mul {R : Type*} [semiring R] (f : α → R) (r : R)
(∑ᶠ a : α, f a) * r = ∑ᶠ a : α, f a * r :=
(add_monoid_hom.mul_right r).map_finsum h

@[to_additive]
lemma finprod_emb_domain (f : α ↪ β) [decidable_pred (∈ set.range f)] (g : α → M) :
∏ᶠ (b : β), (if h : b ∈ set.range f then g (classical.some h) else 1) = ∏ᶠ (a : α), g a :=
Copy link
Member

Choose a reason for hiding this comment

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

The left hand side looks rather complicated and specialized. Do you think this could be replaced with the indicator function on the range of f? Also, I can imagine that someone will want to rw with this lemma, but only has an ordinary function that is function.injective. Would you mind also providing that version?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I can definitely do an injective version, but I'm having trouble determining what other form this could take. It's not equivalent to just an indicator function, because the thing being summed over depends on h : b ∈ set.range f. Perhaps a general classical.some lemma is the greatest generality?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I've made a helper lemma that does most of the work, by allowing you to convert between a finprod_mem that depends on the actual mem statement and one that does not, but I've left the original statement put. I expect it will find more use than just this, because if we end up refactoring finsupp to use finsum, this is the critical idea behind summing finsupp.emb_domain.

@jcommelin jcommelin added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels May 6, 2021
@awainverse awainverse added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels May 6, 2021
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

LGTM, I think 2 more easy simp-lemmas would be good. After that, let's get this merged!

src/ring_theory/hahn_series.lean Show resolved Hide resolved
@jcommelin jcommelin added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels May 7, 2021
@awainverse awainverse added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels May 7, 2021
@jcommelin
Copy link
Member

Great! If it passes CI, please merge it.

bors d+

@bors
Copy link

bors bot commented May 7, 2021

✌️ awainverse can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@github-actions github-actions bot added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels May 7, 2021
@jcommelin
Copy link
Member

bors merge

@github-actions github-actions bot added the ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) label May 7, 2021
bors bot pushed a commit that referenced this pull request May 7, 2021
…xing summable families (#7444)

Defines `hahn_series.order`, the order of a nonzero Hahn series
Restates `add_val` in terms of `hahn_series.order`
Defines `hahn_series.summable_family.emb_domain`, reindexing a summable family using an embedding
@bors
Copy link

bors bot commented May 7, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(ring_theory/hahn_series): order of a nonzero Hahn series, reindexing summable families [Merged by Bors] - feat(ring_theory/hahn_series): order of a nonzero Hahn series, reindexing summable families May 7, 2021
@bors bors bot closed this May 7, 2021
@bors bors bot deleted the hahn_order branch May 7, 2021 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated The PR author may merge after reviewing final suggestions. ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants