File size: 4,529 Bytes
1f889fa
 
 
 
 
 
 
 
 
 
b32cbea
 
 
1f889fa
b32cbea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1f889fa
 
 
 
 
 
 
b32cbea
 
 
1f889fa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b32cbea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1f889fa
 
b32cbea
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
title: Echoes Experience
emoji: πŸͺž
colorFrom: yellow
colorTo: blue
sdk: static
pinned: false
license: mit
---

<p align="center">
  <img src="docs/logo.svg" width="140" alt="echoes-experience">
</p>

<h1 align="center">πŸͺž echoes-experience</h1>

<p align="center"><strong>Echoes Experience</strong> β€” interactive σφτ proof widget Β· HF Space Β· slider n=2..1000 Β· vanilla JS/Canvas Β· zero roundtrip</p>

<p align="center">
  <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-MIT-blue"></a>
  <a href="https://huggingface.co/spaces/dancinlab/echoes-experience"><img alt="HF Space" src="https://img.shields.io/badge/HF%20Space-static-yellow"></a>
  <img alt="Identity" src="https://img.shields.io/badge/n%3D6-σφτ-success">
  <img alt="Runtime" src="https://img.shields.io/badge/runtime-vanilla%20JS-informational">
  <img alt="Parent" src="https://img.shields.io/badge/parent-dancinlab%2Fechoes-blueviolet">
</p>

<p align="center">σφτ Β· identity Β· n=6 Β· slider Β· canvas Β· proof-by-inspection Β· static Β· no-python</p>

---

`echoes-experience` is an interactive proof-by-inspection of the arithmetic identity at the centre of [`dancinlab/echoes`](https://github.com/dancinlab/echoes):

```
Οƒ(n) Β· Ο†(n)  =  n Β· Ο„(n)
```

uniquely at `n = 6`. Slide `n` from 2 to 1000 and watch the equation collapse to equality only at n=6 (and at no other `n` in the swept range β€” confirmed by exhaustive Lean 4 proof on `[2, 30]` and Python proof on `[2, 10000]` in the parent repo).

> [!NOTE]
> Companion to [`dancinlab/echoes`](https://github.com/dancinlab/echoes) (Discoveries catalog Β· parent repo). Dual-remote: pushes to GitHub (`origin`) AND HuggingFace Spaces (`hf`).

## Math

- **Οƒ(n)** β€” sum of divisors of n. For n=6: `1 + 2 + 3 + 6 = 12`.
- **Ο†(n)** β€” Euler's totient β€” count of integers in `[1, n]` coprime to n. For n=6: `{1, 5}` β†’ Ο†(6) = 2.
- **Ο„(n)** β€” number of divisors of n. For n=6: `{1, 2, 3, 6}` β†’ Ο„(6) = 4.
- **Identity check:** `Οƒ(n) Β· Ο†(n) ?= n Β· Ο„(n)`. At n=6: `12 Β· 2 = 24` and `6 Β· 4 = 24` βœ….

## Tech

- Static HF Space (`sdk: static`) β€” first paint < 1 s, no cold start, no Python runtime.
- Vanilla JS / Canvas β€” single self-contained `index.html`, no framework, no bundler.
- All math runs client-side (gcd / divisors / phi-set via stdlib loops). At n=1000 β‰ˆ instant.

## Honest caveat

The arithmetic identity is **mathematically true** and unique to n=6 on the swept range (Monte Carlo z = 3.06, p = 0.003 vs n=28 / n=496). The claim *"optimal designs are derived from this identity"* is a **research hypothesis** about how natural systems organize, **not a measurement**. See [`echoes/LATTICE_POLICY.md`](https://github.com/dancinlab/echoes/blob/main/LATTICE_POLICY.md): the n=6 lattice is an organizing tool, never a substitute for real math / physics / engineering limits.

## Status

- live on HuggingFace Spaces β€” `https://huggingface.co/spaces/dancinlab/echoes-experience`
- static sdk Β· single `index.html` Β· zero build step
- slider sweep n=2..1000 Β· client-side math Β· instant render
- dual-remote: `origin` (GitHub) + `hf` (HuggingFace Space)

## Install

No install. It's a static page β€” clone and open `index.html`, or visit the HF Space.

```sh
git clone https://github.com/dancinlab/echoes-experience.git
cd echoes-experience
open index.html   # macOS Β· or `xdg-open` / drag into browser
```

## Run

```sh
# local preview
open index.html

# or serve over HTTP (any static server)
python3 -m http.server 8000
# β†’ http://localhost:8000

# push to BOTH remotes (GitHub + HuggingFace Space)
git push origin main
git push hf main
```

## Repo layout

```
echoes-experience/
β”œβ”€β”€ AGENTS.tape       # governance + identity (.tape v1.2)
β”œβ”€β”€ CLAUDE.md         # symlink β†’ AGENTS.tape
β”œβ”€β”€ README.md         # this file (atlas/README-FORMAT.md compliant)
β”œβ”€β”€ index.html        # the widget Β· HTML + inline Canvas + JS
└── docs/
    └── logo.svg      # repo logo (gold #bf8700)
```

## Sister

- [dancinlab/echoes](https://github.com/dancinlab/echoes) β€” Discoveries catalog (the parent repo this widget proves the central identity for).
- [dancinlab/anima-experience](https://huggingface.co/spaces/dancinlab/anima-experience) β€” mutual-information visualizer (60 fps emergence demo).
- [dancinlab/anima](https://github.com/dancinlab/anima) β€” consciousness implementation (working research code).

## License

[MIT](LICENSE) β€” permissive, do-as-thou-wilt.