Repository navigation
#91 stage 4, PR 2a: the machine's natural and integer arithmetic, Some or None on overflow (SP-23) - #227
Closed
afflom wants to merge 17 commits into
Closed
#91 stage 4, PR 2a: the machine's natural and integer arithmetic, Some or None on overflow (SP-23)#227afflom wants to merge 17 commits into
afflom wants to merge 17 commits into
Conversation
…observable overflow (#91 stage 4, PR 2) R3: row, SPEC.md section 31 row, scenario and the named test first; the case is not wired, so conformance_sp_23 fails. Count 428 to 429 on this draft; the maintainer assigns the final count at landing. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
…overflow; the Rust mirror and the RB-15 harness cover them Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
…th families decision Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
This was referenced Oct 20, 2026
Closed
…core branch; register 433 The bootstrap validator encoder (BS-05) meets the machine callee and the overflow value: its program has no node for either, and the corpus holds neither, so the encoder refuses them by name. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
…e overflow literal and their rules (BS-05) LexLeanBoot.RustValidate: Lit.LitOverflow, Callee.CalMachine (a family index), the machine table (name, arity) of the 17 families, machineCallC (arity then callOk), the overflow value refused outside an Err, and the construct call:machine. The encoder encodes both; machine_crates() adds the hand-built corpus. The BS-05 counts are not yet calibrated and the case has not passed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
…e machine crates Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
…rsive arms do Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
…flow in an Err, call:machine) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
…e the machine crates, the twenty plants, and the counts Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
…ssue-91-stage4-core
…ap validator's tables, the family index, and the machine crates Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018vK7Tm6xHF5etAwKM6r9HG
…he rows it names, so a forward reference inside a mutual group pins what Lean prints
Member
Author
Subtle hazard in
|
…e the 26 families, 32 machine crates, and counts 438/193/301/77 (739); certificate A fix recorded
…ne: BS-05's package counts follow the three new committed programs (226 crates; 432 validateCrate and 295 correspondCrate vectors, to be measured)
…: the register at 439, BS-05's counts follow the three new committed programs
…nion pin (#221) replaces it
Member
Author
|
Maintainer: landed on release/v0.4 by #248 (merge commit 9796067, the #91 stage-4 stack regenerated on one compiler-semantics identity, full gate green on 677e88d). Closing by hand, since release-line merges do not auto-close. Generated by Claude Code |
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.
What it does
First part of PR 2 of the stage 4 plan on #91, stacked on PR 1 (#224). Not the core runtime yet (
RustRuntime,SP-22,RB-16are blocked on the proof-surface finding below).SP-23RustSyntax.Machinegains nine constructors:checkedNatAdd,checkedNatMul,checkedIntAdd,checkedIntSub,checkedIntMul,checkedIntNeg,checkedIntQuot(eachSomeof the calculus primitive's value, orNonewhere the primitive overflows) andnatSub,natQuot(total, the primitive's value).RustSemanticsgainsmachineOptionalandrunMachinereads it. Reason (corrects the plan on [v0.4] #27 stage 6: complete the closed Rust AST so the runtime is generated from the calculus #91):Machine.checkedAdd u64accepts onlyValue.u64, and the runtime'snat_*/int_*compute onValue.nat/Value.int; and a body cannot observeabort, sonat_addcan only returnErr(Overflow)if the machine hands itNone.rust::ast::Machinemirrors them (print, arity, width) and the certificate-B term builder writes them; the RB-15 harness covers them (106 functions now).ItemDef.family).SP-23is the +1; the maintainer assigns the final count).Measured
conformance_sp_13(all 13 library modules, pinned Lean 4.32.1, over the regenerated modules including the changed body ofrunMachine): passes, 400 s. 0 library repairs.conformance_sp_23: 18 claims evaluated by Lean, 4 wrong statements refused; two plants caught (VERIFICATION.md).conformance_sp_21,conformance_sp_18,conformance_rb_15: pass.-D warnings,validate-model,validate-spec-links(429),check-test-inventory(757), thebddmeta-gate: clean.Not run / left for the wave
Records bound to the compiler-semantics ID (
rust_renderer, locks, goldens, production export,compiler/expected),check-calculus, fulljust vv, other hosts,repro,honesty. As on #224.Generated by Claude Code