feat(applications): RapidNJ Q-criterion bound, generated skip warrants, ℤ instance - #30
Merged
Conversation
…s, ℤ instance New applications section under src/EpistemicTypes/Applications/, with the per-row RapidNJ branch-and-bound rule as its first worked example. - OrderedGroup: the arithmetic budget (addition, negation, order, the four laws, Nat-indexed scale). - IntegerModel: ℤ as difference pairs, cross-multiplied order, all four laws, the ℤ-group instance, and a decidable order. - SortedRow: rows, the sorted-row and running-maximum invariants, and the prefix/suffix membership decomposition. - QCriterion: qBound = (r-2)·d_next - t_i - t_max and the bound lemma qBound-≤-Q, proved with monotonicity, antitonicity and transitivity only. - RapidNJSkip: Checkable (the exactness seam), the generated skip warrant and its soundness map, skip-known, no-receipt-reflection, and the belief-only reading; FactiveModality.reflect is instantiated by the bound's soundness map. - RapidNJExamples: executable integer check, worked four-taxon scan, the no-always-true refutation, and the runtime status mirror. - Rejection fixture UncheckedSkip (twelve fixtures now); EchoBridge._≤ℕ_ gains an infix declaration at its definition site; check-proofs.sh now recurses, so the Applications tree is gated (seventeen modules). - Docs: docs/applications/rapidnj-q-criterion.adoc plus README, docs index, PROOF-STATUS, CHANGELOG, EXPLAINME, AUDIT, ci-safety and STATE.a2ml. Rational input is a stated obligation, not a claim: the bound consumes no field, multiplication or division law, and the common-denominator rescaling path is documented rather than assumed. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
arena-ai-coding-agent
Bot
deleted the
arena/01a0e041-epistemic-types
branch
September 27, 2026 04:20
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.
feat(applications): the RapidNJ Q-criterion as an application of the core
Adds an applications section,
src/EpistemicTypes/Applications/, and uses theRapidNJ per-row branch-and-bound rule as its first worked example. The point is
to show the core doing work on a claim that arrives with its own arithmetic,
rather than only on examples internal to the core.
The mapping
FactiveModality.reflectis the soundness map of the generated skip warrant,and its proof is the bound lemma:
skip-knownpackages that chain: given the sorted-row invariant, therunning-maximum invariant and an accepted exact check, every entry of the
skipped quadrant is proved non-improving. Held without
reflect, the same runis belief (
no-receipt-reflection). The same pipeline reproduces the runtime'sfour readings of evidence (
Factive/Belief/Collapsed/SansFibre),matching
EpistemicTypes.jl'sepi_status.What is in the tree
OrderedGroup— the arithmetic budget: order laws, joint monotonicity,antitone negation,
Nat-indexedscale.IntegerModel— ℤ as difference pairs, cross-multiplied order, all fourlaws, the
ℤ-groupwitness, a decidable order.SortedRow— rows, both invariants, prefix/suffix composition.QCriterion—qBound = (r−2)·d_next − t_i − t_maxandqBound-≤-Q, whichuses only reflexivity, transitivity, monotonicity, antitonicity and scaling:
no ring law, and no multiplication or division of carrier elements anywhere.
RapidNJSkip— theCheckableseam, the generated warrant and its soundness,the factive and belief readings, and the declared-not-assumed cross-iteration
obligation.
RapidNJExamples— the executable integer check, a worked four-taxon scandischarged by computation, the
no-always-truerefutation, the status mirror.Rational input is stated, not assumed
The bound never multiplies carrier elements, so ℚ-as-ordered-group suffices and
the only exactness seam is
Checkable.decide-true. The integers are dischargedin full; the rational case is left as an explicit obligation with the
common-denominator rescaling argument written out (it needs three scaling laws
the record deliberately does not assume). Rounded arithmetic is excluded by
proof, not by convention.
Two latent defects this fixes
tests/check-proofs.shsearched non-recursively, so any module in asubdirectory was silently ungated — it reported 11 modules while 13 existed.
It now reports 17 (12 core +
All+ 5 new modules), which is the point of thegate.
EchoBridge._≤ℕ_had no fixity declaration, so it sat at level 20 and boundtighter than
_+_. Declared at the definition site; a fixity declarationonly, no definition changed.
One new rejection fixture (
UncheckedSkip) refuses a recorded check the numbersdo not meet, so the manifest is twelve.
Evidence
Local, Agda 2.6.4.3:
PASS: 17 source modulesand 12/12 fixtures, under--safe --without-K --double-check --ignore-interfaces -W error --no-libraries, no postulates, no holes. No standard library is used. Siblingrepos were checked and left alone: neither
Protoctist.jlnorMetaManifold-WebUIcontains distance-matrix NJ code, so no coupling isinvented here.
Not claimed
Tree correctness for NJ/RapidNJ; the row-insertion update that maintains the
invariants; cross-iteration bound reuse; any rational instance; and the tighter
ERapidNJ/NINJA bounds.
docs/applications/rapidnj-q-criterion.adoclists theseas open obligations alongside the proof inventory.