ogdoad
Ogdoad is a pure-Rust library for Clifford algebras, quadratic forms, and related arithmetic over exact, finite, local, transfinite, and game-adjacent coefficient systems. Optional PyO3 bindings expose selected concrete backends without entering the generic math core.
The library supports degenerate metrics. In characteristic two it keeps the quadratic and polar data independent:
e_i^2 = q_i
e_i e_j + e_j e_i = b_ij
An optional upper-triangular a_ij records ordered contraction for a general
bilinear metric. Generic product code obtains signs through Scalar::neg and
does not special-case the characteristic.
Scope
A Clifford scalar is a commutative ring. Arbitrary partizan games form only an abelian group under disjunctive sum, so Ogdoad is not a Clifford algebra over all games. The scalar pillar includes field-like game subclasses such as finite nimbers and represented surcomplex numbers; genuinely game-theoretic constructions live in the separate games pillar.
Representation limits are part of the API:
Nimber(u128)isF_(2^128), not the algebraic closure ofF_2.Surrealstores finite-support Conway-normal-form expressions, not arbitrary surreal series.- valued and local models have explicit precision caps and do not silently claim exact field laws outside them.
Ordinal::nim_mul,nim_pow,checked_inv, andchecked_sqrtpreserve the supported Kummer-tower boundary throughOption; theScalarmultiplication wrapper panics if that checked boundary is ignored.- fixed-width mathematical payloads use
u128ori128;usizeis reserved for dimensions, indices, and ABI hooks.
Architecture
| path | role |
|---|---|
src/scalar/ |
coefficient traits and exact, finite, valued, global, surreal, and ordinal backends |
src/clifford/ |
metrics, blades, multivectors, products, versors, spinors, and geometric-algebra constructions |
src/forms/ |
quadratic-form classification, Witt/Brauer theory, Springer and local--global arithmetic |
src/forms/integral/ |
lattices, discriminant forms, codes, theta series, genera, neighbors, and Weyl bridges |
src/games/ |
impartial, partizan, misere, loopy, thermographic, Hackenbush, and game-exterior constructions |
src/py/ |
optional per-backend PyO3 bindings; scalar worlds never mix at runtime |
src/linalg/ |
crate-private shared linear algebra |
grundy/ |
unpublished expression-language workspace crate using only Ogdoad's public API |
formal/ |
separately pinned Lean 4 development |
writeups/ |
current mathematical papers and BibTeX sources |
Public pillars re-export their children shallowly. Each source pillar has an
AGENTS.md with its local invariants; docs/README.md
indexes the current project documentation.
Use
Rust:
cargo add ogdoad
cargo run --example tour
Python 3.9 or newer:
python -m maturin build --profile dev -i python
python -m pip install --force-reinstall --no-deps target/wheels/ogdoad-*.whl
import ogdoad as og
# q and b are independent in characteristic two.
A = og.NimberAlgebra(q=[og.Nimber(2), og.Nimber(3)], b={(0, 1): 1})
e0, e1 = A.gen(0), A.gen(1)
assert e0 * e1 + e1 * e0 == A.scalar(og.Nimber(1))
# Exact finite-support surreal monomials.
S = og.SurrealAlgebra(q=[og.omega(), og.epsilon()])
assert (S.gen(0) * S.gen(1)) ** 2 == S.scalar(og.Surreal.from_int(-1))
The Python layer monomorphizes a documented slice of the Rust backends. It
does not provide a runtime-tagged any-scalar algebra. Its typed report surface
includes finite quadratic modules and Nikulin criteria, extraspecial and
Heisenberg--Weil objects, function-field Brauer--Wall classes, Niemeier data,
finite-field Witt decompositions, lexicode turning games, conformal-algebra
accessors, and represented ordinal finite-subfield degrees. Python repr
delegates to canonical Rust rendering where the core provides it.
Mathematical status
The papers under writeups/ form one current research suite:
| paper | result |
|---|---|
transfinite_arf.tex |
classification over perfect Artin--Schreier-surjective characteristic-two fields and its full-nimber specialization |
goldarf.tex |
quadratic-refinement realization in normal play, Gold specialization, Brown selector, and game-exterior obstruction |
thermo_newton.tex |
thermic regrading under Norton multiplication and its separation from Newton tropicalization |
linking_affine.tex |
proved reductions and exact remaining obstruction for isolated-dummy FIFO linking |
excess.tex |
four-arm reduction and exact remaining selected-order problem for transfinite nim excess |
The last two universal claims remain open. Their concise statements and sharp
proof boundaries are in docs/OPEN.md. Lean checks named
ingredients and several end-to-end finite constructions, not the open
propositions; see formal/README.md.
Verification
cargo fmt --all --check
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --workspace
(cd formal && lake build --wfail)
npm ci
python scripts/check_writeups.py
docs/VERIFY.md records the optional Python-binding gates,
exactness contracts, certificate boundary, and claim classes. Contributions
should identify mathematical claims as standard/cited, implemented and tested,
proved here, or open; see CONTRIBUTING.md.
Ogdoad is licensed under AGPL-3.0-or-later.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ogdoad-1.0.3.tar.gz.
File metadata
- Download URL: ogdoad-1.0.3.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fbc0eca5396050b8aa0eeb8a0e7d1d5aebc2b697c206aeaa4c892f6fe128021
|
|
| MD5 |
67c16cf2780255353bda4f6706b34bef
|
|
| BLAKE2b-256 |
55f0d903b55658d9f94f36a16d09363b8b54decaf45b52aaaadbaf89de99b3f3
|
Provenance
The following attestation bundles were made for ogdoad-1.0.3.tar.gz:
Publisher:
release.yml on a9lim/ogdoad
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ogdoad-1.0.3.tar.gz -
Subject digest:
1fbc0eca5396050b8aa0eeb8a0e7d1d5aebc2b697c206aeaa4c892f6fe128021 - Sigstore transparency entry: 2452274788
- Sigstore integration time:
-
Permalink:
a9lim/ogdoad@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a9lim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Trigger Event:
push
-
Statement type:
File details
Details for the file ogdoad-1.0.3-cp39-abi3-win_amd64.whl.
File metadata
- Download URL: ogdoad-1.0.3-cp39-abi3-win_amd64.whl
- Upload date:
- Size: 17.2 MB
- Tags: CPython 3.9+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19ba2a3bca95a7045f2866174b79bab92ce7c232790341f58769774b0177381c
|
|
| MD5 |
22200d27cea457f3fcb059ca794c3def
|
|
| BLAKE2b-256 |
73989764ed65e71670c3a1650a7c326f570031bfc6dc3a8aaf58f868ec12c524
|
Provenance
The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-win_amd64.whl:
Publisher:
release.yml on a9lim/ogdoad
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ogdoad-1.0.3-cp39-abi3-win_amd64.whl -
Subject digest:
19ba2a3bca95a7045f2866174b79bab92ce7c232790341f58769774b0177381c - Sigstore transparency entry: 2452275268
- Sigstore integration time:
-
Permalink:
a9lim/ogdoad@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a9lim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Trigger Event:
push
-
Statement type:
File details
Details for the file ogdoad-1.0.3-cp39-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ogdoad-1.0.3-cp39-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 16.2 MB
- Tags: CPython 3.9+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7226866a15337b38531a3e9c8e678c6b80ec3a75287b8421fa9de912443f4d7e
|
|
| MD5 |
2de968c946dc04bed61d66e298de4139
|
|
| BLAKE2b-256 |
5988b200784fdc789dd39d42206e0732007235a185ae2737e3cf8418e73cdb67
|
Provenance
The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-musllinux_1_2_x86_64.whl:
Publisher:
release.yml on a9lim/ogdoad
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ogdoad-1.0.3-cp39-abi3-musllinux_1_2_x86_64.whl -
Subject digest:
7226866a15337b38531a3e9c8e678c6b80ec3a75287b8421fa9de912443f4d7e - Sigstore transparency entry: 2452274910
- Sigstore integration time:
-
Permalink:
a9lim/ogdoad@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a9lim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Trigger Event:
push
-
Statement type:
File details
Details for the file ogdoad-1.0.3-cp39-abi3-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: ogdoad-1.0.3-cp39-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 15.1 MB
- Tags: CPython 3.9+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc183ce833b923d6dc7488a17888e77d71a0dbcaf48092f0e6f6fb671284e9a1
|
|
| MD5 |
dd9ba5c621425784d0a1f6ded5feafe8
|
|
| BLAKE2b-256 |
914a7437217eddeebe50703135324d68502e1bb851af4386aa23d0ab62f3db24
|
Provenance
The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-musllinux_1_2_aarch64.whl:
Publisher:
release.yml on a9lim/ogdoad
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ogdoad-1.0.3-cp39-abi3-musllinux_1_2_aarch64.whl -
Subject digest:
cc183ce833b923d6dc7488a17888e77d71a0dbcaf48092f0e6f6fb671284e9a1 - Sigstore transparency entry: 2452275416
- Sigstore integration time:
-
Permalink:
a9lim/ogdoad@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a9lim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Trigger Event:
push
-
Statement type:
File details
Details for the file ogdoad-1.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: ogdoad-1.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 14.6 MB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be72623be93d20a8a1672ef1f869bbf549abe2901ce01aa6f86089d260f05e59
|
|
| MD5 |
a879afeb268bceb7fe5d8d13a10e364b
|
|
| BLAKE2b-256 |
20a9c5d34570b3bbc8e95eef2226d233c5ee0a594df69dd3cd41b4628d12afdb
|
Provenance
The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on a9lim/ogdoad
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ogdoad-1.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
be72623be93d20a8a1672ef1f869bbf549abe2901ce01aa6f86089d260f05e59 - Sigstore transparency entry: 2452275094
- Sigstore integration time:
-
Permalink:
a9lim/ogdoad@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a9lim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Trigger Event:
push
-
Statement type:
File details
Details for the file ogdoad-1.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: ogdoad-1.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 14.9 MB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d57bc26fd91ce825cc821d4d54e7a6ceaa4b38bb3140b65268bae2fbda040a8
|
|
| MD5 |
d260e7d550d6cba96b6e491c053de1b8
|
|
| BLAKE2b-256 |
95447795aebb0e2bea48668f2ea54d8131a6485748aa2ebe6af3ffa4c5f0339d
|
Provenance
The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release.yml on a9lim/ogdoad
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ogdoad-1.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
1d57bc26fd91ce825cc821d4d54e7a6ceaa4b38bb3140b65268bae2fbda040a8 - Sigstore transparency entry: 2452275000
- Sigstore integration time:
-
Permalink:
a9lim/ogdoad@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a9lim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Trigger Event:
push
-
Statement type:
File details
Details for the file ogdoad-1.0.3-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: ogdoad-1.0.3-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 13.8 MB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09319ac8124c6364d3b62527971052bd79f8f010d8d138eba484ad96311bf834
|
|
| MD5 |
9611fd16276c7cdeda379983ea878979
|
|
| BLAKE2b-256 |
99e34aa1d04ec26218a44a48856de87433fab373cc0b67c774b5cf50b27f63c4
|
Provenance
The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yml on a9lim/ogdoad
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ogdoad-1.0.3-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
09319ac8124c6364d3b62527971052bd79f8f010d8d138eba484ad96311bf834 - Sigstore transparency entry: 2452275337
- Sigstore integration time:
-
Permalink:
a9lim/ogdoad@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a9lim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Trigger Event:
push
-
Statement type:
File details
Details for the file ogdoad-1.0.3-cp39-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: ogdoad-1.0.3-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 14.7 MB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df2f6c0bdb3eaef2b68a29f0a7881ba4400fe0a802a919ac14c26b8251fa1b9a
|
|
| MD5 |
a7b3570fe3ca72f206d49d9d7fdb97f7
|
|
| BLAKE2b-256 |
a26d6bdb003c4efb422f80e4425c880933e2e36359a47c7952aaf03e17042a43
|
Provenance
The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-macosx_10_12_x86_64.whl:
Publisher:
release.yml on a9lim/ogdoad
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ogdoad-1.0.3-cp39-abi3-macosx_10_12_x86_64.whl -
Subject digest:
df2f6c0bdb3eaef2b68a29f0a7881ba4400fe0a802a919ac14c26b8251fa1b9a - Sigstore transparency entry: 2452275194
- Sigstore integration time:
-
Permalink:
a9lim/ogdoad@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a9lim
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b1115e1865fd20254f4df006da7662e9fbea4e3b -
Trigger Event:
push
-
Statement type: