Research-Stack/audit/lean_formalism_audit.md
Allaun Silverfox 8e51acad08 audit: full codebase inspection — 6 auditors, 9,606 objects, 2,068 lines of findings
CRITICAL (7):
- C1: Hardcoded Wolfram Alpha API key (revoke immediately)
- C2: Q16_16 rounding diverges Lean↔Python↔C (data corruption)
- C3: Receipts describe non-existent files (fabrication)
- C4: '3,500+ proofs' = compilation units, not theorems
- C5: NaN sentinel collision Lean↔C (silent corruption)
- C6: eigensolid_convergence theorem is a tautology
- C7: 74% CI failure rate

HIGH (12): duplicate definitions, SQL injection, command injection,
  1,029 duplicate files, 66 large files in git, AGENTS.md drift

MEDIUM (23): stale docs, broken cross-refs, unhandled errors
LOW (31): naming violations, misplaced files, cleanup

Master synthesis: audit/MASTER_AUDIT_SYNTHESIS.md
Per-dimension reports: audit/*_audit.md
2026-06-21 02:07:35 -05:00

11 KiB

Lean Formalism Audit Report

Repository: allaunthefox/Research-Stack
Branch: main
Date: 2025-01-18
Scope: All 1,295 Lean files


Executive Summary

Metric Count
Total Lean files 1,295
Files scanned (largest + smallest) ~159
Files with sorry ~14+ (estimated 30-60 across all 1,295)
Total sorry count (scanned) 14+ confirmed
Files with admit 0 confirmed
Files with proof_wanted 0 confirmed
Broken/inaccessible files ~70 (fetch timeout)
Placeholder files (imports only, no content) ~3 confirmed
Import cycles detected None confirmed
Naming convention violations Minimal

1. SORRY INVENTORY (CRITICAL)

Confirmed Files with sorry

File Sorry Count Severity Notes
0-Core-Formalism/lean/Semantics/Core/T1_Coherence.lean 12 CRITICAL Core coherence theorems - measure theory integration gaps
0-Core-Formalism/lean/Semantics/Semantics/ErdosRenyiPipeline.lean 6 HIGH Sidon iff collision backward, energy zero iff, Erdos-Renyi density bounds, CRT sieve backward, structure bonus log bound
0-Core-Formalism/lean/Semantics/Semantics/E8Sidon.lean 5 HIGH Householder involution algebra (2), chaos game Sidon preservation (1), trajectory sum translation
0-Core-Formalism/lean/external/OTOM/SSMS.lean 2 MEDIUM MLGRU delta bound (Q16.16 arithmetic theory), ACI preservation (truncation error lemmas)
0-Core-Formalism/lean/Semantics/ExtensionScaffold/Physics/NBody.lean 1 LOW Single sorry in simFlowPhi field

Sorry Classification

Hard sorry (real mathematics needed):

  • T1_Coherence: Measure theory integration proofs (12)
  • E8Sidon: Householder reflection algebra, chaos game trajectory proofs (5)
  • ErdosRenyiPipeline: Sidon characterization completeness, analytic number theory bounds (6)

Medium sorry ( Lean machinery needed):

  • SSMS: Q16.16 fixed-point algebra lemmas (2)
  • NBody: Minor field assignment (1)

Estimated total sorry across all 1,295 files: ~30-60 (based on density in scanned files extrapolated)

Sorry by Module

Module Estimated Sorry Count
Semantics/Core (BindAxioms, InformationManifold, T1_Coherence) 12+
Semantics/Semantics/E8Sidon 5
Semantics/Semantics/ErdosRenyiPipeline 6
Semantics/Semantics/Other (~500 files) 5-10 estimated
ExtensionScaffold/Physics 1
ExtensionScaffold/ENE 0 (import-only files)
External/OTOM 2
Singer-theorem-lean (~73 files) Unknown (many timed out)
Lean_binned (~93 files) Unknown (many timed out)

2. BROKEN FILES (CRITICAL)

Files That Failed to Fetch (likely too large or network issues)

Large theorem files (> 80KB):

  • singer-theorem-lean/Erdos30/BoundaryD1SurvivorCounts.lean
  • singer-theorem-lean/Erdos30/BoundaryD1TheoremRangeFrontier.lean
  • singer-theorem-lean/Erdos30/BoundarySecantRigidLeafProfileBridge.lean
  • singer-theorem-lean/Erdos30/BoundarySecantTheoremRangeFrontier.lean
  • singer-theorem-lean/Erdos30/BoundarySecantTheoremRangeLocalClassification.lean
  • singer-theorem-lean/Erdos30/BoundarySecantTheoremRangeLocalRealization.lean

Other broken files:

  • Semantics/Semantics/ASICTopology.lean
  • Semantics/Semantics/Adapters/AlphaProofNexus/erdos_12.parts.i.lean
  • Semantics/Semantics/Adapters/AlphaProofNexus/erdos_741.parts.i.lean
  • Semantics/Semantics/Adapters/AlphaProofNexus/erdos_846.lean
  • Semantics/Semantics/Adapters/AlphaProofNexus/graph_conjecture2.lean
  • Semantics/Semantics/Benchmarks/HadwigerNelson.lean
  • Semantics/Semantics/CooperativeLUT.lean
  • Semantics/Semantics/DeltaGCLCompression.lean
  • Semantics/Semantics/EntropyMeasures.lean
  • Semantics/Semantics/ExtendedManifoldEncoding.lean
  • Semantics/Semantics/Foundations/CarnotEfficiency.lean
  • Semantics/Semantics/InvariantReceipt/Receipt.lean
  • Semantics/Semantics/N3L_Energy.lean
  • Semantics/Semantics/PIST/Classify.lean
  • Semantics/Semantics/Physics/NBody.lean
  • Semantics/Semantics/Q16InverseProof.lean
  • Semantics/Semantics/RRC/Corpus250.lean
  • Semantics/Semantics/RRC/EntropyCandidates/Candidates.lean
  • Semantics/Semantics/SidonSets.lean
  • Semantics/Semantics/Testing/ArrayTest.lean
  • Semantics/Semantics/Testing/LemmaTest2.lean
  • Semantics/TestFintype.lean
  • external/OTOM/Atoms.lean
  • external/OTOM/Basic.lean
  • external/OTOM/ComputationProfile.lean
  • external/OTOM/MetricCore.lean
  • external/OTOM/Physics.lean
  • 3-Mathematical-Models/manifold_compression/src/AutoAdaptiveMetatypeSystem.lean
  • ~40 lean_binned files

Root cause: Most failures are likely due to network timeout (files > 60KB or path length issues). Not necessarily syntactically broken.


3. PLACEHOLDER FILES (INFO)

Files with only imports and no actual definitions:

File Lines Size Content
0-Core-Formalism/lean/Semantics/Biology.lean 3 134B Imports only, no definitions
0-Core-Formalism/lean/Semantics/GenerateLUTMain.lean 5 248B Single import + minimal code
0-Core-Formalism/lean/Semantics/PurifyMain.lean 9 264B Minimal stub
2-Search-Space/SearchSpace.lean 7 129B Empty placeholder

Additional small stub files (< 500 bytes) that may need attention: ~119 files total.


4. IMPORT ANALYSIS

Import Cycles

None detected in the scanned files. The module structure follows a DAG pattern:

  • Core/Semantics/ExtensionScaffold/
  • external/ is self-contained
  • singer-theorem-lean/ imports from Semantics/SidonSets but not vice versa

Heavy Import Chains

  • E8Sidon.lean imports Semantics.SidonSets (mathematical dependency)
  • NBody.lean imports 8 modules: Bind, DynamicCanal, LocalDerivative, HyperFlow, FixedPoint, BraidStrand, BraidBracket, CMYKFrequencyCore, ThroatPhysics, Wormhole, QuantumEraserCache
  • ErdosRenyiPipeline.lean imports 7 Mathlib modules

Missing Imports

None detected in scanned files. All referenced definitions appear properly imported.


5. NAMING CONVENTION ANALYSIS

AGENTS.md §2 Compliance

Generally excellent compliance across the codebase:

Convention Status Examples
PascalCase for types/structures Good Q1616, NBodyState, Particle, BitLinearParams, MlgruState, ScalarNode, GossipPacket, DirSimplicialComplex, BettiSwooshH, SwooshEvent, SubleqCore, NUVMap, ChainPattern, RatchetLUT, SolveEntry, H264Macroblock, NUVMapCacheState, Slug3State, Slug3Node
camelCase for functions Good velocityVerletStep, computeHamiltonian, gravitationalForce, totalForceOnParticle, energyGradientToNUVMap, verletStepWithNUVMap, ratchetLUTUpdate, batchNUVMapCache, nuvMapCacheHitRate, cmykToYuv, classifyYUV, hardwareDecompressPipeline
ALL_CAPS for constants Good GRADIENT_THRESHOLD, Y_LOW, Y_MID, Y_HIGH, UV_LOW, UV_MID, UV_HIGH

Minor Issues

  • Some Lean-generated files in singer-theorem-lean/ use snake_case (e.g., bipartite_reconstruction.lean, erdos_12.parts.i.lean) but these are generated artifacts
  • lean_binned/ files use hex hashes in names (by design)

6. DUPLICATION ANALYSIS

Potential Duplications Found

  1. IsSidonSet defined in multiple files:

    • Semantics/Semantics/SidonSets.lean (canonical)
    • Semantics/Semantics/ErdosRenyiPipeline.lean (local copy with slightly different signature)
    • Risk: Divergence between definitions
  2. CoverageSystem / IsGap / IsLosslessMap:

    • May overlap with coverage concepts in other pipeline files
  3. N-body physics duplicated:

    • ExtensionScaffold/Physics/NBody.lean (the canonical one)
    • Semantics/Semantics/Physics/NBody.lean (potentially a copy)
  4. Q16.16 fixed-point type:

    • Semantics/Q16_16.lean (canonical)
    • external/OTOM/SSMS.lean has its own Q1616 structure
    • Risk: Two fixed-point implementations may diverge

7. CODE QUALITY OBSERVATIONS

Strengths

  • Extensive documentation: Header comments explain architecture, status, and design decisions
  • Computational verification: Many files use native_decide and #eval for testing
  • Axiom discipline: Axioms clearly marked (e.g., axiom E4_sq_eq_E8_coeff) with justification
  • Well-structured namespaces: Hierarchical namespace usage (e.g., Semantics.E8Sidon, ExtensionScaffold.Physics.NBody)
  • Section organization: Clear section markers (§1, §2, etc.)

Weaknesses

  • sorry accumulation: Core files (T1_Coherence, E8Sidon) have significant mathematical gaps
  • Large files: Several files exceed 50KB (EntropyMeasures ~265KB, AutoImported ~99KB) making review difficult
  • Generated code: singer-theorem-lean/ files appear largely auto-generated with limited human review
  • lean_binned files: ~93 files that are equation stubs with minimal content

8. CRITICAL ISSUES (Must Fix)

  1. T1_Coherence.lean: 12 sorry markers - Core coherence theorems need measure theory proofs
  2. E8Sidon.lean: 5 sorry markers - Householder reflection algebra incomplete
  3. ErdosRenyiPipeline.lean: 6 sorry markers - Key iff characterizations incomplete
  4. SSMS.lean: 2 sorry markers - ACI preservation theorem blocked on Q16.16 algebra
  5. Large file fetch failures - 70+ files could not be accessed; need to verify they build
  6. IsSidonSet duplication - Two different definitions in SidonSets.lean vs ErdosRenyiPipeline.lean

9. WARNINGS (Should Fix)

  1. ~119 small files (< 500 bytes) - May be stubs that need content or removal
  2. Placeholder imports-only files - Biology.lean, SearchSpace.lean have no definitions
  3. Duplicate Q1616 implementation - SSMS.lean reimplements the fixed-point type
  4. Singer-theorem-lean generated files - No clear provenance/verification for large auto-generated proofs
  5. Lean_binned files - 93 equation stubs, most with minimal content

10. INFO (Nice to Have)

  1. Add proof_wanted markers for theorems that should be prioritized
  2. Document the dependency graph between modules
  3. Consider splitting files > 50KB into smaller modules
  4. Add CI build verification for all files
  5. Standardize native_decide usage (some files over-rely on it)

Per-Module Breakdown

Module Files Scanned Sorry Broken Placeholders Status
Semantics/Core 3 3 12+ 0 0 Needs proofs
Semantics/Semantics ~500 ~40 11+ ~15 ~2 Mixed quality
Semantics/ExtensionScaffold ~50 ~15 1 ~8 ~1 Generally good
singer-theorem-lean 73 6 ? 6 0 Large generated files
external/OTOM 13 5 2 5 0 Good structure
lean_binned 93 ~50 ? ~40 ~93 Stubs by design
2-Search-Space 10 0 ? 0 ~1 Not scanned
6-Documentation 9 0 0 0 0 Docs only

Top 10 Files by Sorry Count (Confirmed)

  1. T1_Coherence.lean — 12 sorry (CRITICAL)
  2. ErdosRenyiPipeline.lean — 6 sorry (HIGH)
  3. E8Sidon.lean — 5 sorry (HIGH)
  4. SSMS.lean — 2 sorry (MEDIUM)
  5. NBody.lean — 1 sorry (LOW)

Report generated by automated analysis of 159 representative files + detailed manual review of key modules.