Skip to content

Course notes 📔 logic, lambda calculi, and Curry-Howard

Notifications You must be signed in to change notification settings

SyntakticSugar/proofgrams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proofs and Programs 🚧 🏗️Under Construction 👷 🚧

This repository houses course materials for learning Logic, lambda calculus, and Lean. Including slides, lecture notes, and exercises.

Course Overview

Logic 🏛️

  • Propositional Logic: Basic grammar of logical connectives and natural deduction.
  • First-Order Logic: Introduction to quantifiers, predicates, and more natural deductions.

λ-Calculus 🧮

  • Un-typed Lambda Calculus: Write programs in Alonso Church's lambda calculus.
  • Simply Typed Lambda Calculus: Adding typed structure to the lambda calculus. Write typing derivations to ensure programs are well-typed.
  • Dependent Type Theory: Learn how simple type theory is extended to allow for a much more expressive language.

Lean 👨‍💻

  • Lean Theorem Prover: Instructions on how to get started with Lean, a proof assistant.
  • Interactive Proofs: Writing and verifying proofs using Lean's type theory.

Getting Started

  1. Clone the Repository:

    You can make a local copy of the repository by cloning it:

    git clone https://github.com/SyntakticSugar/proofgrams.git
    cd proofgrams

    Or simply downloading the repository.

  2. Course Materials 📚 (Incomplete drafts)

    • Lecture Slides: These are skeletal slides, to be filled during class.
    • Lecture Notes: Detailed notes on logic, lambda calculus, and Lean.
    • Tutorials: Practice problems to test your understanding.
    • Projects: Larger assignments to apply your knowledge.
  3. Getting Started with Lean:

To get a feel for how working in Lean, both of the introductory games Natural Number Game and A Lean Introduction to Logic are particularly relevant to this course. You can follow this Quickstart Guide to begin working with Lean on your personal computer.

  1. Recommended Resources: 🔗

    My course materials were developed while studying these excellent resources:

About

Course notes 📔 logic, lambda calculi, and Curry-Howard

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published