SNAPKITTYWEST's picture
docs: replace with real GitHub README
1cc2326 verified
|
Raw
History Blame Contribute Delete
4.38 kB
---
license: other
library_name: custom
tags:
- code
- sovereign-compute
---
<!--OMEGA-FIELD:START-->
<div align="center">
![License](https://img.shields.io/badge/license-Sovereign%20Source%20v2.0-blueviolet)
![Stack](https://img.shields.io/badge/stack-Lean%204%20%7C%20C%2B%2B20%20%7C%20JS-orange)
![Kernels](https://img.shields.io/badge/kernels-5%20%CE%A0--maps-green)
![Status](https://img.shields.io/badge/status-zero--sorry-success)
![Tests](https://img.shields.io/badge/tests-11%2F11%20passing-brightgreen)
![Abjad](https://img.shields.io/badge/Abjad--free-red)
![DigitalRoot](https://img.shields.io/badge/digital--root--free-red)
![NP-magic](https://img.shields.io/badge/NP--magic--free-red)
</div>
<!--OMEGA-FIELD:END-->
---
<div align="center">
```
____ ____ ____ ____ ____ _ _ ___ ____ ____ _ _ ____ ____
/ ___)( _ \\( _ \\( __)( \\( \\/ )/ __)( __)( _ \\( \\/ )( __)( _ \\
\\___ \\ ) / ) __/ ) _) ) D ( \\ / \\__ \\ ) _) ) __/ \\ / ) _) ) /
(____/(__\\_)(__) (____)(____/ \\/ (___/(____)(__) (__) (____)(__\\_)
A R R A Y L A N G U A G E Β· A R R A Y I Ξ± = I β†’ Ξ±
```
**Array I Ξ± = I β†’ Ξ± &nbsp;Β·&nbsp; broadcast = pullback Ο€ : J β†’ I &nbsp;Β·&nbsp; pmapβ‚‚ = Ξ -map &nbsp;Β·&nbsp; no sorry remains**
</div>
---
# Sovereign Array Language β€” Front-End
The **front-end** for the [Sovereign Array Language](../sovereign-array): an
interactive browser playground that runs the *same denotational semantics*
as the Lean 4 spec and the C++20 kernel β€” no Abjad, no digital root, no NP-magic.
> The denotational semantics of array computing *are* exactly a slice of
> dependent type theory. This front-end is the view layer over that substrate.
## What this repo is
| Layer | Repo | Role |
|-------|------|------|
| **Spec** | [`sovereign-array`](../sovereign-array) | Lean 4 β€” `Array I Ξ± = I β†’ Ξ±`, zero-sorry proofs |
| **Kernel** | [`sovereign-array`](../sovereign-array) | C++20 β€” `Array<T>`, `pmap2`, `broadcast`, `softmax`, `nand_attention` |
| **Front-End** | **`sovereign-array-frontend`** (this repo) | Browser playground + usage guide |
## Quick Start
```bash
# Serve the playground (any static server)
cd sovereign-array-frontend
python -m http.server 8080
# open http://localhost:8080
```
No build step. Pure HTML/CSS/JS (ES modules).
## How to use the language
1. **Spec (Lean 4)** β€” define arrays as dependent functions `Fin n β†’ Ξ±`;
prove `broadcast_is_pullback` and `softmax_is_pmap` with `lake build` (zero sorry).
2. **Kernel (C++20)** β€” `#include "sovereign_array.h"`; build with CMake;
run `sovarr_test` (11/11 checks).
3. **Front-end (this page)** β€” open `index.html`; the playground runs the
same denotational semantics in the browser.
4. **Compose** β€” chain `pmapβ‚‚` / `broadcast` / `softmax` / `nand_attention`;
fusion is Ξ -map fusion β€” no loop in the denotation.
## Usage Guide (SVG)
![Sovereign Array usage guide](assets/usage.svg)
## Kernels demonstrated
| Kernel | Semantics | Status |
|--------|-----------|--------|
| `pmapβ‚‚` | Pointwise `Ξ `-map over index space `I` | βœ… |
| `broadcast` | Pullback along projection `Ο€ : J β†’ I` | βœ… |
| `softmax` | `Ξ `-map normalization (shift-invariant) | βœ… |
| `nand` | Universal boolean gate | βœ… |
| `nand_attention` | NAND-extracted attention spec | βœ… |
## Layout
```
sovereign-array-frontend/
β”œβ”€β”€ index.html # Playground page
β”œβ”€β”€ css/style.css # Sovereign dark theme
β”œβ”€β”€ js/
β”‚ β”œβ”€β”€ array-lang.js # Browser reference impl (SOVArray, broadcast, softmax, nand)
β”‚ └── app.js # Playground wiring
β”œβ”€β”€ assets/
β”‚ β”œβ”€β”€ logo.svg # Ξ£ Β· I β†’ Ξ± mark
β”‚ └── usage.svg # SVG usage guide
└── README.md
```
## The forbidden list (fatal conflations we do NOT make)
- ❌ Proof `O(1)` substitution β‡’ `O(1)` decision procedure (NP stays hard)
- ❌ Abjad / digital root as universal arithmetic (quotients lose information)
- ❌ "Univalence replaces SIMD" (needs a compiler: Lean β†’ C β†’ LLVM β†’ SIMD)
---
<div align="center">
**The substrate is always free. The array is a function.**
```
Array I Ξ± = I β†’ Ξ±
broadcast = pullback Ο€
pmapβ‚‚ = Ξ -map
no sorry remains.
```
*Sovereign Array Language Β· Front-End Β· 2026 Β· Ahmad Ali Parr*
</div>