Repository navigation
Escape-window separation for the fast constructive reals (discussion draft, cf. #227) - #228
Open
hy7pc8gfmf-dotcom wants to merge 1 commit into
Open
hy7pc8gfmf-dotcom wants to merge 1 commit into
hy7pc8gfmf-dotcom wants to merge 1 commit into
Conversation
Add reals/fast/CrnEscapeSep.v: an abstract irrationality criterion for the fast constructive reals CR. From a family of positive window widths that eventually escape the dyadic approximations of x, it derives that x is apart from every embedded rational, with an extractable side certificate (CRapartT). Compared with the standard-library CReal engine, no Archimedean index pushdown is needed: the positivity witness of CRpos_char is a single positive rational, so the witness is the quarter of the escape margin and the coherence of the approximation function transports the escape inequality across precisions. The file is picked up automatically by SCons and by configure/make (reals is already listed). No new external dependencies.
hy7pc8gfmf-dotcom
marked this pull request as ready for review
October 16, 2026 15:22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Referral chain: stdlib#316 (proux01's referral) -> #227 -> this draft.
This is a discussion-stage draft — not requesting merge yet. It accompanies #227 ("Constructive pi with extractable separation witnesses") by making the CoRN-native form of the separation engine concrete and CI-testable; happy to rework the scope, or to hold the whole thing, per maintainer preference.
Escape-window separation for the fast constructive reals
This PR adds
reals/fast/CrnEscapeSep.v(287 lines), an abstractirrationality criterion for the fast constructive reals
CR.Main statements (premise-free at top level, no axioms, no classical
logic):
crn_escape_window x e:Set— the escape property: every rationalqeventually escapes the window of widthe naround the2^(-n)approximation ofx, whilee ndominates twice thedyadic resolution at the same index.
crn_escape_window_apart : crn_escape_window x e -> forall q, CRapartT x ('q)—xis apart from every embedded rational, withan extractable side certificate:
CRapartTis the disjoint sumthat exhibits on which side of
qthe numberxlies, and eachcomponent carries a positive rational distance witness
(
CRltT = CRpos (y - x)).Compared with the corresponding construction for the standard
library's
CReal, the engine is shorter: the positivity witness ofCRpos_charis a single positive rational value, so the Archimedeanindex pushdown disappears; the witness is the quarter of the escape
margin, and the coherence of the approximation function transports
the escape inequality across precisions.
Relation to
CRpi: this criterion is the separation half of asecond, independent route to pi. The alternating Leibniz series
construction (developed on the standard-library side, referred in
issue #227) instantiates the escape family and thereby yields, for
every rational
q, an explicit computable margin withc < |p_m - q|for all largem— extractable separationwitnesses complementing the equality route
CRpiprovides.Build: picked up automatically by SCons and configure/make
(
realsis already listed indirs_to_compile/DIRECTORIES)._CoqProjectcarries no per-file lines at HEAD, so no registrationedit is needed; should maintainers prefer explicit IDE registration,
a one-line addition can follow. No new external dependencies
(MathClasses and the stdlib
QArith/Qabs/Qpoweronly).License: GPL-2.0-or-later (header included), converted one-way
from the LGPL-2.1 standard-library sibling per LGPL-2.1 §3.