ltl-accumulator-verified/verification/Proofs/AxiomCheck.lean
mrwulf 43f2c40cac S6: Proposition 1 (pin-store safety) — the last theorem, Merkle-layer share
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>
2026-07-11 20:23:49 +02:00

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