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: port linarith #526

Closed
wants to merge 48 commits into from
Closed

[Merged by Bors] - feat: port linarith #526

wants to merge 48 commits into from

Conversation

semorrison
Copy link
Contributor

@semorrison semorrison commented Nov 1, 2022

TODO:

  • Before merge
  • Before or after merge?
  • Implement the removeNe preprocessor.
  • Add support for restricting to a single type. How to store a Type in LinarithConfig?
  • After merge
  • Teach norm_num to solve example [LinearOrderedRing α] : (0 : α) < 37 := by norm_num.
  • Port zify_proof (plumbing for zify), and add the natToInt preprocessor.
    Mostly done now, but see zify incorrectly uses eq.refl #741 before all the tests will work.
  • Port cancel_denoms tactic, and add the cancelDenoms preprocessor.
  • Add the nlinarith preprocessor and front-end syntax.

@semorrison
Copy link
Contributor Author

This PR/issue depends on:

@semorrison semorrison added the merge-conflict The PR has a merge conflict with master, and needs manual merging. label Nov 24, 2022
@semorrison semorrison removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. label Nov 25, 2022
@semorrison
Copy link
Contributor Author

I've just brought this up to date with master, but some typeclass instances got lost in the process. I'll try to fix these tonight.

@digama0
Copy link
Member

digama0 commented Nov 28, 2022

There are still some style things to clean up, and ideally it would use Qq more than it does, but this is good enough as a base for future modifications and it's passing the tests.

bors merge

@github-actions github-actions bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review labels Nov 28, 2022
bors bot pushed a commit that referenced this pull request Nov 28, 2022
TODO:
* Before merge
- [x] fix a bug in linarith in mathlib3 I just found ...
- [x] depends on: #519 
- [x] style lint
- [x] docs
- [X] move theory stubs to a separate PR, for easier tracking: #733 
- [x] failing to parse the `LinarithConfig` option

* Before or after merge?
- [ ] Implement the `removeNe` preprocessor.
- [ ] Add support for restricting to a single type. How to store a `Type` in `LinarithConfig`?

* After merge
- [ ] Teach `norm_num` to solve `example [LinearOrderedRing α] : (0 : α) < 37 := by norm_num`.
- [ ] Port `zify_proof` (plumbing for `zify`), and add the `natToInt` preprocessor.
  Mostly done now, but see #741 before all the tests will work.
- [ ] Port `cancel_denoms` tactic, and add the `cancelDenoms` preprocessor.
- [ ] Add the `nlinarith` preprocessor and front-end syntax.


Co-authored-by: Mario Carneiro <di.gama@gmail.com>
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@bors
Copy link

bors bot commented Nov 28, 2022

Build failed:

@semorrison
Copy link
Contributor Author

bors p=10

@semorrison
Copy link
Contributor Author

bors merge

bors bot pushed a commit that referenced this pull request Nov 28, 2022
TODO:
* Before merge
- [x] fix a bug in linarith in mathlib3 I just found ...
- [x] depends on: #519 
- [x] style lint
- [x] docs
- [X] move theory stubs to a separate PR, for easier tracking: #733 
- [x] failing to parse the `LinarithConfig` option

* Before or after merge?
- [ ] Implement the `removeNe` preprocessor.
- [ ] Add support for restricting to a single type. How to store a `Type` in `LinarithConfig`?

* After merge
- [ ] Teach `norm_num` to solve `example [LinearOrderedRing α] : (0 : α) < 37 := by norm_num`.
- [ ] Port `zify_proof` (plumbing for `zify`), and add the `natToInt` preprocessor.
  Mostly done now, but see #741 before all the tests will work.
- [ ] Port `cancel_denoms` tactic, and add the `cancelDenoms` preprocessor.
- [ ] Add the `nlinarith` preprocessor and front-end syntax.


Co-authored-by: Mario Carneiro <di.gama@gmail.com>
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@bors
Copy link

bors bot commented Nov 28, 2022

Build failed:

@semorrison
Copy link
Contributor Author

bors r-

@semorrison
Copy link
Contributor Author

bors r+

bors bot pushed a commit that referenced this pull request Nov 28, 2022
TODO:
* Before merge
- [x] fix a bug in linarith in mathlib3 I just found ...
- [x] depends on: #519 
- [x] style lint
- [x] docs
- [X] move theory stubs to a separate PR, for easier tracking: #733 
- [x] failing to parse the `LinarithConfig` option

* Before or after merge?
- [ ] Implement the `removeNe` preprocessor.
- [ ] Add support for restricting to a single type. How to store a `Type` in `LinarithConfig`?

* After merge
- [ ] Teach `norm_num` to solve `example [LinearOrderedRing α] : (0 : α) < 37 := by norm_num`.
- [ ] Port `zify_proof` (plumbing for `zify`), and add the `natToInt` preprocessor.
  Mostly done now, but see #741 before all the tests will work.
- [ ] Port `cancel_denoms` tactic, and add the `cancelDenoms` preprocessor.
- [ ] Add the `nlinarith` preprocessor and front-end syntax.


Co-authored-by: Mario Carneiro <di.gama@gmail.com>
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@bors
Copy link

bors bot commented Nov 28, 2022

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat: port linarith [Merged by Bors] - feat: port linarith Nov 28, 2022
@bors bors bot closed this Nov 28, 2022
@bors bors bot deleted the linarith branch November 28, 2022 22:38
rosborn added a commit that referenced this pull request Nov 29, 2022
* master: (26 commits)
  docs (Order.BoundedOrder): fix typos (#775)
  feat: port Algebra.Order.Monoid.Cancel.Defs (#774)
  feat: port Order.Disjoint (#773)
  feat: port linarith (#526)
  feat: port Algebra.Order.Monoid.Defs (#771)
  feat: port control.functor (#612)
  feat(Algebra/GroupWithZero/Commute): port file (#762)
  feat: port Logic.Equiv.Option (#674)
  chore: fix todos in `to_additive` (#765)
  feat(Algebra/Order/Monoid/MinMax): port file (#763)
  fix: update context in recursive calls in split_ifs (#761)
  feat(Algebra/Regular/Basic): port file (#758)
  feat: port Order.BoundedOrder (#697)
  feat: port Data.Pi.Algebra (#564)
  feat: port Algebra.Hom.Embedding (#764)
  fix: to_additive generates equation lemmas for target (#767)
  fix: fix translation errors in various files (#716)
  fix: remove submodules (#766)
  feat(Algebra/Group/Commute): port file (#750)
  feat(Algebra/Ring/Commute): port file (#759)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has been sent to bors.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants