Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rami3l/plfl
Learn Lean 4 with PLFA proofs.
https://github.com/rami3l/plfl
lean lean4 plfa programming-language-foundations software-foundations
Last synced: 18 days ago
JSON representation
Learn Lean 4 with PLFA proofs.
- Host: GitHub
- URL: https://github.com/rami3l/plfl
- Owner: rami3l
- License: mit
- Created: 2023-04-19T01:34:33.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-02T03:25:17.000Z (6 months ago)
- Last Synced: 2024-08-10T14:12:14.104Z (3 months ago)
- Topics: lean, lean4, plfa, programming-language-foundations, software-foundations
- Language: Lean
- Homepage:
- Size: 254 KB
- Stars: 37
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# plfl
My journey of learning Lean 4 by implementing proofs from the wonderful book [_Programming Language Foundations in Agda_](https://plfa.github.io).
## Table of Contents
### Volume 2
- [x] 1. [Lambda](Plfl/Lambda.lean): Introduction to Lambda Calculus
- [x] 2. [Properties](Plfl/Lambda/Properties.lean): Progress and Preservation
- [x] 3. [DeBruijn](Plfl/DeBruijn.lean): Intrinsically-typed de Bruijn representation
- [x] 4. [More](Plfl/More.lean): Additional constructs of simply-typed lambda calculus
- [x] 5. [Bisimulation](Plfl/More/Bisimulation.lean): Relating reduction systems
- [x] 6. [Inference](Plfl/More/Inference.lean): Bidirectional type inference
- [x] 7. [Untyped](Plfl/Untyped.lean): Untyped lambda calculus with full normalisation
- [x] 8. [Confluence](Plfl/Untyped/Confluence.lean): Confluence of untyped lambda calculus
- [x] 9. [BigStep](Plfl/Untyped/BigStep.lean): Big-step semantics of untyped lambda calculus### Volume 3
- [x] 1. [Denotational](Plfl/Untyped/Denotational.lean): Denotational semantics of untyped lambda calculus
- [x] 2. [Compositional](Plfl/Untyped/Denotational/Compositional.lean): The denotational semantics is compositional
- [x] 3. [Soundness](Plfl/Untyped/Denotational/Soundness.lean): Soundness of reduction with respect to denotational semantics
- [x] 4. [Adequacy](Plfl/Untyped/Denotational/Adequacy.lean): Adequacy of denotational semantics with respect to operational semantics
- [x] 5. [ContextualEquivalence](Plfl/Untyped/Denotational/ContextualEquivalence.lean): Denotational equality implies contextual equivalence### Appendix
- [x] 1. [Substitution](Plfl/Untyped/Substitution.lean): Substitution in the untyped lambda calculus