| --- |
| license: other |
| library_name: custom |
| tags: |
| - code |
| - sovereign-compute |
| --- |
| |
| <!--OMEGA-FIELD:START--> |
| <div align="center"> |
|
|
|  |
|  |
|  |
|  |
|  |
|  |
|  |
|  |
|
|
| </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 β Ξ± Β· broadcast = pullback Ο : J β I Β· pmapβ = Ξ -map Β· 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) |
|
|
|  |
|
|
| ## 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> |
|
|