Skip to content

A theorem about an empty module may not multiply - #2749

Closed
gHashTag wants to merge 2 commits into
masterfrom
w699-vacuous-2
Closed

A theorem about an empty module may not multiply#2749
gHashTag wants to merge 2 commits into
masterfrom
w699-vacuous-2

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Refs #2747

Forty of the seventy-three recorded Rust/Lean disagreements are theorems about a module with no functions, no globals and no tests. native_decide proves the empty module lowerable — true, and true of nothing in the spec the theorem is named after.

The ledger gains max_vacuous, held by a ratchet in both directions:

  • it may not rise — a new vacuous theorem fails the test
  • it may not be left above the real count — a stale ceiling is where the next one would hide

Both checked by breaking them:

max_vacuous := 39  ->  "vacuous completeness theorems rose 39 -> 40"
max_vacuous := 41  ->  "max_vacuous is 41 but 40 entries are marked model_empty"
max_vacuous := 40  ->  ok

What this does not do

It does not verify a single proof. What it holds is the shape of the model, read from the Lean source — because nothing in this repository runs Lean. proofs/lean4/ has a lakefile.lean and 250 theorems, and across 45 workflow files not one runs lake build, installs elan, or mentions proofs/lean4.

That is filed separately as #2747, with the job ready to paste and the reason it is not landed here: Lean is not installed on the machine this was found on, so whether the 250 theorems still compile is unknown, and a gate that may be red on master should not land unrun.

Rebased onto #2746; on the rebased tree the seal gate exits 0 and the suite is 2424 passed / 0 failed.

🤖 Generated with Claude Code

gHashTag and others added 2 commits August 28, 2026 07:51
`model_empty` marks a Lean module with no functions, no globals and no tests:
`native_decide` proved the EMPTY module lowerable, which is true, and true of
nothing in the spec the theorem is named after. Forty of the seventy-three
recorded disagreements are that.

The ledger gains `max_vacuous`, held by a second ratchet in both directions --
it may not rise, and it may not be left above the real count, or the next one
hides in the slack. Both were checked by breaking them.

What is held is the SHAPE of the model, read from the source, not the proof.
Nothing in this repository runs Lean: proofs/lean4 has a lakefile and none of
the 45 workflows builds it. Filed as #2747, with the job ready to paste and the
reason it is not landed here -- Lean is not installed on this machine, so
whether the 250 theorems still compile is unknown, and a gate that may be red on
master should not land unrun.

Refs #2747

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Refs #2747

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-28 00:54:01 UTC

Summary

Status Count
Total Open PRs 8
PRs with Failing Checks 7
PRs with All Checks Green 1
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=25a9c40dc273 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag

Copy link
Copy Markdown
Owner Author

Rebased onto the ordering fix in #2750; reopened as a fresh branch rather than force-pushing this one.

@gHashTag gHashTag closed this Aug 28, 2026
@gHashTag
gHashTag deleted the w699-vacuous-2 branch August 28, 2026 01:15
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