Skip to content

proof(numbers): approxGroup witness for float/complex + Rational/Symbolic value-model design (gap-005)#57

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/dazzling-albattani-ubS9r
Jun 21, 2026
Merged

proof(numbers): approxGroup witness for float/complex + Rational/Symbolic value-model design (gap-005)#57
hyperpolymath merged 1 commit into
mainfrom
claude/dazzling-albattani-ubS9r

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Jun 21, 2026

Copy link
Copy Markdown
Owner

What

Advances value-level number-system semantics (gap-005) for the four carrier-distinct systems — 2 witnessed now, 2 designed + tracked (see #58).

Float & Complex — approxGroup witness (Rust)

Both are f64-based, so add is non-associative (approxGroup → Neutral, never the exact abelianGroup → Safe tier). number.rs mod approx_group_witness (4 tests):

  • (0.1 + 0.2) + 0.3 ≠ 0.1 + (0.2 + 0.3) via Value::add, for Value::Float and Value::Complex
  • commutativity holds

This is not 0-axiom Lean-provable: Lean's Float is an opaque @[extern] primitive, and native_decide would inject the Lean.ofReduceBool axiom (forbidden here). The differential witness against native f64 is the faithful check.

Rational & Symbolic — designed (Lean)

Both admit real 0-axiom Lean value models (rational = exact abelian group; symbolic = associative / non-commutative / non-group). Designed pick-up-ready in the new docs/proofs/number-system-value-models.adoc; tracked in #58.

Verification

cargo test -p jtv-core green (4 new tests); cargo fmt --check + clippy clean. Lean suite unchanged (no .lean edits).

Docs

New docs/proofs/number-system-value-models.adoc (status table + f64-wall rationale + Rational/Symbolic designs); PROOF-CAPABILITY-MATRIX scope section links it; gap-005 updated in STATE.a2ml.

CI note

The two red checks (Hypatia + governance Workflow Staleness) are not caused by this change — both trace to the stale hyperpolymath/standards reusable pins (see #56); they fail on main too. Lean/test/Check are all green.

🤖 Generated with Claude Code

…esign sketch (gap-005)

Advances value-level number-system semantics for the four carrier-distinct
systems: 2 witnessed now, 2 designed + tracked.

- Float & Complex are f64-based, so their `add` is non-associative
  (approxGroup → Neutral, never the exact abelianGroup → Safe tier). Witnessed
  in Rust (number.rs `mod approx_group_witness`, 4 tests): non-associativity via
  `Value::add`, commutativity holds. This is NOT 0-axiom Lean-provable — Lean's
  `Float` is opaque `@[extern]`, and `native_decide` would inject the
  `Lean.ofReduceBool` axiom (forbidden) — so the differential witness against
  native f64 is the faithful check.

- Rational (exact abelian group) and Symbolic (associative, non-commutative,
  non-group) admit real 0-axiom Lean value models — designed in the new
  docs/proofs/number-system-value-models.adoc (pick-up-ready; tracking issue).

Docs: PROOF-CAPABILITY-MATRIX scope-of-model section links the sketch; gap-005
updated in STATE.a2ml. cargo test/fmt/clippy green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJmfoz1ZS1Pejy9LLMY742
@hyperpolymath
hyperpolymath marked this pull request as ready for review June 21, 2026 23:18
@hyperpolymath
hyperpolymath merged commit e9ff353 into main Jun 21, 2026
22 of 24 checks passed
@hyperpolymath
hyperpolymath deleted the claude/dazzling-albattani-ubS9r branch June 21, 2026 23:19
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.

2 participants