Skip to content

feat: soundness and completeness of linear logic phase semantics#424

Open
tannerduve wants to merge 1 commit intoleanprover:mainfrom
tannerduve:LL-sound-complete
Open

feat: soundness and completeness of linear logic phase semantics#424
tannerduve wants to merge 1 commit intoleanprover:mainfrom
tannerduve:LL-sound-complete

Conversation

@tannerduve
Copy link
Copy Markdown
Contributor

@tannerduve tannerduve commented Mar 13, 2026

This PR proves that the sequent calculus for full classical linear logic (CLL) is sound with respect to phase semantics, and proves completeness for MALL, the multiplicative-additive fragment of classical linear logic. Specifically it shows that every provable sequent is valid in every phase space, and constructs a syntactic phase model to prove that semantic validity implies provability for MALL.

Note on AI usage: Aleph prover proved several lemmas used in proving completeness, and these proofs were heavily iterated on and golfed by me, ensuring they meet style standards.

A couple of proofs could possibly be further golfed, open to receiving help with this

@tannerduve tannerduve force-pushed the LL-sound-complete branch 3 times, most recently from cf5fa04 to aa382c6 Compare March 13, 2026 17:16
@chenson2018
Copy link
Copy Markdown
Collaborator

Could you please do a pass fixing indentation issues? I started to mark them all individually but I think it is just easier to point out that this in general doesn't adhere to indentation at four spaces for theorem statements using multiple lines.

@tannerduve
Copy link
Copy Markdown
Contributor Author

Could you please do a pass fixing indentation issues? I started to mark them all individually but I think it is just easier to point out that this in general doesn't adhere to indentation at four spaces for theorem statements using multiple lines.

definitely. I was unaware of this convention for some reason.

@tannerduve
Copy link
Copy Markdown
Contributor Author

just fixed, lmk if there are other issues wrt indentation or style conventions I've missed

Copy link
Copy Markdown
Collaborator

@chenson2018 chenson2018 left a comment

Choose a reason for hiding this comment

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

This isn't comprehensive, but a few style things I noticed. The formatting in general is a bit rough at the moment, I assume because of the AI usage.

I'd prefer to have @fmontesi review the actual content.

Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Basic.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Soundness.lean Outdated
Copy link
Copy Markdown
Collaborator

@fmontesi fmontesi left a comment

Choose a reason for hiding this comment

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

This looks pretty good to me, thanks!!

I've left a few comments where I had doubts.

Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Basic.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/Basic.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/Basic.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/Basic.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Soundness.lean Outdated
@tannerduve
Copy link
Copy Markdown
Contributor Author

addressed these, thanks! @fmontesi

@tannerduve tannerduve requested a review from fmontesi April 6, 2026 14:58
@fmontesi fmontesi requested a review from chenson2018 April 8, 2026 10:53
@fmontesi fmontesi enabled auto-merge April 8, 2026 10:53
@fmontesi
Copy link
Copy Markdown
Collaborator

fmontesi commented Apr 8, 2026

@chenson2018 can you accept?

@chenson2018
Copy link
Copy Markdown
Collaborator

@chenson2018 can you accept?

I'd like to do a more complete review of style here first, working on it now.

Copy link
Copy Markdown
Collaborator

@chenson2018 chenson2018 left a comment

Choose a reason for hiding this comment

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

I've left just a few additional comments below, but I feel like in general there's a lot of remaining AI footprint that does not feel appropriate to merge. It seems like there's a lot of change and unfolding that should be extracted as lemmas.

Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Basic.lean
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Completeness.lean Outdated
Comment thread Cslib/Logics/LinearLogic/CLL/PhaseSemantics/Soundness.lean Outdated
auto-merge was automatically disabled April 8, 2026 17:29

Head branch was pushed to by a user without write access

@tannerduve tannerduve requested a review from chenson2018 April 8, 2026 17:30
@tannerduve
Copy link
Copy Markdown
Contributor Author

@chenson2018 did one more style pass, let me know if any issues remain

@tannerduve tannerduve requested a review from kim-em as a code owner April 22, 2026 21:14
@tannerduve tannerduve force-pushed the LL-sound-complete branch 2 times, most recently from d0154f1 to 34154a7 Compare April 22, 2026 21:22
Co-authored-by: aleph-prover-dev[bot] <247854405+aleph-prover-dev[bot]@users.noreply.github.com>
@tannerduve
Copy link
Copy Markdown
Contributor Author

@kim-em you can ignore review request, accidentally pulled in some unrelated changes and GitHub automatically requested you

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.

3 participants