Skip to content

fix(LocallyNameless): change multiApp to right-recursive - #708

Merged
chenson2018 merged 10 commits into
leanprover:mainfrom
awesome-lambda-calculus:multiapp
Jul 11, 2026
Merged

fix(LocallyNameless): change multiApp to right-recursive #708
chenson2018 merged 10 commits into
leanprover:mainfrom
awesome-lambda-calculus:multiapp

Conversation

@lengyijun

@lengyijun lengyijun commented Jul 11, 2026

Copy link
Copy Markdown
Contributor
  • Redefine multiApp as right-recursive (multiApp (app f a) as) instead of left.
  • Switch several inductions to List.reverseRecOn for compatibility with the new recursion.
  • Add listFullBeta_cons_r/listFullBeta_cons_l/multiApp_tail helpers.
  • Update related proofs

Fixes #706

@lengyijun lengyijun changed the title refactor(LocallyNameless): change multiApp to right-recursive + add t… refactor(LocallyNameless): change multiApp to right-recursive Jul 11, 2026
@lengyijun lengyijun changed the title refactor(LocallyNameless): change multiApp to right-recursive fix(LocallyNameless): change multiApp to right-recursive Jul 11, 2026
@chenson2018

Copy link
Copy Markdown
Collaborator

Before I review, please fix the indentation.

@lengyijun
lengyijun force-pushed the multiapp branch 8 times, most recently from 7165429 to 217635f Compare July 11, 2026 07:06
…ail lemma; update proofs

- Redefine `multiApp` as right-recursive (`multiApp (app f a) as`) instead of left.
- Switch several inductions to `List.reverseRecOn` for better compatibility with the new recursion.
- Add `listFullBeta_cons_r`/`listFullBeta_cons_l`/`multiApp_tail`  helpers.
- Update `invert_abs_multiApp_st`, `sn_abs_app_multiApp`, `multiApp_lc`, reduction congruences, etc.
- Minor tactic adjustment in `Stlc/StrongNorm`.

Fixes leanprover#706
@chenson2018

Copy link
Copy Markdown
Collaborator

@lengyijun Can you please let me know when you are ready for this to be reviewed? In general it is a bit unpleasant to open a PR and immediate force push nearly a dozen times (I get an email every time...). I would appreciate your being a bit more intentional in this regard.

@lengyijun

Copy link
Copy Markdown
Contributor Author

Ready to review now

Comment thread Cslib/Languages/LambdaCalculus/LocallyNameless/Stlc/StrongNorm.lean Outdated
Comment thread Cslib/Languages/LambdaCalculus/LocallyNameless/Untyped/MultiApp.lean Outdated
Comment thread Cslib/Languages/LambdaCalculus/LocallyNameless/Untyped/MultiApp.lean Outdated
Comment thread Cslib/Languages/LambdaCalculus/LocallyNameless/Untyped/MultiApp.lean Outdated
Comment thread Cslib/Languages/LambdaCalculus/LocallyNameless/Untyped/MultiApp.lean Outdated
Comment thread Cslib/Languages/LambdaCalculus/LocallyNameless/Untyped/MultiApp.lean Outdated
Comment thread Cslib/Languages/LambdaCalculus/LocallyNameless/Untyped/StrongNorm.lean Outdated
Comment thread Cslib/Languages/LambdaCalculus/LocallyNameless/Untyped/StrongNorm.lean Outdated
lengyijun and others added 8 commits July 12, 2026 05:07
….lean

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…p.lean

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…p.lean

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…p.lean

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…p.lean

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…p.lean

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…orm.lean

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…orm.lean

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Comment thread Cslib/Languages/LambdaCalculus/LocallyNameless/Untyped/MultiApp.lean Outdated
@chenson2018

Copy link
Copy Markdown
Collaborator

@lengyijun Can I ask if it is intentional that you have turned off the feature allowing maintainers to edit pull requests? This is completely your prerogative, but it does make it take longer to fix little typos like the above. I'd normally have just pushed it myself and merged at this point.

…p.lean

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
@lengyijun

Copy link
Copy Markdown
Contributor Author

I am not familiar with this configuration.
Maybe because this is a pr from organization ?

@chenson2018

Copy link
Copy Markdown
Collaborator

Hmm, maybe so. Usually there is a checkbox for "Allow edits by maintainers" that is selected by default. Maybe look for this next time you open a PR.

@chenson2018 chenson2018 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.

Thanks for finding and fixing this so quickly!

@chenson2018
chenson2018 added this pull request to the merge queue Jul 11, 2026
Merged via the queue into leanprover:main with commit 056cf93 Jul 11, 2026
2 checks passed
intgrah pushed a commit to intgrah/cslib that referenced this pull request Jul 14, 2026
)

- Redefine `multiApp` as right-recursive (`multiApp (app f a) as`)
instead of left.
- Switch several inductions to `List.reverseRecOn` for compatibility
with the new recursion.
- Add `listFullBeta_cons_r`/`listFullBeta_cons_l`/`multiApp_tail`
helpers.
- Update related proofs


Fixes leanprover#706

---------

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
benbrastmckie added a commit to benbrastmckie/cslib that referenced this pull request Jul 18, 2026
Verified against upstream: all three user PRs (leanprover#648/leanprover#662/leanprover#649) are
already rebased onto latest upstream/main (056cf93, leanprover#708), 0 behind,
and CI-green. leanprover#485's HML fix is redundant with fmontesi's live leanprover#607
commit 77ce0c7.

Session: sess_1783880050_660057
fmontesi pushed a commit that referenced this pull request Jul 22, 2026
- Redefine `multiApp` as right-recursive (`multiApp (app f a) as`)
instead of left.
- Switch several inductions to `List.reverseRecOn` for compatibility
with the new recursion.
- Add `listFullBeta_cons_r`/`listFullBeta_cons_l`/`multiApp_tail`
helpers.
- Update related proofs


Fixes #706

---------

Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
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.

multiApp is wrong

2 participants