Repository navigation
refactor(Neighborhood): Rewrite the modal calculus with step-by-step proofs - #198
Merged
Merged
Conversation
…proofs Expand every derivation in `Logic/Calculus.lean` into one `have` per inference, group the derived axiom schemes by their conclusion, and write each derivation directly in its `instance` instead of routing it through a named `axiom<X>_of_<YZ>` lemma. - Drop `axiomK_of_MC`, `axiomP_of_ND` and `axiomP_of_MD`, and rename `box_mono_of_KN` to `rm_of_KN`. - Merge the duplicated `HasAxiomT` instance derived from `D`, `B` and `4`. - Make the duals `EDiaNNBox`, `CNBoxNBox` and `CNBoxBoxNBox` public and collect them with `diaTc`, `diaBc`, `diaFourc` and `diaFivec`. - Factor the step shared by the `N` derivations out as `axiomN_of_box`. - Remove the per-declaration docstrings, which only restated the statements. Co-Authored-By: Claude <noreply@anthropic.com>
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.
Rewrites
Neighborhood/Logic/Calculus.lean. Every derivation is now spelled out one inference perhave, at the granularity of a hand-written proof, and the derived axiom schemes are grouped by their conclusion.Proof style
Each derivation is a sequence of fully annotated
havesteps ending inexact, with no automation, so that a reader can follow it line by line against the informal argument. For instance,TfromC,D,Band5:Organization
instancerather than routed through a namedaxiom<X>_of_<YZ>lemma;axiomK_of_MC,axiomP_of_NDandaxiomP_of_MDare dropped accordingly, andbox_mono_of_KNbecomesrm_of_KN.M,C,K,N,P,D,T,B,Four,Five), with the duals (EDiaNNBox,diaTc,CNBoxNBox,diaBc,diaFourc,CNBoxBoxNBox,diaFivec) and the rules (rm,rmDia,nec) in sections of their own.EDiaNNBox,CNBoxNBoxandCNBoxBoxNBoxare no longerprivate.HasAxiomTinstance derived fromD,Band4is merged into one.Nderivations is factored out asaxiomN_of_box.No statement, hypothesis or public name changes:
re,multire,rm,rmDia,nec,diaTc, theaxiom*andaxiom*_subsetfamilies,axiomGeachand everyHasAxiom*class keep their names and types, so no other module needed a change.🤖 Generated with Claude Code
https://claude.ai/code/session_01JtZoFzbXnkxpRa6JmZqpme