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] - refactor(logic/basic): classical -> root, root -> decidable #3812

Closed
wants to merge 19 commits into from

Conversation

digama0
Copy link
Member

@digama0 digama0 commented Aug 15, 2020

This moves all logic lemmas with decidable instances into the decidable namespace, and moves or adds classical versions of these to the root namespace. This change hits a lot of files, mostly to remove the classical. prefix on explicit references to classical lemmas.

@github-actions github-actions bot added the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Aug 15, 2020
@github-actions github-actions bot removed the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Aug 15, 2020
@robertylewis robertylewis added the WIP Work in progress label Aug 15, 2020
@github-actions github-actions bot added the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Aug 16, 2020
@github-actions github-actions bot removed the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Aug 16, 2020
@bryangingechen
Copy link
Collaborator

Could you add docs on the decidable namespace and classical versions going in the root? I'm not sure whether that would fit best in a library note or a module doc string though.

@digama0
Copy link
Member Author

digama0 commented Aug 16, 2020

I thought about leaving the classical.* lemmas there as aliases, this would have decreased the size of the diff a lot, but I think it's better to do the cleanup.

Most likely this PR has caused more lemmas to use classical logic that didn't intend to, since I didn't do a find/replace of root lemmas to decidable.*, only classical.* to root, but it's easier to maintain AC freedom when this is explicitly marked with e.g. the decidable namespace, so it's mostly just a win with smaller proofs and less typeclass searching.

Copy link
Collaborator

@bryangingechen bryangingechen left a comment

Choose a reason for hiding this comment

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

Otherwise LGTM.

src/tactic/lint/type_classes.lean Outdated Show resolved Hide resolved
@robertylewis robertylewis removed the WIP Work in progress label Aug 17, 2020
@robertylewis
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 Aug 17, 2020
bors bot pushed a commit that referenced this pull request Aug 17, 2020
This moves all logic lemmas with `decidable` instances into the `decidable` namespace, and moves or adds classical versions of these to the root namespace. This change hits a lot of files, mostly to remove the `classical.` prefix on explicit references to classical lemmas.
@bors
Copy link

bors bot commented Aug 17, 2020

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title refactor(logic/basic): classical -> root, root -> decidable [Merged by Bors] - refactor(logic/basic): classical -> root, root -> decidable Aug 17, 2020
@bors bors bot closed this Aug 17, 2020
@bors bors bot deleted the decidable_namespace branch August 17, 2020 15:28
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

3 participants