ltl-accumulator-verified/README.md
mrwulf 8d67e9519c L1+L2: hashing shapes, domain separation, MTH/Root/ConsRec with termination
Accumulator pyramid layers 1-2, mechanizing paper SS5.3/SS6 groundwork:
- gen/LTLAcc/HashExternal.lean: the single sanctioned axiom, opaque
  sha256 (no properties assumed - the soundness theorems downstream are
  constructive collision extractors).
- Proofs/Basic.lean: hleaf/hnode (0x00/0x01 domain stamps); Lemma 1
  (domsep) proven AXIOM-FREE; kbelow (largest power of two below n)
  with pos/lt/le-two bound lemmas; MTH, Root (Option = rejection),
  ConsRec (four cases, b-flag, pinned anchor) - all with kernel-checked
  termination via the kbelow bounds.
- check.sh: estate discipline (stub audit, axiom-smuggling gate,
  lean-guard compilation, boundary-exact per-certificate cone audit).
  All green; observed cones pinned exactly.

Zero contact with the live LTL: no appends, no server, accumulator
frozen at 12 leaves throughout this project.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 23:58:00 +02:00

33 lines
1.7 KiB
Markdown

# ltl-accumulator-verified
Lean 4 mechanization of the security analysis (§6) of the paper
"The Lean Transparency Log" (https://ltl.zkdefi.org/paper): the Merkle
accumulator's own correctness and soundness theorems, kernel-checked, in
the same discipline as the four `*-ed25519-verified` subject corpora.
## Status: layer scaffold (work in progress — honest ledger below)
| layer | content | status |
|---|---|---|
| L1 | bytes, hleaf/hnode, domain separation (Lemma 1) | **done** (domsep: axiom-free) |
| L2 | MTH, Root, ConsRec definitions + termination | **done** (cones: propext, LTLAcc.sha256, Quot.sound) |
| L3 | inclusion completeness (Theorem 1) | pending |
| L4 | frontier hash-fold + root binding (Lemma 2) | pending |
| L5 | inclusion/consistency soundness as collision extractors (Theorems 2, 3) | pending |
| L6 | pin-store state machine safety (Proposition 1) | pending |
## Discipline (identical to the subject corpora)
- `verification/Proofs/` contains ZERO `axiom` declarations; the single
sanctioned axiom site is `verification/gen/` — here, one opaque
function: SHA-256. The theorems are constructive collision extractors,
so collision resistance is never assumed, only interpreted.
- `verification/check.sh` is THE button: compiles every file through
`lean-guard` (memory cap, core pinning, timeout, single-flight lock)
and axiom-audits every certificate against its documented exact cone.
- Expected boundary: `propext, Classical.choice, Quot.sound` plus
`LTLAcc.sha256` for hash-touching certificates — documented per
certificate in `check.sh`, audited both directions.
The finished certificates are destined for the LTL itself as attestation
leaves: the log carrying kernel-checked proofs of its own machinery.