Skip to content

Check the selected minor in nullary recursor computation rules - #124

Draft
heathsanchez wants to merge 3 commits into
flashfrom
research/flash-nullary-rule-20261104
Draft

heathsanchez wants to merge 3 commits into
flashfrom
research/flash-nullary-rule-20261104

Conversation

@heathsanchez

Copy link
Copy Markdown
Collaborator

Nullary computation-rule soundness hypothesis (draft, qualification pending)

The current published Flash implementation compares imported computation rules with independently reconstructed ones using definitional conversion. The Sokonanoda issue #7 demonstrates an axiom-free proof of False when the nullary PUnit.rec rule returns PUnit.unit instead of its minor premise.

This narrowly scoped candidate ensures that when a constructor has zero non-parameter arguments, the source rule and independently reconstructed rule have the same lambda binder count and select the same de Bruijn minor-premise variable at the rule body. It also retains the existing conversion check. It does not special-case PUnit, hard-code the test name, or rely on cached verdicts.

The test builds the published Flash SHA 78c7502bac8a5ba000057b3f083bc0595ac65750 and this candidate under matched compiler/configuration settings, requiring the official Arena bugs/unit-rec-rule to change ACCEPT→REJECT and all other downloaded non-performance verdicts unchanged, with a per-case SHA-pinned artifact.

The gate may reject this hypothesis if valid noncanonical nullary rules exist; this is intentionally only CANDIDATE until the paired gate and full Mathlib checks. No release claim.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant