Conversation
Carries the fix from companion PR felixpernegger#1321 (original commit eea8d02).
Deicyde
force-pushed
the
codex/pr1316-fixes
branch
from
August 29, 2026 21:17
14bf3ea to
e828ffb
Compare
Deicyde
force-pushed
the
codex/pr1316-fixes
branch
from
August 29, 2026 21:29
e828ffb to
dfd75f2
Compare
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.
Important
This companion fix is stacked directly on #1316 and targets
implicationset, notmaster. Because #1316 still contains the old #1315 API, the first two commits carry the #1321 replacement and its distinct-context hardening.Caution
Maintainer scope decision required before merge. Felix's original
implicationSetis not a complete signed classification: for each unordered pair{A, B}it includes onlyA → BandA → ¬B, omitting the inequivalentB → Aand¬A → Bclasses. A faithful distinct-property signed target modulo contraposition would therefore have 120,540 obligations, not 60,270. This PR deliberately offers the existing dashboard's coherent 60,270 directed-positive fragment instead and names itPiBasePositiveImplicationGoal; it does not claim to settle the eventual signed project goal.Why this redesign is needed
The original completion predicate can be inhabited for every property set by classically splitting each implication into true or false. Its independence predicate is separately vacuous because it existentially chooses assumptions after seeing the proposition. The original
implicationSetalso uses extensionalPropertyvalues as IDs, so distinct π-Base catalogue entries can collapse.This PR makes one finite scope explicit: every ordered implication between distinct positive catalogue properties. Negated literals and multi-premise queries remain a separate workflow pending a deliberate signed-target design.
Lean changes
VariesUnderevidence whose two named contexts remain visible and must be distinct. The API deliberately makes no consistency or ZFC-independence claim.P1throughP246, with checked ID order, catalogue length, and 60,270-pair cardinality.ClassificationPlan; every assigned status must have proof, existential counterexample evidence, orVariesUnderevidence.PiBasePositiveImplicationGoal. The initial plan is intentionally all-open, and Lean proves both an open pair and the negation of the completion target today.classificationAudittypecheck the goal/completeness equivalence, require the plan soundness theorem, and fail compilation if either audit theorem gains an axiom beyondpropext,Classical.choice, orQuot.sound.A generic classically selected plan can still satisfy the generic checker; it does not satisfy the maintained project workflow. The named executable plan and CI audit are the enforcement boundary.
Website integration
ClassificationForprogress./docs, while making the dedicated Pages workflow the sole publisher and limiting Pages/OIDC credentials to its deploy-only job.Current status
This PR states and audits the positive completion target; it does not claim the explorer matrix or the wider signed problem is complete. The canonical plan is executable and sound under the allowlisted standard Lean axioms, but all 60,270 pairs are currently open.
Verification
lake build --wfail— 3,101 jobslake build --wfail classificationAudit— 5,590 jobs/facetslake exe classificationAudit— 246 properties, 60,270 pairs,sound: true,complete: falsepropext,Classical.choice, andQuot.soundnpm run test:python— 18 testsnpm run dashboard:checknpm run dashboard:build && npm run dashboard:verifyfrom the exact upstream PR ref — 1,598 modules and a commit-bound schema-v5 artifactgit diff --check