Skip to content

feat: RNE proof via lower/upper#93

Draft
bollu wants to merge 1 commit into
mainfrom
rne-plan-lower-upper
Draft

feat: RNE proof via lower/upper#93
bollu wants to merge 1 commit into
mainfrom
rne-plan-lower-upper

Conversation

@bollu

@bollu bollu commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

This PR adds the RNE proof via lower and upper theorems

Reframe the rounding proof around RNE and assemble it in terms of lower/upper.

docs/lower-pen-and-paper.typ: retarget to RNE
(toExtRat_round_Rel_smtLibRound_of_RNE); Part I proves the two candidates
(blastLower/blastUpper), Part II assembles RNE via a selection engine stated
purely as lower/upper distances; demote the truncation identity to the one-ulp
gap. Delete PLAN_RNE.md (folded into the typst doc).

Round.lean:
- Selection engine (lower/upper distances): blastIsLowerHalf/TieBreak engine
  lemmas, spec-side distance lemmas, and the _of_nonneg / sign-general
  _of_normal selector bridges (glue proven by grind, leaves are sorry).
- Found that the predicates are FALSE at an exactly-representable r (circuit and
  SMT spec disagree there); engine/bridge lemmas now carry the required
  'lower r < r' hypothesis, documented inline.
- Restructure toExtRat_round_Rel_smtLibRound_of_RNE: peel off the
  exactly-representable case, and use the corrected _of_normal bridges in the
  non-representable case (corrected bridges now on the critical path).
- Delete the four false unconditional bridges (no external users).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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