notation for multiple substitution
@chenson2018 is already working on this.
Since Feb 26, 2026.
- Dominant language
- Lean
- Stars
- 709
- Forks
- 200
- Avg merge
- 3d 6h
- Merged PRs (30d)
- 45
Description
We currently have HasSubstitution, providing the notation t [x := t'] for (named) substitutions. We will inevitably need notions of multiple substitution, such as in the upcoming PRs for STLC strong normalization. The natural extension is t [x := t', y := t'', z := t''']. In other proof assistants, sometimes what is done is having separate classes up to some fixed arity, but in Lean to do this generally is not so hard.
The main questions are making "multiple" general enough to not force an implementation style and being compatible with single substitution still.
(When we have a need for them, we should also make sure unnamed substitutions like t[ t' ] and t [ t', t'', t'''] also align with this)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.