mirror of
https://github.com/saymrwulf/ltl-accumulator-verified.git
synced 2026-09-04 20:03:44 +00:00
The consumer pin store (§5.4) as a transition predicate; the paper's Prop 1(1) fully mechanized: - pinAccept: same-size ⇒ root match; smaller ⇒ reject (rollback); larger ⇒ consistency proof verifies. Mirrors sthstore.py. - pinAccept_monotone: an accepted step never shrinks the pin (definitional). - pin_prefix_correct: an honest advance where D is NOT the prefix of D' makes pinExtract output a genuine collision — same-size routes to extractMTH (whole-tree Lemma 2), grow routes to extractCons (Theorem 3). Explicit named-extractor form ⇒ non-vacuous (pin_prefix_nonvacuous pinned). - fork_distinct: the Merkle share of Prop 1(2) — different roots at equal size commit to different content. EUF-CMA transferable-evidence is signature-layer, OUT OF SCOPE and documented in the file header (not smuggled). Cones: single hash axiom (pin_prefix_correct adds Classical.choice via functional induction downstream). 33 certs green. Fable statement-audit: matches paper Prop 1(1); Prop 1(2) scope-bounded honestly. LTL untouched. Every §6 statement is now kernel-checked: Lemma 1, Theorems 1-3, whole-tree Lemma 2, Proposition 1. Remaining: S7 fidelity, S8 freeze. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
43 lines
1.4 KiB
Text
43 lines
1.4 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
|
|
import Proofs.PinStore
|
|
#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
|
|
#print axioms LTLAcc.pinAccept_monotone
|
|
#print axioms LTLAcc.pin_prefix_correct
|
|
#print axioms LTLAcc.fork_distinct
|
|
#print axioms LTLAcc.pin_prefix_nonvacuous
|