leanprover / leanprover/cslib

Add tests for capture-avoiding substitution in lamba calculi

Open
#711 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
Dominant language
Lean
Stars
709
Forks
200
Avg merge
3d 6h
Merged PRs (30d)
45

Description

Binding in lambda calculi is notoriously prone to error, and isn't a problem where formalization is an immediate defense because this is a question of correct definitions. Especially because we will have multiple implementations of binding, I'd like to have a set of tests that give us a bit more confidence that we've written the correct definitions. I'd like to start with the existing locally nameless STLC and port something like what exists at https://github.com/sweirich/lambda-n-ways into a suite of tests.

Help is welcome with this issue since I have somewhat limited time at the moment.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing locally nameless STLC implementation and review the linked lambda-n-ways test suite for relevant capture-avoiding substitution cases. Done means a test suite covers the existing binding definitions and gives confidence that substitution behaves correctly across the selected cases.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.