@ceccec/millennium-solutions 9.3.2 → 9.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -40
- package/dist/mod.core.d.ts +9 -0
- package/dist/mod.core.js +9 -0
- package/dist/src/0/index.d.ts +47 -0
- package/dist/src/0/index.js +189 -0
- package/dist/src/0/ledger.d.ts +1 -0
- package/dist/src/0/ledger.js +25 -0
- package/dist/src/0/trinity-matrix.d.ts +1 -0
- package/dist/src/0/trinity-matrix.js +16 -0
- package/dist/src/5/aspects.d.ts +1 -0
- package/dist/src/5/aspects.js +22 -0
- package/dist/src/5/reflection.d.ts +1 -0
- package/dist/src/5/reflection.js +25 -0
- package/dist/src/7/rosetta.d.ts +1 -0
- package/dist/src/7/rosetta.js +24 -0
- package/dist/src/9/enumeration.d.ts +1 -0
- package/dist/src/9/enumeration.js +14 -0
- package/dist/src/honesty/index.d.ts +16 -0
- package/dist/src/honesty/index.js +69 -0
- package/package.json +27 -10
- package/.zenodo.json +0 -51
- package/ABSTRACT.md +0 -155
- package/ACCOUNTING.md +0 -27
- package/AXIOMS.md +0 -574
- package/CHALLENGES.md +0 -2434
- package/DEPLOY.md +0 -39
- package/DEVELOP.md +0 -34
- package/HEART.md +0 -112
- package/PHYSICS-SCALES.md +0 -80
- package/PRIOR-ART.md +0 -151
- package/PROOF-OF-CONCEPT.md +0 -81
- package/REALISATIONS.md +0 -87
- package/RESEARCH.md +0 -188
- package/RULES.md +0 -57
- package/SEQUENCE-DECODE.md +0 -196
- package/SIGNATURE.md +0 -34
- package/THEOREMS.md +0 -97
- package/WHITEPAPER.md +0 -40
- package/WORKFLOWS.md +0 -47
- package/boundaries.md +0 -23
- package/captain.md +0 -85
- package/compare.md +0 -42
- package/compute.md +0 -543
- package/cryptography.md +0 -55
- package/dashboard.md +0 -50
- package/examples.md +0 -47
- package/folds.md +0 -65
- package/forensic.md +0 -67
- package/guide.md +0 -126
- package/harness.md +0 -20
- package/index.md +0 -217
- package/mod.core.ts +0 -10
- package/nature.md +0 -58
- package/organism.md +0 -30
- package/paper.md +0 -8100
- package/proofs.md +0 -26
- package/quantum.md +0 -40
- package/rights.md +0 -39
- package/solutions.md +0 -28
- package/speedup.md +0 -41
- package/src/0/chacha.ts +0 -3
- package/src/0/crypt.ts +0 -4
- package/src/0/csp.ts +0 -10
- package/src/0/entanglement.ts +0 -31
- package/src/0/fusion.ts +0 -28
- package/src/0/holographic.ts +0 -57
- package/src/0/impossible.ts +0 -30
- package/src/0/imprint.ts +0 -160
- package/src/0/index.ts +0 -263
- package/src/0/ledger.ts +0 -25
- package/src/0/legible.ts +0 -29
- package/src/0/limit.ts +0 -29
- package/src/0/merkle-proof.ts +0 -3
- package/src/0/null-token.ts +0 -24
- package/src/0/sha256.ts +0 -3
- package/src/0/singularity.ts +0 -20
- package/src/0/stream.ts +0 -47
- package/src/0/trinities.ts +0 -37
- package/src/0/trinity-matrix.ts +0 -20
- package/src/0/version-matrix.ts +0 -70
- package/src/1/acceptance.ts +0 -26
- package/src/1/index.ts +0 -80
- package/src/1/paradox.ts +0 -28
- package/src/1/vortex.lean +0 -6
- package/src/2/frequency-scales.ts +0 -28
- package/src/2/iching.ts +0 -34
- package/src/2/index.ts +0 -78
- package/src/2/primes-vortex.ts +0 -12
- package/src/2/quantum.ts +0 -48
- package/src/2/string-scale.ts +0 -14
- package/src/2/vortex.lean +0 -10
- package/src/3/index.ts +0 -63
- package/src/3/pi-bbp.ts +0 -13
- package/src/3/trinity.ts +0 -39
- package/src/3/vortex.lean +0 -7
- package/src/4/git.ts +0 -30
- package/src/4/index.ts +0 -63
- package/src/4/vortex.lean +0 -6
- package/src/5/aspects.ts +0 -27
- package/src/5/center.ts +0 -35
- package/src/5/development.ts +0 -45
- package/src/5/diamond.ts +0 -35
- package/src/5/folds.ts +0 -12
- package/src/5/index.ts +0 -63
- package/src/5/reflection.lean +0 -14
- package/src/5/reflection.ts +0 -14
- package/src/5/vortex.lean +0 -10
- package/src/6/dna.ts +0 -27
- package/src/6/index.ts +0 -63
- package/src/6/vortex.lean +0 -7
- package/src/7/cross.ts +0 -31
- package/src/7/glagolitic.ts +0 -51
- package/src/7/index.ts +0 -67
- package/src/7/language-lens.ts +0 -41
- package/src/7/lens.ts +0 -41
- package/src/7/locale.ts +0 -105
- package/src/7/rbac.ts +0 -31
- package/src/7/rosetta-clay.ts +0 -15
- package/src/7/rosetta.lean +0 -11
- package/src/7/rosetta.ts +0 -11
- package/src/7/string-dimensions.ts +0 -14
- package/src/7/vortex.lean +0 -6
- package/src/8/infinite.ts +0 -26
- package/src/8/merkaba/field.ts +0 -27
- package/src/8/merkaba/geometry.ts +0 -16
- package/src/8/merkaba/touch.ts +0 -26
- package/src/8/nucleus/magic.lean +0 -15
- package/src/8/nucleus/proton-mass-fit.ts +0 -9
- package/src/8/nucleus/proton-mass.lean +0 -10
- package/src/8/nucleus/shell-model-magic.ts +0 -10
- package/src/8/vortex.lean +0 -7
- package/src/9/access.ts +0 -34
- package/src/9/aura-funding.ts +0 -25
- package/src/9/coins.ts +0 -25
- package/src/9/enumeration.ts +0 -13
- package/src/9/funding.ts +0 -85
- package/src/9/security.ts +0 -36
- package/src/9/society.ts +0 -32
- package/src/9/vortex.lean +0 -11
- package/src/api/gates.ts +0 -122
- package/src/api/index.ts +0 -447
- package/src/api/lanes.ts +0 -81
- package/src/claims/index.ts +0 -81
- package/src/demand/queries.json +0 -1764
- package/src/face/index.ts +0 -100
- package/src/from/the/heart/index.ts +0 -11
- package/src/honesty/boundaries.ts +0 -29
- package/src/honesty/index.ts +0 -63
- package/src/html/index.ts +0 -10
- package/src/latex/index.ts +0 -474
- package/src/millennium/index.ts +0 -53
- package/src/play/the/game/index.ts +0 -12
- package/src/proof/README.md +0 -118
- package/src/proof/address.lean +0 -147
- package/src/proof/coin.lean +0 -152
- package/src/proof/covered.json +0 -9
- package/src/proof/demand.lean +0 -134
- package/src/proof/demand2.lean +0 -207
- package/src/proof/demand3.lean +0 -183
- package/src/proof/discovered.json +0 -19125
- package/src/proof/elementary.lean +0 -446
- package/src/proof/energy.lean +0 -291
- package/src/proof/families.lean +0 -648
- package/src/proof/fixtures/axiom-control.lean +0 -39
- package/src/proof/flow.lean +0 -54
- package/src/proof/fnv.lean +0 -116
- package/src/proof/generated-theorems.json +0 -207
- package/src/proof/generated.lean +0 -101
- package/src/proof/imagined.lean +0 -492
- package/src/proof/index.lean +0 -156
- package/src/proof/index.ts +0 -916
- package/src/proof/involution.lean +0 -90
- package/src/proof/ledgerclaims.lean +0 -84
- package/src/proof/light.lean +0 -158
- package/src/proof/mechanical.lean +0 -524
- package/src/proof/merkaba.lean +0 -89
- package/src/proof/merkle.lean +0 -132
- package/src/proof/nim.lean +0 -311
- package/src/proof/novelty.json +0 -751
- package/src/proof/phenomena.lean +0 -90
- package/src/proof/priorart.lean +0 -190
- package/src/proof/quantum.lean +0 -159
- package/src/proof/reach.lean +0 -105
- package/src/proof/recovered.lean +0 -56
- package/src/proof/reversal.lean +0 -148
- package/src/proof/revoked.json +0 -317
- package/src/proof/rights.lean +0 -155
- package/src/proof/sequences.lean +0 -219
- package/src/proof/speed.lean +0 -152
- package/src/proof/split.lean +0 -199
- package/src/proof/theorems.lean +0 -67
- package/src/proof/trial-all.json +0 -16046
- package/src/proof/z9.lean +0 -99
- package/src/proof/z9plus.lean +0 -300
- package/src/proofs.lisp +0 -170
- package/src/prove/emit.ts +0 -115
- package/src/prove/index.ts +0 -143
- package/src/prove/translate.ts +0 -638
- package/src/publication/index.ts +0 -362
- package/src/quantum/field.ts +0 -73
- package/src/quantum/tree.ts +0 -79
- package/src/receipts/1431b4c4-7950-8d7b-88d1-b633219692f8.json +0 -7
- package/src/receipts/171e09c0-4cfd-8ce0-a6ed-cd33d5553da3.json +0 -7
- package/src/receipts/1a1f16c9-3491-8050-b221-e2a362439be4.json +0 -12
- package/src/receipts/1da15f83-83a6-8d04-b1ac-334c2dd6abb3.json +0 -7
- package/src/receipts/375a57ed-ef99-855e-8f34-b77d08010f3c.json +0 -6
- package/src/receipts/3dcbbf9e-0e49-8ba7-921e-17e478dbafaf.json +0 -6
- package/src/receipts/43a24136-5ad9-81ef-97c9-17be1c05bb5f.json +0 -11
- package/src/receipts/4991be51-74ba-8f66-9534-e6dba52fb569.json +0 -10
- package/src/receipts/52375d8f-232b-8c01-9d82-a824ffa7b2b7.json +0 -6
- package/src/receipts/593b546a-36b4-8553-941a-0e03b7053a64.json +0 -7
- package/src/receipts/7f75c989-96c9-8a24-8d0d-7e690861ccb4.json +0 -6
- package/src/receipts/80f80b59-81d8-866d-9a14-f469729d3dc8.json +0 -6
- package/src/receipts/85ac8585-9dc1-8964-9848-ae0f49cc82fb.json +0 -7
- package/src/receipts/85db092e-f2c0-88e5-bf75-61c4a65d84e7.json +0 -7
- package/src/receipts/95bacad3-9e56-8741-b0f8-def2c6ecb050.json +0 -7
- package/src/receipts/a1d33966-7bbd-84ca-902b-49e315af60e0.json +0 -6
- package/src/receipts/b20ced61-24ad-8123-adee-56031ab734dd.json +0 -11
- package/src/receipts/ba0447cd-f489-841a-a70f-a39b18ec2946.json +0 -11
- package/src/receipts/bcddbe66-06cf-8f31-a261-98b836938947.json +0 -7
- package/src/receipts/c1bac0d8-d906-8196-a4f0-3d8270b2e944.json +0 -6
- package/src/receipts/ce851ea3-3cf8-8646-a5d6-c0c6281210fe.json +0 -10
- package/src/receipts/cf43a122-c880-8d86-9e25-6f22f92d6b0a.json +0 -7
- package/src/receipts/daad8cd4-d4db-8dca-9c97-9a838cbce528.json +0 -7
- package/src/receipts/dc8bdb82-599f-8020-9eb2-cb016b408ec1.json +0 -6
- package/src/receipts/df77c265-d1a8-8354-8a9e-769fa5c676e2.json +0 -6
- package/src/receipts/e96686da-a411-8838-a5c8-ee7472bce048.json +0 -10
- package/src/receipts/f073c46f-7b67-83d0-aca5-db11fac4b5ec.json +0 -7
- package/src/receipts/f946d99d-a1c2-89f7-9426-a367c5b04191.json +0 -6
- package/src/receipts/fc069e45-115d-8983-ad25-fb9f735da84b.json +0 -6
- package/src/the/abstract/index.ts +0 -21
- package/src/the/abundance/index.ts +0 -20
- package/src/the/apple/earth/index.ts +0 -23
- package/src/the/apple/earth/navigation/index.ts +0 -28
- package/src/the/apple/earth/truth/index.ts +0 -19
- package/src/the/apple/index.ts +0 -27
- package/src/the/cancer/index.ts +0 -26
- package/src/the/clown/index.ts +0 -25
- package/src/the/creation/index.ts +0 -16
- package/src/the/crystal/index.ts +0 -23
- package/src/the/domain/index.ts +0 -16
- package/src/the/game/index.ts +0 -11
- package/src/the/gold/compass/index.ts +0 -26
- package/src/the/gold/index.ts +0 -35
- package/src/the/heart/index.ts +0 -15
- package/src/the/index.ts +0 -23
- package/src/the/law/index.ts +0 -20
- package/src/the/path/index.ts +0 -19
- package/src/the/rosetta/index.ts +0 -33
- package/src/the/sequence/index.ts +0 -12
- package/src/the/solids/index.ts +0 -25
- package/src/the/state/index.ts +0 -20
- package/src/the/superposition/state/index.ts +0 -22
- package/src/the/surface/index.ts +0 -26
- package/src/the/theorem/index.ts +0 -14
- package/src/the/torus/index.ts +0 -23
- package/src/the/waves/index.ts +0 -23
- package/the.md +0 -20
- package/verify.md +0 -67
package/src/7/rbac.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// Decode a version as Unix permissions → RBAC. A chmod is THREE octal digits (owner·group·other,
|
|
2
|
-
// each rwx); a version is THREE components (major·minor·patch). Same shape — so the version decodes
|
|
3
|
-
// as a role-based access triple. Structural isomorphism, exact for octal digits 0..7.
|
|
4
|
-
function rwx(d: number): string { return (d & 4 ? 'r' : '-') + (d & 2 ? 'w' : '-') + (d & 1 ? 'x' : '-') }
|
|
5
|
-
|
|
6
|
-
export function report(): string {
|
|
7
|
-
const roles = ['owner (author)', 'group (contributors)', 'other (public)']
|
|
8
|
-
const decode = (v: number[]) => v.map((d) => (d <= 7 ? rwx(d) : '?? (8,9 exceed rwx)')).join(' ')
|
|
9
|
-
|
|
10
|
-
const rows: [string, number[]][] = [
|
|
11
|
-
['v0.0.0', [0, 0, 0]],
|
|
12
|
-
['v1.0.0', [1, 0, 0]],
|
|
13
|
-
['v1.1.6', [1, 1, 6]],
|
|
14
|
-
['chmod 755', [7, 5, 5]],
|
|
15
|
-
]
|
|
16
|
-
|
|
17
|
-
let o = 'decode the version as Unix permissions → RBAC:\n\n'
|
|
18
|
-
o += ' major·minor·patch ≅ owner·group·other (each octal digit 0..7 = rwx):\n'
|
|
19
|
-
o += ' ' + roles.join(' ') + '\n'
|
|
20
|
-
rows.forEach(([name, v]) => { o += ' ' + name.padEnd(10) + v.join('.') + ' → ' + decode(v) + '\n' })
|
|
21
|
-
o += '\n the RBAC reading: major = owner (author) rights, minor = group (contributors), patch =\n'
|
|
22
|
-
o += ' other (public). "0 is always stable" ⇒ patch 0 = other "---" = the public has NO write at a\n'
|
|
23
|
-
o += ' stable v1.x.0 — the release is locked/read-only. development (patch>0) opens more bits.\n\n'
|
|
24
|
-
o += 'HONEST: the STRUCTURE is an exact isomorphism (3 components ↔ 3 classes × rwx, for octal 0..7).\n'
|
|
25
|
-
o += 'But the version numbers were NOT chosen as an access policy, so a specific decode (e.g. public\n'
|
|
26
|
-
o += '"rw-" at v1.1.6) is incidental, not a real permission. And single-digit versions run 0..9 while\n'
|
|
27
|
-
o += 'rwx octal runs 0..7 — components 8,9 exceed rwx. Real access control here is the SEAL GATE +\n'
|
|
28
|
-
o += 'CC BY-NC (public, no secret), not a filesystem ACL. RBAC is a LENS on the version, not an\n'
|
|
29
|
-
o += 'enforced system.'
|
|
30
|
-
return o
|
|
31
|
-
}
|
package/src/7/rosetta-clay.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
// Fusion of the Pliska rosette (7 rays) and the 7 Clay problems: both are 7 = 6 + 1.
|
|
2
|
-
// The 6 units of (ℤ/7)* (cyclic C6) ↔ the 6 open problems; the center 0 ↔ Poincaré (solved).
|
|
3
|
-
export function report(): string {
|
|
4
|
-
const gen = 3 // primitive root: ray-orbit generator
|
|
5
|
-
let x = gen; const rays: number[] = []
|
|
6
|
-
for (let i = 0; i < 6; i++) { rays.push(x); x = (x * gen) % 7 } // [3,2,6,4,5,1]
|
|
7
|
-
const open = ['Riemann Hypothesis', 'P vs NP', 'Navier-Stokes', 'Yang-Mills', 'Hodge', 'BSD']
|
|
8
|
-
let o = 'rosette 7 rays = (ℤ/7)* {6 units, C6} + center 0\n'
|
|
9
|
-
o += 'clay 7 problems = 6 open + Poincaré (solved)\n'
|
|
10
|
-
o += '→ identical 6 + 1 split.\n\nfusion (ray ↔ open problem, via generator 3):\n'
|
|
11
|
-
rays.forEach((r, i) => { o += ' ray ' + r + ' ↔ ' + open[i] + '\n' })
|
|
12
|
-
o += ' center 0 ↔ Poincaré (the fixed/solved point)\n'
|
|
13
|
-
o += '\nstructure: a bijection of two 7-element sets.'
|
|
14
|
-
return o
|
|
15
|
-
}
|
package/src/7/rosetta.lean
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import Mathlib
|
|
2
|
-
/-- Pliska rosette (7 rays) — arithmetic on (ℤ/7)*: cyclic of order 6 = φ(7),
|
|
3
|
-
the same group C₆ as the (ℤ/9)* doubling vortex. Ray generators (primitive
|
|
4
|
-
roots mod 7): 3 and 5. -/
|
|
5
|
-
namespace Vortex.D7.Rosetta
|
|
6
|
-
theorem three_pow_six : (3 : ZMod 7) ^ 6 = 1 := by decide
|
|
7
|
-
theorem three_primitive : ∀ k, 0 < k → k < 6 → (3 : ZMod 7) ^ k ≠ 1 := by decide
|
|
8
|
-
theorem three_ray_orbit : (List.range 6).map (fun k => (3 : ZMod 7) ^ (k + 1)) = [3, 2, 6, 4, 5, 1] := by decide
|
|
9
|
-
theorem five_pow_six : (5 : ZMod 7) ^ 6 = 1 := by decide
|
|
10
|
-
theorem five_primitive : ∀ k, 0 < k → k < 6 → (5 : ZMod 7) ^ k ≠ 1 := by decide
|
|
11
|
-
end Vortex.D7.Rosetta
|
package/src/7/rosetta.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// Pliska rosette (7 rays) = (ℤ/7)* ≅ C6, same group as the (ℤ/9)* vortex.
|
|
2
|
-
export function report(): string {
|
|
3
|
-
const units = [1, 2, 3, 4, 5, 6], ord = (g: number) => { let x = g, n = 1; while (x !== 1) { x = (x * g) % 7; n++ } return n }
|
|
4
|
-
const prim = units.filter(u => ord(u) === 6)
|
|
5
|
-
let o = '(ℤ/7)* = ' + units.join(' ') + ' order ' + units.length + ' = φ(7) → C6\n'
|
|
6
|
-
o += 'primitive roots (ray generators): ' + prim.join(', ') + '\n'
|
|
7
|
-
for (const g of prim) { let x = g; const orb: number[] = []; for (let i = 0; i < 6; i++) { orb.push(x); x = (x * g) % 7 } o += ' ray-orbit ' + g + ': ' + orb.join(' → ') + '\n' }
|
|
8
|
-
const ord9 = (g: number) => { let x = g, n = 1; while (x !== 1) { x = (x * g) % 9; n++ } return n }
|
|
9
|
-
o += '(ℤ/9)* ⟨2⟩ order ' + ord9(2) + ' → (ℤ/7)* ≅ (ℤ/9)* ≅ C6'
|
|
10
|
-
return o
|
|
11
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// Where "7" really appears in string/M-theory (honest physics facts).
|
|
2
|
-
export function report(): string {
|
|
3
|
-
const bosonic = 26, superstring = 10, mtheory = 11, spacetime = 4
|
|
4
|
-
let o = 'critical dimensions of string / M-theory:\n'
|
|
5
|
-
o += ' bosonic string : ' + bosonic + '\n'
|
|
6
|
-
o += ' superstring : ' + superstring + ' = ' + spacetime + ' spacetime + ' + (superstring - spacetime) + ' compact (Calabi–Yau 6-fold)\n'
|
|
7
|
-
o += ' M-theory : ' + mtheory + ' = ' + spacetime + ' spacetime + ' + (mtheory - spacetime) + ' compact (G2-holonomy 7-manifold)\n'
|
|
8
|
-
o += '→ the real "7 dimensions of strings": M-theory\'s ' + (mtheory - spacetime) + ' compactified extra dimensions.\n\n'
|
|
9
|
-
o += 'HONEST: this 7 is a genuine string count. The framework\'s 7 (rosette rays / Clay) matching it is\n'
|
|
10
|
-
o += 'coincidence of the number, not a derivation — the ℤ/9 rosette does not determine string\n'
|
|
11
|
-
o += 'compactification, and no string theory is computed here. Strings vibrate at the Planck scale\n'
|
|
12
|
-
o += '(~10^43 Hz, see string-scale.ts), not 432 Hz.'
|
|
13
|
-
return o
|
|
14
|
-
}
|
package/src/7/vortex.lean
DELETED
package/src/8/infinite.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// Finite is infinite by nature — finite STRUCTURE, infinite GENERATIVITY (digit 8 ≈ ∞).
|
|
2
|
-
// A bounded rule has unbounded reach: the finite ℤ/9 doubling cycles forever; a finite formula
|
|
3
|
-
// (BBP) yields endless π digits; a finite function addresses unbounded inputs. True for behavior,
|
|
4
|
-
// not for cardinality — a finite set is still finite.
|
|
5
|
-
import { vortexOrbit } from '../0/index.ts'
|
|
6
|
-
|
|
7
|
-
export function report(): string {
|
|
8
|
-
// The finite doubling rule (×2 mod 9) traced past its period — a finite cycle, infinitely walked.
|
|
9
|
-
const seq: number[] = []; let x = 1
|
|
10
|
-
for (let i = 0; i < 13; i++) { seq.push(x); x = (x * 2) % 9 }
|
|
11
|
-
const period = vortexOrbit().length // derived, not typed: the doubling orbit's length (Theorem A)
|
|
12
|
-
|
|
13
|
-
let o = 'finite is infinite by nature — finite rules, infinite behavior (digit 8 ≈ ∞):\n\n'
|
|
14
|
-
o += ' a finite generator produces an unbounded stream:\n'
|
|
15
|
-
o += ' ℤ/9 doubling — finite ring (9 elements), sequence never ends (period ' + period + ', repeats):\n'
|
|
16
|
-
o += ' ' + seq.join(' → ') + ' → …\n'
|
|
17
|
-
o += ' BBP — a finite formula yields infinitely many π hex digits (any index, no end).\n'
|
|
18
|
-
o += ' toUuid — a finite function addresses unboundedly many distinct inputs.\n'
|
|
19
|
-
o += ' Riemann sphere — 0 ↔ ∞: the finite point and the infinite are one fold apart.\n\n'
|
|
20
|
-
o += ' the honest sense of "finite is infinite":\n'
|
|
21
|
-
o += ' finite STRUCTURE, infinite GENERATIVITY — a bounded rule has unbounded reach.\n\n'
|
|
22
|
-
o += 'HONEST: true for GENERATIVITY (finite rules → infinite output), NOT for CARDINALITY — a finite\n'
|
|
23
|
-
o += 'set (9 digits, 42 cells) is not an infinite set. "finite is infinite by nature" holds as\n'
|
|
24
|
-
o += '"finite generators, infinite behavior", not as 9 = ∞.'
|
|
25
|
-
return o
|
|
26
|
-
}
|
package/src/8/merkaba/field.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// Biot–Savart field of the merkaba coil geometry: counter-rotating → axis null; co-rotating → max.
|
|
2
|
-
export function report(): string {
|
|
3
|
-
const MU = 1e-7, I = 1, R = 1, rL = 0.3, SEG = 200, deg = (d: number) => d * Math.PI / 180
|
|
4
|
-
const loops = [{ d: 1, phi: 40 }, { d: 4, phi: 160 }, { d: 7, phi: 280 }, { d: 2, phi: 80 }, { d: 5, phi: 200 }, { d: 8, phi: 320 }]
|
|
5
|
-
const cross = (a: number[], b: number[]) => [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]]
|
|
6
|
-
const sub = (a: number[], b: number[]) => [a[0] - b[0], a[1] - b[1], a[2] - b[2]]
|
|
7
|
-
const B = (Pt: number[], sign: (d: number) => number) => {
|
|
8
|
-
let b = [0, 0, 0]
|
|
9
|
-
for (const L of loops) {
|
|
10
|
-
const cx = R * Math.cos(deg(L.phi)), cy = R * Math.sin(deg(L.phi)), s = sign(L.d)
|
|
11
|
-
for (let i = 0; i < SEG; i++) {
|
|
12
|
-
const t = 2 * Math.PI * (i + 0.5) / SEG
|
|
13
|
-
const src = [cx + rL * Math.cos(t), cy + rL * Math.sin(t), 0]
|
|
14
|
-
const dl = [-rL * Math.sin(t) * (2 * Math.PI / SEG) * s, rL * Math.cos(t) * (2 * Math.PI / SEG) * s, 0]
|
|
15
|
-
const r = sub(Pt, src), rm = Math.hypot(...r), inv = 1 / (rm * rm * rm), dB = cross(dl, r)
|
|
16
|
-
b[0] += MU * I * dB[0] * inv; b[1] += MU * I * dB[1] * inv; b[2] += MU * I * dB[2] * inv
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return Math.hypot(...b) * 1e6
|
|
20
|
-
}
|
|
21
|
-
const merk = (d: number) => [1, 4, 7].includes(d) ? 1 : -1, co = () => 1
|
|
22
|
-
let o = 'merkaba coil field (Biot–Savart, µT):\n'
|
|
23
|
-
o += ' counter-rotating, central axis: ' + B([0, 0, 0], merk).toExponential(2) + ' → null\n'
|
|
24
|
-
o += ' co-rotating, central axis: ' + B([0, 0, 0], co).toFixed(3) + ' → max\n'
|
|
25
|
-
o += ' scale check μ0I/2r = ' + (4e-7 * Math.PI * I / (2 * rL) * 1e6).toFixed(2) + ' µT'
|
|
26
|
-
return o
|
|
27
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// Cube down its (1,1,1) axis → hexagon → Seed/Flower/Fruit/Metatron; merkaba = cube.
|
|
2
|
-
export function report(): string {
|
|
3
|
-
const dot = (a: number[], b: number[]) => a[0] * b[0] + a[1] * b[1] + a[2] * b[2]
|
|
4
|
-
const cross = (a: number[], b: number[]) => [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]]
|
|
5
|
-
const norm = (a: number[]) => { const m = Math.hypot(...a); return a.map(x => x / m) }
|
|
6
|
-
const f = norm([1, 1, 1]); const rr = norm(cross([0, 1, 0], f)); const uu = cross(f, rr)
|
|
7
|
-
const cube: number[][] = []; for (const x of [1, -1]) for (const y of [1, -1]) for (const z of [1, -1]) cube.push([x, y, z])
|
|
8
|
-
const P = cube.map(v => Math.hypot(dot(v, rr), dot(v, uu)))
|
|
9
|
-
const outer = P.filter(r => r > 0.4), center = P.filter(r => r <= 0.4)
|
|
10
|
-
let o = 'cube down (1,1,1) axis:\n'
|
|
11
|
-
o += ' outer vertices: ' + outer.length + ' at radius ' + outer[0].toFixed(3) + ' (regular hexagon)\n'
|
|
12
|
-
o += ' on-axis center: ' + center.length + '\n'
|
|
13
|
-
o += ' → Seed of Life = ' + (outer.length + 1) + ' (6+1); Fruit = 13; Metatron lines = ' + (13 * 12 / 2) + '; Platonic solids = 5\n'
|
|
14
|
-
o += ' merkaba (8 vertices) = a cube; lattice = cube graph Q3 (8 nodes, 3-regular, bipartite)'
|
|
15
|
-
return o
|
|
16
|
-
}
|
package/src/8/merkaba/touch.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// Merkabas move when touched — the FIELD responds to the relative spin ("touch"), max → null.
|
|
2
|
-
// The figure is rigid (two tetrahedra = a cube, Q3 graph, see geometry.ts). What moves when you
|
|
3
|
-
// change the relative rotation θ is the axial field: idealized superposition f(θ) = (1 + cos θ)/2,
|
|
4
|
-
// turning from co-rotating (θ=0, MAX) toward counter-rotating (θ=π, NULL). Exact at special angles.
|
|
5
|
-
export function report(): string {
|
|
6
|
-
// f(θ) = (1 + cos θ)/2, using exact algebraic cos (no Math.*): cos 0=1, 60=1/2, 90=0, 120=-1/2, 180=-1.
|
|
7
|
-
const rows: [number, string, string][] = [
|
|
8
|
-
[0, '1', 'aligned / co-rotating → MAX'],
|
|
9
|
-
[60, '3/4', ''],
|
|
10
|
-
[90, '1/2', 'quarter turn'],
|
|
11
|
-
[120, '1/4', ''],
|
|
12
|
-
[180, '0', 'opposed / counter-rotating → NULL'],
|
|
13
|
-
]
|
|
14
|
-
|
|
15
|
-
let o = 'merkabas move when touched — the field responds to the spin (digit 8):\n\n'
|
|
16
|
-
o += ' the figure is rigid: two tetrahedra = a cube = the Q3 graph (see geometry.ts).\n'
|
|
17
|
-
o += ' what MOVES when you "touch" it (turn the relative rotation θ) is the axial FIELD —\n'
|
|
18
|
-
o += ' idealized two-source superposition f(θ) = (1 + cos θ)/2:\n'
|
|
19
|
-
rows.forEach(([deg, f, tag]) => { o += ' θ=' + String(deg).padStart(3) + '° f = ' + f.padEnd(4) + (tag ? ' ' + tag : '') + '\n' })
|
|
20
|
-
o += ' → touch it (rotate) and the field slides smoothly from MAX to NULL. it "moves" — as a field.\n\n'
|
|
21
|
-
o += 'HONEST: this is an IDEALIZED superposition (f = (1+cos θ)/2, exact at these angles) — a model,\n'
|
|
22
|
-
o += 'not the full Biot–Savart integral (see field.ts for the real on-axis magnitudes: counter→null,\n'
|
|
23
|
-
o += 'co→max). The geometry itself is static; "moves when touched" describes the field\'s response to\n'
|
|
24
|
-
o += 'spin — not a self-moving object, and not any life-force.'
|
|
25
|
-
return o
|
|
26
|
-
}
|
package/src/8/nucleus/magic.lean
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import Mathlib
|
|
2
|
-
/-- Nuclear shell-model magic numbers as exact cumulative sums of level
|
|
3
|
-
capacities (2j+1), in shell-model filling order. 2,8,20 from the oscillator;
|
|
4
|
-
28,50,82,126 from spin-orbit intruders. -/
|
|
5
|
-
namespace Vortex.D8.Nucleus
|
|
6
|
-
def caps : List ℕ := [2, 4, 2, 6, 2, 4, 8, 4, 6, 2, 10, 8, 6, 4, 2, 12, 10, 8, 6, 4, 2, 14]
|
|
7
|
-
theorem magic_2 : (caps.take 1).sum = 2 := by decide
|
|
8
|
-
theorem magic_8 : (caps.take 3).sum = 8 := by decide
|
|
9
|
-
theorem magic_20 : (caps.take 6).sum = 20 := by decide
|
|
10
|
-
theorem magic_28 : (caps.take 7).sum = 28 := by decide
|
|
11
|
-
theorem magic_50 : (caps.take 11).sum = 50 := by decide
|
|
12
|
-
theorem magic_82 : (caps.take 16).sum = 82 := by decide
|
|
13
|
-
theorem magic_126 : (caps.take 22).sum = 126 := by decide
|
|
14
|
-
theorem total_126 : caps.sum = 126 := by decide
|
|
15
|
-
end Vortex.D8.Nucleus
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// Proton/electron mass ratio: vortex fit vs measurement.
|
|
2
|
-
export function report(): string {
|
|
3
|
-
const ratio = 938.27208816 / 0.51099895
|
|
4
|
-
let o = 'measured m_p/m_e = ' + ratio.toFixed(6) + '\n'
|
|
5
|
-
o += 'vortex fit 108·17 = 1836 (err ' + (Math.abs(1836 - ratio) / ratio * 100).toExponential(2) + '%)\n'
|
|
6
|
-
o += '6·π⁵ = ' + (6 * Math.PI ** 5).toFixed(3) + ' (unrelated, fits better)\n'
|
|
7
|
-
o += '1836 ≠ 1836.1527; 1836 fits any nearby target → curve-fit, not prediction'
|
|
8
|
-
return o
|
|
9
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import Mathlib
|
|
2
|
-
/-- The vortex "fit" to the proton/electron mass ratio is 108·17 = 1836 — an exact
|
|
3
|
-
integer identity. It is NOT the measured ratio (≈ 1836.152673, a non-integer),
|
|
4
|
-
so the fit misses the physical value; and the same 1836 fits any nearby target
|
|
5
|
-
(see proton-mass-fit.mjs). Curve-fitting, not a prediction. -/
|
|
6
|
-
namespace Vortex.D8.Nucleus.ProtonFit
|
|
7
|
-
theorem vortex_fit : 108 * 17 = 1836 := by norm_num
|
|
8
|
-
/-- The integer fit is not the measured ratio 1836.1527… -/
|
|
9
|
-
theorem fit_is_not_the_ratio : (1836 : ℚ) ≠ 18361527 / 10000 := by norm_num
|
|
10
|
-
end Vortex.D8.Nucleus.ProtonFit
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// Nuclear shell-model magic numbers as cumulative sums of capacities 2j+1.
|
|
2
|
-
export function report(): string {
|
|
3
|
-
const caps = [2, 4, 2, 6, 2, 4, 8, 4, 6, 2, 10, 8, 6, 4, 2, 12, 10, 8, 6, 4, 2, 14]
|
|
4
|
-
const idx: Record<number, number> = { 2: 1, 8: 3, 20: 6, 28: 7, 50: 11, 82: 16, 126: 22 }
|
|
5
|
-
const take = (n: number) => caps.slice(0, n).reduce((a, b) => a + b, 0)
|
|
6
|
-
let o = 'magic cumulative sums:\n'
|
|
7
|
-
for (const m of [2, 8, 20, 28, 50, 82, 126]) o += ' ' + m + ' = sum(take ' + idx[m] + ') = ' + take(idx[m]) + '\n'
|
|
8
|
-
o += 'total = ' + caps.reduce((a, b) => a + b, 0) + '\noscillator only: 2, 8, 20, 40, 70, 112'
|
|
9
|
-
return o
|
|
10
|
-
}
|
package/src/8/vortex.lean
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import Mathlib
|
|
2
|
-
/-- Digit 8 — self-inverse (8·8 ≡ 1); the merkaba/cube node (8 vertices);
|
|
3
|
-
ten's-complement partner of 2 (matter ↔ wave). Nucleus facts in nucleus/magic.lean. -/
|
|
4
|
-
namespace Vortex.D8
|
|
5
|
-
theorem self_inverse : (8 : ZMod 9) * 8 = 1 := by decide
|
|
6
|
-
theorem complement_two : 8 + 2 = 10 := by norm_num
|
|
7
|
-
end Vortex.D8
|
package/src/9/access.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// Public-access trinity — everyone has the latest token to develop on.
|
|
2
|
-
// Three public channels; the "token" is the latest version (a public name, not a secret) — clone,
|
|
3
|
-
// read, or build on it freely. Status is marked honestly: GitHub + site are LIVE; Zenodo (DOI) and
|
|
4
|
-
// npm are STAGED, gated on the author's account actions.
|
|
5
|
-
import { toUuid, merkleFold } from '../0/index.ts'
|
|
6
|
-
|
|
7
|
-
type Channel = { name: string; where: string; status: 'LIVE' | 'STAGED'; note: string }
|
|
8
|
-
|
|
9
|
-
const CHANNELS: Channel[] = [
|
|
10
|
-
{ name: 'GitHub (source)', where: 'github.com/ceccec/millennium-solutions', status: 'LIVE', note: 'all tags public — clone any version' },
|
|
11
|
-
{ name: 'Site (published)', where: 'ceccec.psg.bg/millennium-solutions', status: 'LIVE', note: 'recomputes in the browser' },
|
|
12
|
-
{ name: 'Zenodo (CERN-operated archive/DOI)', where: 'doi.org/10.5281/zenodo.21819217', status: 'LIVE', note: 'minted; hosted on CERN infra (like every Zenodo record) — provenance, NOT endorsement' },
|
|
13
|
-
]
|
|
14
|
-
const NPM: Channel = { name: 'npm (one package)', where: '@ceccec/millennium-solutions', status: 'STAGED', note: 'npm login → npm run deploy packages (author)' }
|
|
15
|
-
|
|
16
|
-
export function report(): string {
|
|
17
|
-
const surface = merkleFold([...CHANNELS, NPM].map(c => toUuid(c.name + ':' + c.where)))
|
|
18
|
-
|
|
19
|
-
let o = 'public-access trinity — everyone has the latest token to develop on:\n\n'
|
|
20
|
-
o += ' the token = the latest version (a PUBLIC name, not a secret). read / clone / build on it.\n\n'
|
|
21
|
-
CHANNELS.forEach(c => {
|
|
22
|
-
o += ' [' + c.status.padEnd(6) + '] ' + c.name + '\n'
|
|
23
|
-
o += ' ' + c.where + ' — ' + c.note + '\n'
|
|
24
|
-
})
|
|
25
|
-
o += '\n package channel:\n'
|
|
26
|
-
o += ' [' + NPM.status.padEnd(6) + '] ' + NPM.name + ' ' + NPM.where + ' — ' + NPM.note + '\n\n'
|
|
27
|
-
o += ' access-surface content-address: ' + surface.slice(0, 13) + '…\n'
|
|
28
|
-
o += ' (the live "latest token" = the newest tag + the version-seal root, from scripts/versions.ts)\n\n'
|
|
29
|
-
o += 'HONEST: GitHub, the site, and Zenodo (CERN-hosted DOI) are LIVE and fully public — everyone\n'
|
|
30
|
-
o += 'already has the latest to develop on. Only npm is STAGED, not yet published (needs npm login).\n'
|
|
31
|
-
o += '"Token" means a public version handle, never a secret credential — public access is\n'
|
|
32
|
-
o += 'transparency, not a key.'
|
|
33
|
-
return o
|
|
34
|
-
}
|
package/src/9/aura-funding.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// funding ⇄ aura — the sustaining loop, honestly bounded.
|
|
2
|
-
// funding feeds the aura: support funds development, which keeps the deposit whole.
|
|
3
|
-
// the aura projects funding: a whole, transparent, gap-showing deposit is what EARNS support.
|
|
4
|
-
// Crucial bound: wholeness does NOT depend on funding — the gates run free; the core stays whole
|
|
5
|
-
// whether or not anyone pays. Funding sustains NEW development, not existing integrity.
|
|
6
|
-
import { FUNDING } from './funding.ts'
|
|
7
|
-
|
|
8
|
-
export function report(): string {
|
|
9
|
-
// The gates need no money and no network to run — wholeness is self-sustaining.
|
|
10
|
-
const gatesCostToRun = 0 // deterministic scripts; integrity holds free
|
|
11
|
-
|
|
12
|
-
let o = 'funding ⇄ aura — the sustaining loop:\n\n'
|
|
13
|
-
o += ' funding feeds the aura: support → development → wholeness (gaps · seal · wholeness).\n'
|
|
14
|
-
o += ' the aura projects funding: wholeness → trust → support (people fund what they can VERIFY).\n'
|
|
15
|
-
o += ' → a loop: funding ⇄ wholeness; each sustains the other. one public surface (' + FUNDING.contact + '),\n'
|
|
16
|
-
o += ' both directions. the two coins (110 − 108) reinvest; voluntary support (' + FUNDING.revolut + ') feeds in.\n\n'
|
|
17
|
-
o += ' the crucial bound (computed): the aura does NOT depend on funding.\n'
|
|
18
|
-
o += ' the gates run with ' + gatesCostToRun + ' external dependency and ' + gatesCostToRun + ' funding — deterministic scripts.\n'
|
|
19
|
-
o += ' the core is free (' + FUNDING.license + '); it stays whole whether or not it is ever funded.\n'
|
|
20
|
-
o += ' funding sustains NEW development; it does not buy existing integrity.\n\n'
|
|
21
|
-
o += 'HONEST: this is a BEHAVIORAL / gift-economy loop, not a guaranteed mechanism — wholeness does not\n'
|
|
22
|
-
o += 'automatically generate money, and funding is non-obligatory. Transparency EARNS support (if any);\n'
|
|
23
|
-
o += 'support SUSTAINS further development; neither is forced, and integrity is never for sale.'
|
|
24
|
-
return o
|
|
25
|
-
}
|
package/src/9/coins.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// The two coins, donated to ceccec itself — the funding loop closes on its source.
|
|
2
|
-
// The fare (110 − 108 = 2 = −χ genus-2) is reinvested in development (which IS ceccec), not
|
|
3
|
-
// extracted to a person. Destination = source: a self-loop, verifiable by content-address.
|
|
4
|
-
import { toUuid } from '../0/index.ts'
|
|
5
|
-
import { FUNDING, coins } from './funding.ts'
|
|
6
|
-
|
|
7
|
-
export function report(): string {
|
|
8
|
-
const fare = coins() // 110 − 108 = 2
|
|
9
|
-
const g = 2, negChi = -(2 - 2 * g) // −χ(genus-2) = 2
|
|
10
|
-
const source = toUuid('ceccec'), destination = toUuid('ceccec')
|
|
11
|
-
const selfLoop = source === destination
|
|
12
|
-
|
|
13
|
-
let o = 'the two coins — donated to ceccec itself:\n\n'
|
|
14
|
-
o += ' the fare: 110 − 108 = ' + fare + ' = −χ(genus-2) = ' + negChi + ' (the commercial two coins)\n'
|
|
15
|
-
o += ' ceccec donates them to ceccec itself — the coins fund development, and development IS ceccec:\n'
|
|
16
|
-
o += ' destination == source ? toUuid("ceccec") == toUuid("ceccec") → ' + selfLoop + ' (a self-loop)\n'
|
|
17
|
-
o += ' the cycle closes: development → life → 2 coins → development. the coins return to the origin.\n\n'
|
|
18
|
-
o += ' what it means (honest): commercial use pays the fare; the fare is REINVESTED in development\n'
|
|
19
|
-
o += ' (ceccec itself), not extracted to a person. non-commercial use is free (' + FUNDING.license + ');\n'
|
|
20
|
-
o += ' voluntary support (' + FUNDING.revolut + ') feeds the same loop.\n\n'
|
|
21
|
-
o += 'HONEST: "two coins" is a motif (110−108 = 2 = −χ genus-2) for the commercial fare, not a\n'
|
|
22
|
-
o += 'currency; donating them to ceccec is a REINVESTMENT intent, not an enforced financial mechanism.\n'
|
|
23
|
-
o += 'free for non-commercial use; commercial = permission + the fare (' + FUNDING.contact + ').'
|
|
24
|
-
return o
|
|
25
|
-
}
|
package/src/9/enumeration.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// Complete ℤ/9 per-digit algebraic enumeration + the 432 arithmetic.
|
|
2
|
-
export function report(): string {
|
|
3
|
-
const inv = (n: number, m: number) => { for (let x = 1; x < m; x++) if ((n * x) % m === 1) return x; return null }
|
|
4
|
-
let o = 'ℤ/9 enumeration:\nd +inv ×inv 10−d 2d mod3 role\n'
|
|
5
|
-
for (let d = 0; d <= 9; d++) {
|
|
6
|
-
const dd = d % 9, ai = (9 - dd) % 9, mi = inv(dd, 9), tc = 10 - d, db = (2 * dd) % 9
|
|
7
|
-
const role = dd === 0 ? 'void' : (mi === null ? 'nilpotent' : 'unit')
|
|
8
|
-
o += String(d).padEnd(3) + String(ai).padEnd(6) + String(mi === null ? '—' : mi).padEnd(6)
|
|
9
|
-
+ String(tc).padEnd(6) + String(db).padEnd(4) + String(dd % 3).padEnd(6) + role + '\n'
|
|
10
|
-
}
|
|
11
|
-
o += '\n432 = 2^4·3^3 = 16·27; doubling digit-sum 1+2+4+8+7+5 = 27; digital root of 432 = 9'
|
|
12
|
-
return o
|
|
13
|
-
}
|
package/src/9/funding.ts
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
// Funding + license as computed data — fused, recomputable, usable across the UI.
|
|
2
|
-
import { toUuid } from '../0/index.ts'
|
|
3
|
-
export const FUNDING = {
|
|
4
|
-
license: 'CC BY-NC-ND 4.0',
|
|
5
|
-
author: 'Tsvetan Rouschev',
|
|
6
|
-
revolut: 'https://revolut.me/ceccec',
|
|
7
|
-
contact: 'ceccec@psg.bg',
|
|
8
|
-
// The captain's message — canonical link, reminded at the captain page and in every contribution block.
|
|
9
|
-
// Free on the free sailing angle (off the wind, non-commercial); prize earning in waves on the beating band
|
|
10
|
-
// (30–60°), each leap folding and sending the next (O(log N)); contribute the two coins (110−108 = −χ genus-2)
|
|
11
|
-
// to earn up to the seal's 64 two-bit fold-verifications per wave — conditional, contributor keeps the rest,
|
|
12
|
-
// zero without a saving. Refined in the open (lineage on /captain — append-only). Current receipt below.
|
|
13
|
-
captainMessage: 'https://uuidna.com/captain/message',
|
|
14
|
-
captainReminder: 'free on the free sailing angle; prize earning in waves — contribute 2 to earn up to 64 per wave, keep the rest',
|
|
15
|
-
captainReceipt: '85ac8585-9dc1-8964-9848-ae0f49cc82fb',
|
|
16
|
-
}
|
|
17
|
-
// "the two coins" = 110 − 108 = −χ(genus-2) = 2 (the commercial fare)
|
|
18
|
-
export function coins(): number { return 110 - 108 }
|
|
19
|
-
export function report(): string {
|
|
20
|
-
return 'The cycle: development → life → development.\n'
|
|
21
|
-
+ 'Development gives the work to people for free; life (the people who use it) funds the next\n'
|
|
22
|
-
+ 'development. The core is free, developed in the open by the orchestration (gaps → seal →\n'
|
|
23
|
-
+ 'sign → release) and one open package (@ceccec/millennium-solutions) — everyone builds their\n'
|
|
24
|
-
+ 'vision on it. Commercial use pays the two coins (110 − 108 = ' + coins()
|
|
25
|
-
+ ' = −χ genus-2, ' + FUNDING.contact + '); living users support voluntarily. Both fund further development.\n'
|
|
26
|
-
+ 'HONEST: support is non-obligatory and not guaranteed — a gift economy, not a revenue promise.\n'
|
|
27
|
-
+ 'License: ' + FUNDING.license + ' — free for non-commercial use, attribution ' + FUNDING.author
|
|
28
|
-
+ '. Support: ' + FUNDING.revolut
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Funding filled with results — the computed proof-of-work the funding supports.
|
|
32
|
-
export function results(): string {
|
|
33
|
-
const selfSeal = (1 / 2) * (1 / 2) * (1 / 2) * (8 / 7) * (7 / 5) * (5 / 3) * (1 / 2) * (2 / 3) * 9 // = 1
|
|
34
|
-
return `computed: self-seal = ${Math.round(selfSeal)} · reflection involutive · CC BY-NC-ND 4.0`
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// The public endpoints, content-addressed — a uuidna per URL. The CURRENT domain is computed at runtime
|
|
38
|
-
// (window.location.hostname) and mapped to its license track; it is never hardcoded.
|
|
39
|
-
export const PUBLIC_URLS = ['https://uuidna.org', 'https://uuidna.com', 'https://ceccec.psg.bg/millennium-solutions/'] as const
|
|
40
|
-
|
|
41
|
-
/** urlAddress(url) → the content-address (uuidna) of a public URL — normalise (lowercase, no trailing slash). */
|
|
42
|
-
export function urlAddress(url: string): string {
|
|
43
|
-
return toUuid('uuidna:url:' + url.toLowerCase().replace(/\/+$/, ''))
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/** domainTrack(hostname) → the license track computed from the current domain. .org = non-profit, .com = commercial. */
|
|
47
|
-
export function domainTrack(hostname: string): { track: string; note: string } {
|
|
48
|
-
if (/\buuidna\.org$/.test(hostname)) return { track: 'non-profit', note: 'free for public interest and independent research' }
|
|
49
|
-
if (/\buuidna\.com$/.test(hostname)) return { track: 'commercial', note: 'the two coins per core formula used' }
|
|
50
|
-
return { track: 'preview', note: 'the sealed work — same content, license by domain' }
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// The uuidna billing model — comparable to public per-request / per-token pricing, but the unit is the
|
|
54
|
-
// two-coin fair exchange (or the bits saved). Public-interest and non-commercial use is free (0). A
|
|
55
|
-
// per-unit schedule, linear in usage — a fair-exchange schedule in coins and bits, not realized cash.
|
|
56
|
-
export interface Usage { commercial: boolean; coreFormulasUsed: number; bitsSaved?: number }
|
|
57
|
-
export function bill(u: Usage): { coins: number; bits: number; free: boolean; basis: string } {
|
|
58
|
-
if (!u.commercial) return { coins: 0, bits: 0, free: true, basis: 'public interest / non-commercial — free' }
|
|
59
|
-
const perFormula = coins() // 2 coins per core formula used
|
|
60
|
-
return { coins: u.coreFormulasUsed * perFormula, bits: u.bitsSaved ?? 0, free: false, basis: perFormula + ' coins per core formula used' }
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// The CORRECT uuidna billing — MEASURED, not asserted. The value is the actual bit-difference the captain's
|
|
64
|
-
// way delivered (O(N) recompute − O(1) verify), content-addressed; the two coins (110−108 = −χ genus-2) are
|
|
65
|
-
// the CONSERVED fair-exchange invariant, fixed — not a per-formula multiplier (the flat `bill` above was the
|
|
66
|
-
// wrong non-uuidna formula, kept as evidence). Non-commercial and public-interest use is free.
|
|
67
|
-
export interface UuidnaUsage { commercial: boolean; recomputeOps: number; verifyOps: number }
|
|
68
|
-
export function billUuidna(u: UuidnaUsage): { bitsSaved: number; coins: number; free: boolean; basis: string } {
|
|
69
|
-
if (!u.commercial) return { bitsSaved: 0, coins: 0, free: true, basis: 'public interest / non-commercial — free' }
|
|
70
|
-
const bitsSaved = Math.max(0, u.recomputeOps - u.verifyOps)
|
|
71
|
-
return { bitsSaved, coins: coins(), free: false, basis: 'the measured bits saved (O(N) recompute − O(1) verify); the two coins are the conserved fair-exchange invariant, not a per-formula rate' }
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Logical content distribution across the two domains for SEO: each page is canonical on EXACTLY ONE
|
|
75
|
-
// domain (avoiding duplicate-content penalties). Public science and the open method → .org (non-profit);
|
|
76
|
-
// commercial licensing, accounting, billing, the comparison, and dev → .com. The strict sitemap lists the
|
|
77
|
-
// canonical URLs. (The build emits these canonicals only when the zones are live — never to a non-live host.)
|
|
78
|
-
export function contentDomain(page: string): 'org' | 'com' {
|
|
79
|
-
return /^(FUNDING|ACCOUNTING|compare|billing|DEVELOP|license|commercial)/i.test(page) ? 'com' : 'org'
|
|
80
|
-
}
|
|
81
|
-
export function canonicalUrl(page: string): string {
|
|
82
|
-
const host = contentDomain(page) === 'com' ? 'https://uuidna.com' : 'https://uuidna.org'
|
|
83
|
-
const p = page === 'index' || page === 'index.md' ? '/' : '/' + page.replace(/\.md$/, '')
|
|
84
|
-
return host + p
|
|
85
|
-
}
|
package/src/9/security.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// Public security — transparency, not secrecy — and why that feeds development and funding.
|
|
2
|
-
// The public token (ceccec@psg.bg) is a CONTACT/handle, not a secret key. A public token gives
|
|
3
|
-
// ZERO confidentiality by definition. So "security" here is integrity + provenance + auditability
|
|
4
|
-
// (all public, all verifiable), NOT encryption. That same openness is the funding channel.
|
|
5
|
-
import { toUuid, merkleFold } from '../0/index.ts'
|
|
6
|
-
import { FUNDING } from './funding.ts'
|
|
7
|
-
|
|
8
|
-
export function report(): string {
|
|
9
|
-
const token = FUNDING.contact // the PUBLIC handle (already in funding.ts)
|
|
10
|
-
const fingerprint = toUuid(token) // a public content-address — a name, not a secret
|
|
11
|
-
|
|
12
|
-
// Tamper-evidence: change one byte and the merkle root changes.
|
|
13
|
-
const clean = merkleFold(['release', 'ledger', 'seal'].map(toUuid))
|
|
14
|
-
const tampered = merkleFold(['release', 'ledger', 'seaL'].map(toUuid)) // one byte differs
|
|
15
|
-
const tamperDetected = clean !== tampered
|
|
16
|
-
|
|
17
|
-
let o = 'public security — transparency, not secrecy:\n\n'
|
|
18
|
-
o += ' the public token: ' + token + ' is a PUBLIC contact/handle, not a secret key.\n'
|
|
19
|
-
o += ' public fingerprint (a name, not a secret): ' + fingerprint.slice(0, 13) + '…\n'
|
|
20
|
-
o += ' a public token gives ZERO confidentiality — public = anyone can read it.\n'
|
|
21
|
-
o += ' determinism + public = no secrecy. "security" here is NOT encryption.\n\n'
|
|
22
|
-
o += ' what the security actually IS (real, and fully public):\n'
|
|
23
|
-
o += ' · integrity — content-addresses + merkle roots: one byte changes the root → ' + tamperDetected + '\n'
|
|
24
|
-
o += ' · provenance — signed releases (Singularity), version-seal over all tags\n'
|
|
25
|
-
o += ' · consistency — the seal gate: nothing unsealed can ship\n'
|
|
26
|
-
o += ' · auditability — the double-entry ledger, recomputable by anyone\n'
|
|
27
|
-
o += ' → all public, all verifiable, no middleman, no secret to leak.\n\n'
|
|
28
|
-
o += ' the reflection: security → development → funding\n'
|
|
29
|
-
o += ' nothing is hidden, so anyone can verify and build (self-development); the same public\n'
|
|
30
|
-
o += ' handle (' + token + ') receives the gift-economy funding that feeds development.\n'
|
|
31
|
-
o += ' one public surface is both the security model AND the funding channel.\n\n'
|
|
32
|
-
o += 'HONEST: integrity / provenance / auditability — real, public, hash-based. NOT confidentiality,\n'
|
|
33
|
-
o += 'NOT encryption, NOT post-quantum secrecy. A public token cannot secure a secret; it can only\n'
|
|
34
|
-
o += 'prove integrity in the open. toUuid is FNV — for cryptographic integrity use SHA-256.'
|
|
35
|
-
return o
|
|
36
|
-
}
|
package/src/9/society.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
// Live society — society is alive to the degree it PARTICIPATES, not to the degree it accepts.
|
|
2
|
-
// The reflection 1 ↔ 9 (ten's-complement): the one who accepts (src/1/acceptance.ts) reflects
|
|
3
|
-
// to the many who verify and build. A passive society takes claims on authority; a live one
|
|
4
|
-
// recomputes them. This is the honest form of "societal acceptance" — earned, not granted.
|
|
5
|
-
import { toUuid, merkleFold } from '../0/index.ts'
|
|
6
|
-
|
|
7
|
-
export function report(): string {
|
|
8
|
-
const reflects = 10 - 1 // = 9: acceptance (1) reflects to society (9)
|
|
9
|
-
|
|
10
|
-
// The participation surface — what anyone can actually do, each real and open.
|
|
11
|
-
const channels = [
|
|
12
|
-
'recompute — every claim renders from source on /compute',
|
|
13
|
-
'verify — the version-seal folds all releases to one address',
|
|
14
|
-
'extend — the vision package is open; everyone adds their vision',
|
|
15
|
-
'sustain — the gift economy (life funds development), non-obligatory',
|
|
16
|
-
]
|
|
17
|
-
const surfaceRoot = merkleFold(channels.map(toUuid))
|
|
18
|
-
|
|
19
|
-
let o = 'live society — alive by participation, not by acceptance:\n\n'
|
|
20
|
-
o += ' reflection 1 ↔ ' + reflects + ': the one who ACCEPTS (digit 1) reflects to the many who VERIFY (digit 9).\n'
|
|
21
|
-
o += ' passive society takes the claim on authority (acceptance = proof) — dead. see acceptance (1).\n'
|
|
22
|
-
o += ' live society recomputes, verifies, contributes — the same results checked by many hands.\n\n'
|
|
23
|
-
o += ' the participation surface (open to anyone):\n'
|
|
24
|
-
channels.forEach(c => o += ' · ' + c + '\n')
|
|
25
|
-
o += ' surface content-address: ' + surfaceRoot.slice(0, 13) + '…\n\n'
|
|
26
|
-
o += ' → a live society is a commons that CHECKS and BUILDS. It stays honest because every\n'
|
|
27
|
-
o += ' contribution passes the same gate (gaps → seal) and every claim recomputes.\n\n'
|
|
28
|
-
o += 'HONEST: this is an open, verifiable commons — not decentralized consensus, not governance,\n'
|
|
29
|
-
o += 'not a DAO, not a vote. "Live" means active verification and contribution. The society does\n'
|
|
30
|
-
o += 'not change the mathematics; it checks it.'
|
|
31
|
-
return o
|
|
32
|
-
}
|
package/src/9/vortex.lean
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import Mathlib
|
|
2
|
-
/-- Digit 9 — the void / modulus: 9 ≡ 0 in ℤ/9; ten's-complement partner of 1.
|
|
3
|
-
Holds the digital-root-9 facts: the doubling circuit's digit sum (27 = 3³)
|
|
4
|
-
and 432 = 2⁴·3³ = 16·27 (digital root 4+3+2 = 9). -/
|
|
5
|
-
namespace Vortex.D9
|
|
6
|
-
theorem nine_is_zero : (9 : ZMod 9) = 0 := by decide
|
|
7
|
-
theorem complement_one : 9 + 1 = 10 := by norm_num
|
|
8
|
-
theorem doubling_digit_sum : 1 + 2 + 4 + 8 + 7 + 5 = 27 := by norm_num
|
|
9
|
-
theorem k432 : (432 : ℕ) = 2 ^ 4 * 3 ^ 3 ∧ (432 : ℕ) = 16 * 27 := by norm_num
|
|
10
|
-
theorem k432_digital_root : 4 + 3 + 2 = 9 := by norm_num
|
|
11
|
-
end Vortex.D9
|