Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Counterexamples for Lean's type system #266

Open
TwoFX opened this issue Jan 30, 2025 · 0 comments
Open

Counterexamples for Lean's type system #266

TwoFX opened this issue Jan 30, 2025 · 0 comments
Labels
doc-request Request for missing documenation

Comments

@TwoFX
Copy link
Member

TwoFX commented Jan 30, 2025

What question should the reference manual answer?

What theoretically desirable properties of type systems is Lean known not to possess (e.g., subject reduction, canonicity, ?) and what are concrete examples of these violations?

Additional context

Searching for these topics on the Lean Zulip returns various long discussions which are not always easy to follow, not least because they often assume context from elsewhere (e.g., Twitter (which is not easy to access for everyone, the Rocq issue tracker (which assumes that you can read Rocq), or Mario Carneiro's thesis (which assumes that you can read type theoretic notation)). In addition, if there are examples, they are often in Lean 3 or no-longer-compiling old Lean 4.

It would be great to have all of these examples in one place together with good explanations, and given that the reference manual is a place to look up the details and it has a chapter on Lean's type system, I thought that this might be in scope for the reference manual.

Examples of code that I think would be great to keep up-to-date and explain in detail are this and this.

@TwoFX TwoFX added the doc-request Request for missing documenation label Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc-request Request for missing documenation
Projects
None yet
Development

No branches or pull requests

1 participant