anza-ed25519-verified/verification
mrwulf 8440b53bdc Add scalar-layer foundation (Scalar52 arithmetic mod ℓ)
Transpile the Scalar52 limb backend (backend::serial::u64::scalar
add/sub/mul/square/montgomery_*) from Rust to Lean via Charon/Aeneas,
scoped at the function level to the iterator-free arithmetic core.

  - verification/extract-scalar.sh: function-level Charon/Aeneas extraction
  - verification/gen/CurveScalar/{Types,Funs}.lean: transpiled model (28 defs)
  - verification/gen/CurveScalar/{TypesExternal,FunsExternal}.lean: hand-written
    external models (subtle.Choice + 2 subtle fns; namespace = curve25519)
  - verification/Proofs/ScalarDenote.lean: semantic foundation — Scalar52
    denotation into ℤ/ℓℤ, limb-bound invariant, and L_val (the transpiled
    constants::L denotes exactly the group order ℓ, kernel-checked)
  - verification/check-scalar.sh: guarded compile of the four gen modules
    plus the denotation foundation

check-scalar.sh passes: gen compiles; denotation + L = ℓ proven.
add/sub/mul remain in progress.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 21:19:58 +02:00
..
gen Add scalar-layer foundation (Scalar52 arithmetic mod ℓ) 2026-07-02 21:19:58 +02:00
Proofs Add scalar-layer foundation (Scalar52 arithmetic mod ℓ) 2026-07-02 21:19:58 +02:00
check-scalar.sh Add scalar-layer foundation (Scalar52 arithmetic mod ℓ) 2026-07-02 21:19:58 +02:00
check.sh lean-guard: disable core dumps (no more apport popups on capped aborts) 2026-07-02 16:23:31 +02:00
CurveField.llbc group-law layer: complete twisted Edwards addition law proven 2026-07-02 15:04:25 +02:00
CurveScalar.llbc Add scalar-layer foundation (Scalar52 arithmetic mod ℓ) 2026-07-02 21:19:58 +02:00
extract-scalar.sh Add scalar-layer foundation (Scalar52 arithmetic mod ℓ) 2026-07-02 21:19:58 +02:00
extract.sh group-law layer: complete twisted Edwards addition law proven 2026-07-02 15:04:25 +02:00
lean-guard lean-guard: disable core dumps (no more apport popups on capped aborts) 2026-07-02 16:23:31 +02:00