mirror of
https://github.com/saymrwulf/fips205-slhdsa-verified.git
synced 2026-09-03 19:53:49 +00:00
verification/check.sh is green (exit 0): 3 phases — model compiles, proofs compile, axiom audit passes. fips205.chain_free_loop_eq (Proofs/ChainSpec.lean): the extracted chain_free loop = the explicit s-fold hash chain, hash address i..i+s-1. Machine-checked, for the deployed monomorphic SHA2-128s verify path, that there is no off-by-one loop bound, no wrong address field, no wrong threading. #print axioms cone = EXACTLY [propext, Classical.choice, Quot.sound, verify_mono.oracle.f] — kernel three + the one hash oracle, zero transpiler plumbing (the u32 Step machinery was discharged earlier with real defs). check.sh Phase 3 enforces cone subset of kernel-3 + the five SHA-2 oracles, failing the build otherwise. Proof structure (all lemmas axiom-clean, no sorry): u32_succ + fwd_succ (the monadic u32 increment, checked against pinned rustc semantics); loop_unfold_bind (one turn of the Aeneas loop fixpoint, closed by cases because a hand-written match compiles to a non-defeq matcher); hnext + hbody (iterator step and loop body as clean equations); chain_step (one loop step = one fold step); chain_free_loop_eq (induction, IH threaded under the opaque binds with bind_congr). Both prior sorries closed. Certificate lives in Proofs/ (not drafts/); the WIP draft is retired. check.sh committed as -F stdin per the no-backticks-in-commit-messages rule. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .gitkeep | ||
| ChainSpec.lean | ||