Skip to content

refactor(Logics/Propositional): classical and intuitionistic inference systems#536

Merged
fmontesi merged 10 commits into
leanprover:mainfrom
thomaskwaring:nj-theories-fresh
Jun 16, 2026
Merged

refactor(Logics/Propositional): classical and intuitionistic inference systems#536
fmontesi merged 10 commits into
leanprover:mainfrom
thomaskwaring:nj-theories-fresh

Conversation

@thomaskwaring

Copy link
Copy Markdown
Collaborator

We amend the definitions of IsClassical and IsIntuitionistic in Logics.Propositional.Defs to refer to an inference system, rather than a theory. This makes inhabitation of these typeclasses independent of the chosen axiomatisation, so, for instance, we can define instance instIsIntuitionisticOfIsClassical [IsClassical Atom T] : IsIntuitionistic Atom T, which before was impossible. We describe some common alternative axiom systems for classical logic, and introduce some derived rules.

@fmontesi fmontesi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM. Could you fix the merge conflicts, @thomaskwaring?

I'm not so sure about the naming dne, efq, etc... they are rather arcane. Any better suggestions? But we can revisit this choice later, since we're working on introducing logical operators.

@thomaskwaring

Copy link
Copy Markdown
Collaborator Author

@fmontesi done, thanks! i see your point about the names, i was going for brevity, but something like derBotImpl and derNotNotImpl could work — what do you think?

@fmontesi fmontesi added this pull request to the merge queue Jun 16, 2026
Merged via the queue into leanprover:main with commit 70c5bf5 Jun 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants