https://github.com/shilangyu/foundations_of_software_projects
Formalization projects for the Foundation of Software course at EPFL
https://github.com/shilangyu/foundations_of_software_projects
epfl fos lean lean4 theorem-proving
Last synced: 4 months ago
JSON representation
Formalization projects for the Foundation of Software course at EPFL
- Host: GitHub
- URL: https://github.com/shilangyu/foundations_of_software_projects
- Owner: shilangyu
- Created: 2025-02-18T09:28:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-21T16:52:22.000Z (about 1 year ago)
- Last Synced: 2025-08-23T19:39:17.070Z (10 months ago)
- Topics: epfl, fos, lean, lean4, theorem-proving
- Language: Lean
- Homepage:
- Size: 49.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# foundations_of_software_projects
Formalization projects for the Foundation of Software course at EPFL
### arithmetic
A language with natural numbers, booleans, an `if`-expression and two functions: `pred` and `iszero?`.
We define the small and big step semantics. We also define a function for evalution. We prove all the semantic definitions are equivalent.
### untyped
The pure lambda calculus. We define some datatypes (lists, booleans).
We prove confluence.
### typed
The simply typed lambda calculus. We define some datatype (lists, booleans).
We prove progress and correctness of inference.
### CoC
Proofs of statements using the calculus of constructions. Namely, not in tactic mode but pure lambda terms.