|
2 | 2 | ;; META.scm - Project metadata and architectural decisions |
3 | 3 |
|
4 | 4 | (define project-meta |
5 | | - `((version . "1.0.0") |
6 | | - (architecture-decisions . ()) |
| 5 | + `((version . "1.0.0-alpha") |
| 6 | + |
| 7 | + (architecture-decisions |
| 8 | + . (((id . "ADR-001") |
| 9 | + (title . "ProofIrrelevance for morphism equality") |
| 10 | + (status . "accepted") |
| 11 | + (date . "2026-02-05") |
| 12 | + (context . "Category theory proofs need morphism equality. |
| 13 | + ProgramMorphism wraps a Program with an eval witness. |
| 14 | + Two morphisms with same program must be equal.") |
| 15 | + (decision . "Import Coq.Logic.ProofIrrelevance and use |
| 16 | + morph_eq_ext lemma to reduce morphism equality to |
| 17 | + program equality (list equality).") |
| 18 | + (consequences . "Category laws become list append properties. |
| 19 | + Standard axiom accepted by most Coq developments.")) |
| 20 | + |
| 21 | + ((id . "ADR-002") |
| 22 | + (title . "Landauer axiomatization vs derivation") |
| 23 | + (status . "accepted") |
| 24 | + (date . "2026-02-05") |
| 25 | + (context . "Landauer's Principle is a physical law. |
| 26 | + StatMech.v axiomatizes it directly. LandauerDerivation.v |
| 27 | + attempts to derive it from statistical mechanics.") |
| 28 | + (decision . "Keep both approaches. StatMech.v is the primary |
| 29 | + (complete, all proofs done). LandauerDerivation.v is |
| 30 | + aspirational (needs measure theory, 3 proofs remaining).") |
| 31 | + (consequences . "Dual formalization captures both physics |
| 32 | + (axiom from experiment) and mathematics (derivation).")) |
| 33 | + |
| 34 | + ((id . "ADR-003") |
| 35 | + (title . "Lambda CNO definition: identity only, no termination") |
| 36 | + (status . "accepted") |
| 37 | + (date . "2026-02-05") |
| 38 | + (context . "Original is_lambda_CNO required normalization |
| 39 | + for ALL arguments, but identity applied to divergent terms |
| 40 | + gives divergent terms (no normal form). Definition was false.") |
| 41 | + (decision . "CNO in lambda calculus = identity property only: |
| 42 | + forall arg, beta_reduce_star (LApp t arg) arg. |
| 43 | + Termination for normalizing args is a separate theorem.") |
| 44 | + (consequences . "Cleaner definition. Composition theorem |
| 45 | + needs closedness hypotheses for de Bruijn substitution.")) |
| 46 | + |
| 47 | + ((id . "ADR-004") |
| 48 | + (title . "post_execution_dist specialized for CNOs") |
| 49 | + (status . "accepted") |
| 50 | + (date . "2026-02-05") |
| 51 | + (context . "General post_execution_dist needs measure theory. |
| 52 | + For CNOs, f_p = id, so P_final = P_initial.") |
| 53 | + (decision . "StatMech.v uses CNO-specialized identity. |
| 54 | + Document explicitly why this is mathematically correct. |
| 55 | + LandauerDerivation.v keeps general definition as future work.") |
| 56 | + (consequences . "Thermodynamic proofs in StatMech.v are |
| 57 | + trivially correct. General case deferred to v1.0.")) |
| 58 | + |
| 59 | + ((id . "ADR-005") |
| 60 | + (title . "Quantum Cexp bug: real vs complex exponential") |
| 61 | + (status . "proposed") |
| 62 | + (date . "2026-02-05") |
| 63 | + (context . "QuantumCNO.v uses Cexp(RtoC theta) which gives |
| 64 | + e^theta (real exponential), not e^{i*theta} (phase factor). |
| 65 | + Global phase requires the complex exponential.") |
| 66 | + (decision . "Fix to Cexp(Ci * RtoC theta) for proper phase. |
| 67 | + Add complex exponential axioms from Coquelicot.") |
| 68 | + (consequences . "quantum_state_eq proofs become completable. |
| 69 | + global_phase_is_cno proof becomes straightforward.")))) |
| 70 | + |
7 | 71 | (development-practices |
8 | | - ((code-style . "standard") |
| 72 | + ((code-style . "Coq proof engineering best practices") |
9 | 73 | (security . "openssf-scorecard") |
10 | 74 | (versioning . "semver") |
11 | 75 | (documentation . "asciidoc") |
12 | | - (branching . "trunk-based"))) |
13 | | - (design-rationale . ()))) |
| 76 | + (branching . "trunk-based") |
| 77 | + (proof-methodology |
| 78 | + . ("Prefer Qed over Admitted" |
| 79 | + "Axiomatize physical laws and well-known results" |
| 80 | + "Document every Admitted with rationale" |
| 81 | + "Use proof irrelevance for propositional equality" |
| 82 | + "Separate infrastructure lemmas into helper files")))) |
| 83 | + |
| 84 | + (design-rationale |
| 85 | + . ("CNOs as identity morphisms in arbitrary categories" |
| 86 | + "Multi-prover verification for maximum confidence" |
| 87 | + "Thermodynamic grounding via Landauer and Bennett" |
| 88 | + "Model independence via category theory functors" |
| 89 | + "Progressive formalization: axiom -> theorem -> verified")))) |
0 commit comments