mirror of
https://github.com/saymrwulf/ltl-accumulator-verified.git
synced 2026-09-04 20:03:44 +00:00
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>
38 lines
1.2 KiB
Text
38 lines
1.2 KiB
Text
/- Axiom-cone observation for the audit (Phase 3 of check.sh). -/
|
|
import Proofs.Basic
|
|
import Proofs.Completeness
|
|
import Proofs.Extract
|
|
import Proofs.Descent
|
|
import Proofs.Consistency
|
|
import Proofs.Binding3
|
|
import Proofs.Refactor
|
|
import Proofs.Theorem3
|
|
#print axioms LTLAcc.domsep
|
|
#print axioms LTLAcc.kbelow_pos
|
|
#print axioms LTLAcc.kbelow_lt
|
|
#print axioms LTLAcc.le_two_kbelow
|
|
#print axioms LTLAcc.kbelow_pow2
|
|
#print axioms LTLAcc.MTH
|
|
#print axioms LTLAcc.Root
|
|
#print axioms LTLAcc.ConsRec
|
|
#print axioms LTLAcc.Path
|
|
#print axioms LTLAcc.incl_complete
|
|
#print axioms LTLAcc.hnode_preimage_inj
|
|
#print axioms LTLAcc.IsCollision
|
|
#print axioms LTLAcc.extractIncl
|
|
#print axioms LTLAcc.extractIncl_correct
|
|
#print axioms LTLAcc.extractIncl_nonvacuous
|
|
#print axioms LTLAcc.extractMTH
|
|
#print axioms LTLAcc.extractMTH_correct
|
|
#print axioms LTLAcc.extractMTH_nonvacuous
|
|
#print axioms LTLAcc.kbelow_prefix_eq
|
|
#print axioms LTLAcc.take_take_le
|
|
#print axioms LTLAcc.take_drop_prefix
|
|
#print axioms LTLAcc.extractConsNode
|
|
#print axioms LTLAcc.take_all
|
|
#print axioms LTLAcc.consRecBinding
|
|
#print axioms LTLAcc.consRec_base_false_eq
|
|
#print axioms LTLAcc.consRec_base_true_eq
|
|
#print axioms LTLAcc.extractCons
|
|
#print axioms LTLAcc.extractCons_correct
|
|
#print axioms LTLAcc.extractCons_nonvacuous
|