risc0-ed25519-verified/verification/Proofs
saymrwulf 49a68688c9 scalar layer: add+sub fully proven mod l against THIS fork's v4 extraction
This v4.1.x fork implements Scalar52::sub with TWO loops (loop0 = borrow
chain; loop1 adds L &&& underflow_mask — the arithmetic-mask constant-time
conditional), a genuinely different code path from upstream v5's
subtle-based conditional_add_l. Verified per R2 against this fork's own gen:

- sub_loop_spec (= loop0): borrow chain, verbatim technique from dalek
- sub_loop1_zero_spec / sub_loop1_one_spec: the masked-L add, both mask
  values (0 / 2^64-1), full carry chains
- sub_val_spec: denote(sub a b) = denote a - denote b in ZMod l; the
  underflow mask um = ((borrow>>>63) XOR 1) - 1 resolved per case
- add_loop_spec + add_val_spec: denote(add a b) = denote a + denote b
  (v4 add_loop extracts token-identical to v5; composition through this
  fork's own sub_val_spec)

check-scalar.sh: full manifest, 5/5 kernel axiom audit
[propext, Classical.choice, Quot.sound], green at 300-400s/4096MB.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:45:16 +02:00
..
AddSpec.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
ConstSpecs.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
Denote.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
EdAddAffNiels.lean lean-guard: disable core dumps (no more apport popups on capped aborts) 2026-07-02 16:23:30 +02:00
EdAddProjNiels.lean lean-guard: disable core dumps (no more apport popups on capped aborts) 2026-07-02 16:23:30 +02:00
EdConvert.lean lean-guard: disable core dumps (no more apport popups on capped aborts) 2026-07-02 16:23:30 +02:00
EdCurve.lean lean-guard: disable core dumps (no more apport popups on capped aborts) 2026-07-02 16:23:30 +02:00
EdDenote.lean lean-guard: disable core dumps (no more apport popups on capped aborts) 2026-07-02 16:23:30 +02:00
EdDouble.lean lean-guard: disable core dumps (no more apport popups on capped aborts) 2026-07-02 16:23:30 +02:00
EdMain.lean lean-guard: disable core dumps (no more apport popups on capped aborts) 2026-07-02 16:23:30 +02:00
FeQ.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
Field.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
FieldMain.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
InvertSpec.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
MulSpec.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
P25519.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
ReduceSpec.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
ScalarAddSpec.lean scalar layer: add+sub fully proven mod l against THIS fork's v4 extraction 2026-07-03 18:45:16 +02:00
ScalarDenote.lean Add scalar-layer foundation (Scalar52 arithmetic mod ℓ) 2026-07-02 21:24:39 +02:00
ScalarLoop.lean scalar layer: add+sub fully proven mod l against THIS fork's v4 extraction 2026-07-03 18:45:16 +02:00
ScalarSubSpec.lean scalar layer: add+sub fully proven mod l against THIS fork's v4 extraction 2026-07-03 18:45:16 +02:00
Square2Spec.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
SquareSpec.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00
SubNegSpec.lean field layer: proofs pass, fieldImplementation axiom-clean 2026-07-02 14:38:52 +02:00