ltl-accumulator-verified/verification/Proofs
mrwulf 02a45eae36 S5.4: THEOREM 3 COMPLETE — extractCons assembly + non-vacuity witness
The paper's hardest theorem is fully kernel-checked. extractCons joins
the two proven halves: extractConsNode's collision (via consRecBinding,
steps 1-2) or the descent extractMTH D₀ (D₁.take n₀) (step 3, S4).

- extractCons_correct: acceptance ConsRec n₀ |D₁| C ⊤ (MTH D₀) =
  some (MTH D₀, MTH D₁) with D₀ ≠ D₁.take n₀ (and |D₀| = n₀ ≤ |D₁|,
  0 < n₀) ⇒ IsCollision of THIS function's output. Statement matches
  paper Thm 3 verbatim (the n₀ = 0 escape is vacuous there: [] is
  always the real prefix). Compiled on first attempt — the pre-verified
  skeleton held exactly.
- extractCons_nonvacuous (queued requirement honored): on a non-rewrite
  input the output is provably NOT a collision — choice-proof.

Cones: extractCons_correct [propext, Classical.choice, LTLAcc.sha256,
Quot.sound] — single hash axiom, no collision-resistance assumed
anywhere. 29 certs green. Fable statement-audit passed. LTL untouched
(12 leaves, bcd15f9d).

Corpus now holds kernel-checked: Lemma 1, Theorem 1, Theorem 2,
Theorem 3 (+ whole-tree Lemma 2). Remaining: Prop 1 (S6), fidelity
harness (S7), freeze (S8).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 20:07:20 +02:00
..
AxiomCheck.lean S5.4: THEOREM 3 COMPLETE — extractCons assembly + non-vacuity witness 2026-07-11 20:07:20 +02:00
AxiomCheck.olean S5.4: THEOREM 3 COMPLETE — extractCons assembly + non-vacuity witness 2026-07-11 20:07:20 +02:00
Basic.lean S5.3: consRecBinding PROVEN — Theorem 3 steps 1-2 kernel-checked (the hardest object) 2026-07-11 19:18:26 +02:00
Basic.olean S5.3: consRecBinding PROVEN — Theorem 3 steps 1-2 kernel-checked (the hardest object) 2026-07-11 19:18:26 +02:00
Binding.olean S3/L4-L5: root binding (Lemma 2, Path instance) + Theorem 2, constructive 2026-07-11 13:21:17 +02:00
Binding3.lean S5.3: consRecBinding PROVEN — Theorem 3 steps 1-2 kernel-checked (the hardest object) 2026-07-11 19:18:26 +02:00
Binding3.olean S5.3: consRecBinding PROVEN — Theorem 3 steps 1-2 kernel-checked (the hardest object) 2026-07-11 19:18:26 +02:00
Completeness.lean S3.5: explicit collision extractor — Theorem 2 made non-vacuous, vacuous forms removed 2026-07-11 15:31:21 +02:00
Completeness.olean S3.5: explicit collision extractor — Theorem 2 made non-vacuous, vacuous forms removed 2026-07-11 15:31:21 +02:00
Consistency.lean S5 stage 2: extractConsNode extractor defined (consistency, Theorem 3 steps 1-2) 2026-07-11 17:55:51 +02:00
Consistency.olean S5 stage 2: extractConsNode extractor defined (consistency, Theorem 3 steps 1-2) 2026-07-11 17:55:51 +02:00
Descent.lean S4: descent extractor extractMTH (Theorem 3 step 3 + F2 restoration), non-vacuous 2026-07-11 16:46:58 +02:00
Descent.olean S4: descent extractor extractMTH (Theorem 3 step 3 + F2 restoration), non-vacuous 2026-07-11 16:46:58 +02:00
Extract.lean S3.5 Fable re-audit: permanent non-vacuity witness + honest ledger 2026-07-11 16:38:34 +02:00
Extract.olean S3.5 Fable re-audit: permanent non-vacuity witness + honest ledger 2026-07-11 16:38:34 +02:00
Probe.olean S3.5: explicit collision extractor — Theorem 2 made non-vacuous, vacuous forms removed 2026-07-11 15:31:21 +02:00
ProbeAx.olean S5.3: consRecBinding PROVEN — Theorem 3 steps 1-2 kernel-checked (the hardest object) 2026-07-11 19:18:26 +02:00
ProbeInduct.olean S5.3: consRecBinding PROVEN — Theorem 3 steps 1-2 kernel-checked (the hardest object) 2026-07-11 19:18:26 +02:00
ProbeRefactor.olean S5.3 Fable re-audit: machine-verify the ConsRec base refactor (permanent artifact) 2026-07-11 19:25:04 +02:00
Refactor.lean S5.3 drill (2nd pass): anchor refactor-equivalence provenance to git history 2026-07-11 19:55:38 +02:00
Refactor.olean S5.3 drill (2nd pass): anchor refactor-equivalence provenance to git history 2026-07-11 19:55:38 +02:00
Theorem3.lean S5.4: THEOREM 3 COMPLETE — extractCons assembly + non-vacuity witness 2026-07-11 20:07:20 +02:00
Theorem3.olean S5.4: THEOREM 3 COMPLETE — extractCons assembly + non-vacuity witness 2026-07-11 20:07:20 +02:00