Repository navigation
Conversation
…ted inductive types (#278, R3 skeleton) R3: register rows, SPEC.md section 31 rows, scenarios, the failing named tests conformance_sm_37 and conformance_df_19, and one negative fixture, induction-nested-type, which records that `induction` still refuses a type that holds a list of itself (LLT4001). No implementation. The count moves 443 to 445. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F4DJnZorC2Jd4MJfN9DbZk
afflom
marked this pull request as draft
October 22, 2026 16:19
Member
Author
|
Superseded by the two-draft restructure the maintainer asked for on #278: the R3 skeleton is not its own PR.
Closing this one. 🤖 Generated with Claude Code https://claude.ai/code/session_01F4DJnZorC2Jd4MJfN9DbZk Generated by Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What it does
PR 0 of the plan on #278 (design: #278 (comment)): the R3 skeleton for the two capabilities the design names. It commits to nothing irreversible and implements nothing.
SM-37(nested_induction, an induction over a nested inductive type that lowers to the recursor the pinned Lean generates, with the auxiliary motives stated in the proof) andDF-19(mutual definition groups recurse over the whole recursive family of a nested type), their SPEC.md §31 rows,CONFORMANCE.md(generated), and the scenarios infeatures/suites/semantic-ir.featureanddeclarations.feature.conformance_sm_37andconformance_df_19: both fail on this head by design (no semantic-ir case is wired for SM-37,no declarations case is wired for DF-19).tests/negative/induction-nested-type(prescribed inEX-07, 297 to 298): a typeJsonwitharray (List Json), mutualsize/leavesgroups the compiler accepts today, andleaves_le_sizeproved by plaininduction, which is refused asLLT4001("requires a self-recursive inductive without nested or mutual occurrences"). It is the theorem that cannot be stated yet. It stays valid after the implementation, which keepsinductionrefusing nested types (only the message changes, to namenested_induction); its expectation is then rewritten byfixtures-write.README.md,crates/conformance/src/cases/repository.rsandxtask/src/spec_links.rs, as #91 stage 4, PR 0: register rows SP-21 and RB-15 (R3 skeleton) #223 did.Not in this PR
DF-19, stacked on this branch, no file of the §21.2 digest; PR 2:SM-37, the identity PR, stacked on PR 1). Those wait for the maintainer's answer on Language 1.2: induction and structural recursion over nested inductive types #278.lexlean.lockwas made bylexleanbuilt fromrelease/v0.4at979606797(this PR's base) and is current for it.Gates (exact, run on this head)
Planted defects (not committed):
validate-spec-linksrefuses it (table and register statements printed side by side).every_id_has_a_scenario_and_a_testfails withR3: DF-19's scenario statement differs from the register (§27.7).What CI runs
The full
just vvdoes not run on the machine this was prepared on (2 cores, 7 GB); I ran the recipes above and leave the rest to CI. Because this PR adds a register row, a scenario and a fixture and implements nothing, I expect therestpart to be red only onconformance_sm_37andconformance_df_19, as for #223.Generated by Claude Code