Repository navigation
Check the selected minor in nullary recursor computation rules - #124
Draft
heathsanchez wants to merge 3 commits into
Draft
heathsanchez wants to merge 3 commits into
heathsanchez wants to merge 3 commits into
Conversation
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.
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
Falsewhen the nullaryPUnit.recrule returnsPUnit.unitinstead 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
78c7502bac8a5ba000057b3f083bc0595ac65750and this candidate under matched compiler/configuration settings, requiring the official Arenabugs/unit-rec-ruleto 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.