feat: de Bruijn Syntax for Untyped Lambda Calculus and a proof of Church-Rosser with Parallel Reduction#475
feat: de Bruijn Syntax for Untyped Lambda Calculus and a proof of Church-Rosser with Parallel Reduction#475zayn7lie wants to merge 27 commits into
Conversation
chenson2018
left a comment
There was a problem hiding this comment.
Hi, thanks for your interest in contributing to CSLib! We do have Church-Rosser for locally nameless binding, but I think we are interested in having the more common de Bruijn indices representation as well.
I see there is a disclosure of AI usage, but this looks like its been mostly cleaned up pretty well, so thank you.
Below are some initial reviews about making this fit into CSLib conventions.
Thanks for notification, sorry for confusion. |
I don't understand this comment. It looks as I would expect for this binding scheme. |
Please read the header comment docs of |
|
Can you rename |
I am somehow hesitant to do that. The current |
|
I agree that we should almost always use the notation and corresponding naming, which is then based off I've started a second pass of reviews which I'll try to have complete in a few days. |
chenson2018
left a comment
There was a problem hiding this comment.
This is still not comprehensive, but a few more comments. The comment about squeezing terminal simp applies throughout and is one factor making proofs much longer than they need to be. Could you work on fixing this a bit?
…lation`, and add `rtc_eq_of_sandwich`
…lation`, and add `rtc_eq_of_sandwich`
…multi-step closure
|
@chenson2018 Hi, is there any update on this? What should I focus on next? |
Main contributions
Par) and its basic properties.Diamond,Confluent) for binary relations.The development follows the classical proof strategy:
parallel reduction -> diamond -> confluence -> Church–Rosser.Design choices
(
Diamond,Confluent) to keep the proof modular.Use of AI