Skip to content

Proofs red on main since b7c780f (#174): census requires CNO.MalbolgeCore; FilesystemCNO.lean does not compile #176

Description

@hyperpolymath

Measured

Cause 1 — Coq census assumes every theory lives under CNO.

proofs/coq/census-assumptions.sh (new in #174) walks eight directories including malbolge/ and emits Require CNO.$base. for each theory (line 56). _CoqProject binds malbolge to the logical root Malbolge, not CNO:

-R malbolge Malbolge

so the generated driver dies:

File "/tmp/az-census.2kk56v/Census.v", line 15, characters 0-25:
Error: Cannot find a physical path bound to logical path CNO.MalbolgeCore.
CENSUS FAILED: coqc exited with 1

Cause 2 — the Lean FilesystemCNO port does not compile

proofs/lean4/FilesystemCNO.lean (+372/−131 in #174, claimed as the #167 port) fails in the Mathlib-free build:

FilesystemCNO.lean:268:4: error: alternative 'Directory' has not been provided
FilesystemCNO.lean:268:4: error: alternative 'Symlink' has not been provided
FilesystemCNO.lean:310:17: error: unknown identifier 'p''   (also 331, 352)
FilesystemCNO.lean:381:10: error: unknown identifier 'set_path_id'
FilesystemCNO.lean:395:10: error: unknown identifier 'path_of_set_path'
FilesystemCNO.lean:589:8: error: tactic 'rewrite' failed, did not find instance of the pattern
FilesystemCNO.lean:590:8: error: tactic 'rewrite' failed, did not find instance of the pattern

Acceptance criteria

  1. census-assumptions.sh takes each theory's logical root from _CoqProject (-R <dir> <Root>) instead of hardcoding CNO.; the census step is green on main and its table lists the malbolge/ theorems under Malbolge..
  2. Negative control: a directory bound to a non-CNO root is censused, not skipped. Skipping it would turn the miss into a vacuous pass.
  3. FilesystemCNO.lean builds in the six-module job and #print axioms on its headline theorems shows no sorryAx. If the port is not finished, the file is restored to the last revision that compiled and Lean: port the Coq concrete filesystem model so the FilesystemCNO law axioms become theorems (follow-up to #125/#165) #167 stays open with the port as its own acceptance criterion; a half-port must not sit red on main.
  4. A Proofs run on main is green at the curing commit and PROOF-STATUS.adoc cites that run id.

Context: Proofs is not a required check (#161), which is how a red PR could merge; this issue records the red, it does not re-litigate the merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QYY8Gp4v4x2J7iSNn1vZ57

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or behaves incorrectlyfeeds:valence-shellFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes therepriority:p0Critical - drop other workproofsFormal verification: Agda, Coq, Idris, Lean, Z3/SMT, axiom debtscope:repoConfined to this repository

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions