lean-ja / lean-ja/lean-by-example

`*.rec` が何者なのかを説明する

Open
#2,374 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Lean
Stars
188
Forks
15
Avg merge
9h 8m
Merged PRs (30d)
6

Description

謎の自動生成定数なのでちゃんと説明したい。

帰納法のときに使うものなのだが、カリーハワード同型対応により「帰納法は再帰」なので、再帰のときにも使う。

なぜLeanのカーネルは再帰関数を *.rec に変換して持つのだろうか?という疑問に答えたい。

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

Search the repository for existing explanations or examples of *.rec and read the surrounding documentation first. Explain what these generated constants represent, their role in induction and recursion, and why the Lean kernel stores recursive functions in this form; done means the question is answered clearly for readers.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.