|
35 | 35 | (suite-spec-version "1.1-proposed") |
36 | 36 | (suite-spec-date "2026-04-18") |
37 | 37 | (canonical-doc "audits/canonical-proof-suite/README.adoc") |
38 | | - (last-manifest-update "2026-06-15") |
| 38 | + (last-manifest-update "2026-06-19") |
39 | 39 | (status "active")) |
40 | 40 |
|
41 | 41 | ;; ======================================================== |
|
76 | 76 | (prover "idris2") |
77 | 77 | (proof-file "proofs/canonical-proof-suite/M1InfinitudeOfPrimes.idr") |
78 | 78 | (expected-symbol "infinitudeOfPrimes") |
79 | | - (status "in-progress") |
| 79 | + (status "passing") |
80 | 80 | (porting-source "agda-stdlib Data.Nat.Primality; Idris2 stdlib examples")) |
81 | 81 |
|
82 | 82 | (entry |
|
117 | 117 | (prover "agda") |
118 | 118 | (proof-file "proofs/canonical-proof-suite/M5-yoneda.agda") |
119 | 119 | (expected-symbol "yoneda") |
120 | | - (status "not-started") |
| 120 | + (status "passing") |
121 | 121 | (porting-source "agda-categories; mathlib4 CategoryTheory.Yoneda")) |
122 | 122 |
|
123 | 123 | ;; ======================================================== |
|
241 | 241 | (prover "rocq") |
242 | 242 | (proof-file "proofs/canonical-proof-suite/M6_deduction_theorem.v") |
243 | 243 | (expected-symbol "deduction_theorem") |
244 | | - (status "not-started") |
| 244 | + (status "passing") |
245 | 245 | (porting-source "Coq stdlib Classical; Isabelle/HOL Main; mathlib4 Logic.Basic")) |
246 | 246 |
|
247 | 247 | (entry |
|
251 | 251 | (prover "rocq") |
252 | 252 | (proof-file "proofs/canonical-proof-suite/S6_mass_action.v") |
253 | 253 | (expected-symbol "mass_action_equilibrium") |
254 | | - (status "not-started") |
| 254 | + (status "passing") |
255 | 255 | (porting-source "No standard formal-library port; derive from Gibbs-free-energy minimum")) |
256 | 256 |
|
257 | 257 | (entry |
|
261 | 261 | (prover "rocq") |
262 | 262 | (proof-file "proofs/canonical-proof-suite/E6_cstr_mass_balance.v") |
263 | 263 | (expected-symbol "cstr_steady_state_closure") |
264 | | - (status "not-started") |
| 264 | + (status "passing") |
265 | 265 | (porting-source "No standard formal-library port; first-principles balance equation")) |
266 | 266 |
|
267 | 267 | (entry |
|
271 | 271 | (prover "rocq") |
272 | 272 | (proof-file "proofs/canonical-proof-suite/M7_linearity_of_expectation.v") |
273 | 273 | (expected-symbol "linearity_of_expectation") |
274 | | - (status "not-started") |
| 274 | + (status "passing") |
275 | 275 | (porting-source "mathlib4 Probability.Basic; Isabelle/HOL Probability")) |
276 | 276 |
|
277 | 277 | ;; ======================================================== |
|
285 | 285 | (prover "rocq") |
286 | 286 | (proof-file "proofs/canonical-proof-suite/M8_rank_nullity.v") |
287 | 287 | (expected-symbol "rank_nullity_theorem") |
288 | | - (status "not-started") |
| 288 | + (status "passing") |
289 | 289 | (porting-source "mathlib4 LinearAlgebra.Dimension; Coq mathcomp.algebra; Isabelle HOL-Analysis")) |
290 | 290 |
|
291 | 291 | (entry |
|
295 | 295 | (prover "rocq") |
296 | 296 | (proof-file "proofs/canonical-proof-suite/M9_unique_factorization.v") |
297 | 297 | (expected-symbol "unique_factorization") |
298 | | - (status "not-started") |
| 298 | + (status "passing") |
299 | 299 | (porting-source "mathlib4 RingTheory.UniqueFactorizationDomain; mathcomp")) |
300 | 300 |
|
301 | 301 | (entry |
|
305 | 305 | (prover "rocq") |
306 | 306 | (proof-file "proofs/canonical-proof-suite/M10_knot_composition_monoid.v") |
307 | 307 | (expected-symbol "knot_composition_monoid") |
308 | | - (status "not-started") |
| 308 | + (status "passing") |
309 | 309 | (porting-source "No standard formal-library port; KnotTheory.jl + Schubert's prime-decomposition as reference")) |
310 | 310 |
|
311 | 311 | (entry |
|
315 | 315 | (prover "rocq") |
316 | 316 | (proof-file "proofs/canonical-proof-suite/M11_pigeonhole.v") |
317 | 317 | (expected-symbol "pigeonhole_principle") |
318 | | - (status "not-started") |
| 318 | + (status "passing") |
319 | 319 | (porting-source "mathlib4 Combinatorics.Pigeonhole; Coq Finite; Isabelle HOL-Library")) |
320 | 320 |
|
321 | 321 | (entry |
|
325 | 325 | (prover "rocq") |
326 | 326 | (proof-file "proofs/canonical-proof-suite/E7_carnot_efficiency.v") |
327 | 327 | (expected-symbol "carnot_efficiency_bound") |
328 | | - (status "not-started") |
| 328 | + (status "passing") |
329 | 329 | (porting-source "Isabelle HOL-Thermo; derive from second-law/Clausius inequality")) |
330 | 330 |
|
331 | 331 | ;; ======================================================== |
|
339 | 339 | (prover "rocq") |
340 | 340 | (proof-file "proofs/canonical-proof-suite/S7_lorentz_velocity_addition.v") |
341 | 341 | (expected-symbol "lorentz_velocity_addition") |
342 | | - (status "not-started") |
| 342 | + (status "passing") |
343 | 343 | (porting-source "mathlib4 (in progress); Coq mathcomp-analysis")) |
344 | 344 |
|
345 | 345 | (entry |
|
349 | 349 | (prover "rocq") |
350 | 350 | (proof-file "proofs/canonical-proof-suite/E8_nyquist_shannon.v") |
351 | 351 | (expected-symbol "nyquist_shannon_sufficient_rate") |
352 | | - (status "not-started") |
| 352 | + (status "passing") |
353 | 353 | (porting-source "No standard formal-library port; infotheo may have adjacent results")) |
354 | 354 |
|
355 | 355 | (entry |
|
359 | 359 | (prover "rocq") |
360 | 360 | (proof-file "proofs/canonical-proof-suite/M12_dominated_convergence.v") |
361 | 361 | (expected-symbol "dominated_convergence") |
362 | | - (status "not-started") |
| 362 | + (status "passing") |
363 | 363 | (porting-source "mathlib4 MeasureTheory.DominatedConvergence; Coquelicot; Isabelle HOL-Analysis")) |
364 | 364 |
|
365 | 365 | (entry |
|
369 | 369 | (prover "rocq") |
370 | 370 | (proof-file "proofs/canonical-proof-suite/S8_hardy_weinberg.v") |
371 | 371 | (expected-symbol "hardy_weinberg_equilibrium") |
372 | | - (status "not-started") |
| 372 | + (status "passing") |
373 | 373 | (porting-source "No standard formal-library port; derive from allele-frequency algebra")) |
374 | 374 |
|
375 | 375 | (entry |
|
379 | 379 | (prover "rocq") |
380 | 380 | (proof-file "proofs/canonical-proof-suite/E9_newton_convergence.v") |
381 | 381 | (expected-symbol "newton_quadratic_convergence") |
382 | | - (status "not-started") |
| 382 | + (status "passing") |
383 | 383 | (porting-source "Isabelle HOL-Analysis; Coq Coquelicot")) |
384 | 384 |
|
385 | 385 | ;; ======================================================== |
|
393 | 393 | (prover "rocq") |
394 | 394 | (proof-file "proofs/canonical-proof-suite/M13_hahn_banach.v") |
395 | 395 | (expected-symbol "hahn_banach_extension") |
396 | | - (status "not-started") |
| 396 | + (status "passing") |
397 | 397 | (porting-source "mathlib4 Analysis.NormedSpace.HahnBanach; Isabelle HOL Hahn_Banach")) |
398 | 398 |
|
399 | 399 | (entry |
|
403 | 403 | (prover "rocq") |
404 | 404 | (proof-file "proofs/canonical-proof-suite/M14_max_flow_min_cut.v") |
405 | 405 | (expected-symbol "max_flow_min_cut") |
406 | | - (status "not-started") |
| 406 | + (status "passing") |
407 | 407 | (porting-source "Isabelle HOL Flow_Networks; no canonical mathlib port yet")) |
408 | 408 |
|
409 | 409 | (entry |
|
413 | 413 | (prover "rocq") |
414 | 414 | (proof-file "proofs/canonical-proof-suite/S9_chandrasekhar.v") |
415 | 415 | (expected-symbol "chandrasekhar_mass_bound") |
416 | | - (status "not-started") |
| 416 | + (status "passing") |
417 | 417 | (porting-source "No standard formal-library port; derive from hydrostatic equilibrium + degenerate-gas equation of state")) |
418 | 418 |
|
419 | 419 | (entry |
|
423 | 423 | (prover "rocq") |
424 | 424 | (proof-file "proofs/canonical-proof-suite/S10_r_naught_threshold.v") |
425 | 425 | (expected-symbol "r_naught_threshold") |
426 | | - (status "not-started") |
| 426 | + (status "passing") |
427 | 427 | (porting-source "No standard formal-library port; derive from SIR / SIS stability analysis")) |
428 | 428 |
|
429 | 429 | (entry |
|
433 | 433 | (prover "rocq") |
434 | 434 | (proof-file "proofs/canonical-proof-suite/E10_bathtub_reliability.v") |
435 | 435 | (expected-symbol "weibull_bathtub_bound") |
436 | | - (status "not-started") |
| 436 | + (status "passing") |
437 | 437 | (porting-source "No standard formal-library port; derive from Weibull hazard function")) |
438 | 438 |
|
439 | 439 | (entry |
|
443 | 443 | (prover "rocq") |
444 | 444 | (proof-file "proofs/canonical-proof-suite/E11_kirchhoff.v") |
445 | 445 | (expected-symbol "kirchhoff_laws") |
446 | | - (status "not-started") |
| 446 | + (status "passing") |
447 | 447 | (porting-source "Isabelle HOL Circuits (community); derive from charge + energy conservation")) |
448 | 448 |
|
449 | 449 | ;; ======================================================== |
|
535 | 535 | (date "2026-06-15") |
536 | 536 | (author "Jonathan D.A. Jewell") |
537 | 537 | (change "add L-series — L1 (EchoResidue) + L2 (EchoResidueLinear): gate 007's own Layer-10 echo-types reversibility proofs (proofs/idris2/*.idr, idris2, %default total) alongside the M/S/E entries. Reworded the two files' in-file disclaimer comments so the banned-construct substring scan does not false-positive on the very tokens they disclaim.") |
538 | | - (rationale "The Layer-10 proofs are the language's load-bearing metatheory but were checked only ad hoc (idris2 --check) outside the gated suite. Gating gives them the same nightly banned-construct + symbol-defined enforcement as the canonical entries; domain language keeps them honestly distinct from the famous-theorem ports — these prove 007's OWN type system, not classical results.")))) |
| 538 | + (rationale "The Layer-10 proofs are the language's load-bearing metatheory but were checked only ad hoc (idris2 --check) outside the gated suite. Gating gives them the same nightly banned-construct + symbol-defined enforcement as the canonical entries; domain language keeps them honestly distinct from the famous-theorem ports — these prove 007's OWN type system, not classical results.")) |
| 539 | + (entry |
| 540 | + (date "2026-06-19") |
| 541 | + (author "Jonathan D.A. Jewell") |
| 542 | + (change "status refresh: flipped 21 stale not-started + 1 stale in-progress (M1) labels to passing, verified by a full local runner pass (idris2 0.8 + agda 2.6.3 + Rocq 9.0). Runner summary: 35/37 passing. The 2 not locally verifiable — M2 (mathcomp) and E1 (Coquelicot, ndim port) — keep their prior CI-canonical passing status; their dependency sources are unreachable from this github-only environment (mathcomp -> hierarchy-builder -> coq-elpi -> elpi -> menhir@gitlab.inria.fr + cmdliner@erratique.ch; Coquelicot@gitlab.inria.fr; all 403). REPORT.a2ml and the per-entry sidecars are intentionally NOT regenerated from this local run, since they would show those 2 as locally-regressed; the nightly CI run with the full toolchain regenerates the canonical evidence.") |
| 543 | + (rationale "The not-started / in-progress labels predated the proofs landing. 35 of 37 entries compile, define their headline expected-symbol, and are banned-clean under the local toolchain; the remaining 2 pass in CI. The labels now match verified reality rather than the historical aspiration.")))) |
0 commit comments