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(data/{finset,finsupp,multiset}): more assorted lemmas #4006

Closed
wants to merge 247 commits into from

Conversation

robertylewis
Copy link
Member

Another grab bag of facts from the Witt vector branch.

Coauthored by: Johan Commelin johan@commelin.net

jsm28 and others added 20 commits August 31, 2020 22:26
Add an instance `nontrivial (fin (n + 2))`.
Co-authored-by: jalex-stark <alexmaplegm@gmail.com>
Co-authored-by: Frédéric Dupuis <31101893+dupuisf@users.noreply.github.com>
…up and nest. (#3764)

this is a transplant of leanprover-community/lean#439

the relevant css section looks more or less like this:
```css
        .indent-code {
            text-indent: calc(var(--indent-level) * -1ch);
            padding-left: calc(var(--indent-level) * 1ch);
        }
```

For details, one can play around here: https://jsfiddle.net/xbzhL60m/45/


Co-authored-by: Ed Ayers <EdAyers@users.noreply.github.com>
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
Co-authored-by: E.W.Ayers <E.W.Ayers@maths.cam.ac.uk>
Add a lemma that an injective function from a nontrivial type has an
argument at which it does not take a given value.
Now you can hit a new button in the tooltip and it will reveal the definition location in the editor!

Co-authored-by: Ed Ayers <EdAyers@users.noreply.github.com>
Add a `simp` lemma giving the range of `mono_of_fin`.
The definition of a `Scheme`, and the category of schemes as the full subcategory of locally ringed spaces.

Co-authored-by: Johan Commelin <johan@commelin.net>



Co-authored-by: Kevin Buzzard <k.buzzard@imperial.ac.uk>
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
Co-authored-by: Ashvni <ashvni.n@gmail.com>
This commit adds three induction principles for measure theory
* To prove something for arbitrary simple functions
* To prove something for arbitrary measurable functions into `ennreal`
* To prove something for arbitrary measurable + integrable functions.

This also adds some basic lemmas to various files. Not all of them are used in this PR, some will be used by near-future PRs.



Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
After the recent changes to make `fin n` a subtype, expressions
involving `fin.mk` were not getting simplified as they used to be,
since the `simp` lemmas are for the anonymous constructor, which is
`subtype.mk` not `fin.mk`.  Add a `simp` lemma converting `fin.mk` to
the anonymous constructor.

In particular, unsimplified expressions involving `fin.mk` were coming
out of `fin_cases` (I think this comes from `fin_range` in
`data/list/range.lean` using `fin.mk`).  I don't know if that should
be avoiding creating the `fin.mk` expressions in the first place, but
simplifying them seems a good idea in any case.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
… the quotient is a field (#3986)

One half of the theorem was already proven (the implication maximal
ideal implies that the quotient is a field), but the other half was not,
mainly because it was missing a necessary predicate.
I added the predicate is_field that can be used to tell Lean that the
usual ring structure on the quotient extends to a field. The predicate
along with proofs to move between is_field and field were provided by
Kevin Buzzard. I also added a lemma that the inverse is unique in
is_field.
At the end I also added the iff statement of the theorem.




Co-authored-by: AlexandruBosinta <32337238+AlexandruBosinta@users.noreply.github.com>
See https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/extension.20performance
The bug seems to go away if we collapse the extra nested spans made by `block` in to one span.

Still should do some tests to make sure this doesn't break anything else.

Minimal breaking example is:

```
import tactic.interactive_expr

example :
0+1+2+3+4+5+6+7+8+9 +
0+1+2+3+4+5+6+7+8+9 =
0+1+2+3+4+5+6+7+8+9 :=
by skip
```




Co-authored-by: Ed Ayers <EdAyers@users.noreply.github.com>
@robertylewis robertylewis added the awaiting-review The author would like community review of the PR label Aug 31, 2020
@semorrison
Copy link
Collaborator

bors merge

@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels Sep 1, 2020
bors bot pushed a commit that referenced this pull request Sep 1, 2020
Another grab bag of facts from the Witt vector branch.

Coauthored by: Johan Commelin <johan@commelin.net>

<!-- put comments you want to keep out of the PR commit here -->


Co-authored-by: Johan Commelin <johan@commelin.net>
@bors
Copy link

bors bot commented Sep 1, 2020

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(data/{finset,finsupp,multiset}): more assorted lemmas [Merged by Bors] - feat(data/{finset,finsupp,multiset}): more assorted lemmas Sep 1, 2020
@bors bors bot closed this Sep 1, 2020
@bors bors bot deleted the multiset-etc branch September 1, 2020 04:50
PatrickMassot pushed a commit that referenced this pull request Sep 8, 2020
Another grab bag of facts from the Witt vector branch.

Coauthored by: Johan Commelin <johan@commelin.net>

<!-- put comments you want to keep out of the PR commit here -->


Co-authored-by: Johan Commelin <johan@commelin.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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