Skip to content

verify(falcon): v1.128 → P04 verified — machine-checked f32 sin approximation bound - #308

Merged
avrabe merged 1 commit into
mainfrom
verify/mathf32-p04-sin-approx
Jul 23, 2026
Merged

verify(falcon): v1.128 → P04 verified — machine-checked f32 sin approximation bound#308
avrabe merged 1 commit into
mainfrom
verify/mathf32-p04-sin-approx

Conversation

@avrabe

@avrabe avrabe commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Two-commit rule — the code-free verify half of P04

The implementation (proofs/rocq/sin_approx.v) landed in #307 with its Rocq + Gappa gate green on CI. This PR contains no source changes — it only:

  • promotes SWREQ-FALCON-MATHF32-P04 from implementedverified
  • adds the verification artifact FV-FALCON-MATHF32-004 (verifies P04)

What's verified

The approximation-error bound — the minimax remainder — machine-checked:

|P(r) − sin r| ≤ 1e-8   for all r ∈ [-0.8, 0.8]
  • Coq-Interval interval tactic, kernel-checked by the withPackages coqc (rules_rocq_rust#43); the tactic's own success is never trusted (CC-002).
  • Non-vacuous: proves 1e-8, fails 8e-9 even at i_degree 18.
  • Enforced by the required rocq.yml gate (//proofs/rocq:all includes sin_approx_test) — ran green on feat(math): machine-checked approximation bound for the f32 sin kernel (MATHF32-P04) #307's merge.
  • Coefficients byte-identical to the P03 Gappa proof → the rounding and approximation layers compose.

Scope: the approximation ingredient only. The reduced-range composition and Cody-Waite reduction remain P06.

Closes the V for the sole artifact in the falcon-v1.128.0 release scope.

🤖 Generated with Claude Code

…ximation bound (MATHF32-P04)

Two-commit rule, second commit (code-free): the implementation (the
Coq-Interval proof proofs/rocq/sin_approx.v) landed in #307 with its Rocq +
Gappa gate green on CI; this promotes SWREQ-FALCON-MATHF32-P04 from
`implemented` to `verified` and adds the verification artifact
FV-FALCON-MATHF32-004.

The approximation-error bound |P(r) - sin r| <= 1e-8 over r in [-0.8, 0.8] is
machine-checked (Coq-Interval `interval` tactic, kernel-checked by the
withPackages coqc; the tactic's own success never trusted, CC-002),
non-vacuous (proves 1e-8, fails 8e-9 at i_degree 18), enforced by the required
rocq.yml gate (//proofs/rocq:all includes sin_approx_test). Coefficients are
byte-identical to the P03 Gappa proof, so the rounding and approximation
layers compose. Scope: the approximation ingredient only — the reduced-range
composition and Cody-Waite reduction remain P06.

No source changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvusAXYbHLyv3uTzfBcMbG
@avrabe
avrabe enabled auto-merge (squash) July 23, 2026 05:28
@avrabe
avrabe merged commit fa84a60 into main Jul 23, 2026
59 checks passed
@avrabe
avrabe deleted the verify/mathf32-p04-sin-approx branch July 23, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant