Conversation
chenson2018
requested changes
Apr 29, 2026
chenson2018
left a comment
Collaborator
There was a problem hiding this comment.
Starting with just a couple of comments about the additions in Cslib.Foundations.Data.Relation
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
chenson2018
reviewed
Apr 29, 2026
kmill
reviewed
Apr 29, 2026
chenson2018
requested changes
May 6, 2026
chenson2018
left a comment
Collaborator
There was a problem hiding this comment.
I've pointed out some places below where the issue of failing grind? comes up. I realize this is a bit of an annoyance for otherwise okay proofs, but it's important for maintainability (especially because I will be a bit less available in the near future).
My general recommendation is during development to use set_option linter.tacticAnalysis.verifyGrindOnly true to catch these.
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Collaborator
Author
|
All done, thanks. :) |
chenson2018
approved these changes
May 7, 2026
chenson2018
left a comment
Collaborator
There was a problem hiding this comment.
I also pushed a couple of small style commits, so please check that these look fine.
Collaborator
Author
|
Looks good, thank you very much! |
thomaskwaring
pushed a commit
to thomaskwaring/cslib_SKI
that referenced
this pull request
Jun 11, 2026
Adds logical equivalence for modal logic, proving that it is a `Congruence` (for any modal logic, regardless of the class of models considered) and a `LogicalEquivalence` (for logic K, i.e., when considering the class of all models). The PR also renames `Proposition.neg` to `Proposition.not` and adds a useful lemma on `Proposition.iff`. Depends on leanprover#528. --------- Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
benbrastmckie
pushed a commit
to benbrastmckie/cslib
that referenced
this pull request
Jun 12, 2026
Adds logical equivalence for modal logic, proving that it is a `Congruence` (for any modal logic, regardless of the class of models considered) and a `LogicalEquivalence` (for logic K, i.e., when considering the class of all models). The PR also renames `Proposition.neg` to `Proposition.not` and adds a useful lemma on `Proposition.iff`. Depends on leanprover#528. --------- Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
benbrastmckie
pushed a commit
to benbrastmckie/cslib
that referenced
this pull request
Jun 14, 2026
Adds Modal Logic and the Modal Cube, including all the 15 well-known modal logics (K, D, T, S5, etc.) and their relationships. The notation that overlaps with propositional logic is consistent with the existing module. Note for future work (or here, if somebody can see an easy fix that doesn't compromise readability for modal logicians): I'm not very satisfied by the notation for judgements, which includes a ',' so it can lead to some parsing trouble. --------- Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com> Co-authored-by: Chris Henson <chrishenson.net@gmail.com>
benbrastmckie
added a commit
to benbrastmckie/cslib
that referenced
this pull request
Jun 15, 2026
Diplomatic PR description for Modal/ formula primitives refactoring, stacking on PR leanprover#648. Coordinates with PRs leanprover#607, leanprover#528, leanprover#535, leanprover#649. Session: sess_1781535860_c7d8e9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Modal Logic and the Modal Cube, including all the 15 well-known modal logics (K, D, T, S5, etc.) and their relationships.
The notation that overlaps with propositional logic is consistent with the existing module.
Note for future work (or here, if somebody can see an easy fix that doesn't compromise readability for modal logicians): I'm not very satisfied by the notation for judgements, which includes a ',' so it can lead to some parsing trouble.