metanum 1.4.0 → 2.0.0
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 +380 -114
- package/format-metanum.js +848 -72
- package/metanum.js +1245 -310
- package/package.json +32 -23
- package/test_mixed.js +606 -47
- package/.gitattributes +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/metanum)
|
|
4
4
|
|
|
5
|
-
- MetaNum
|
|
5
|
+
- MetaNum v2.0 by dlsdl
|
|
6
6
|
|
|
7
7
|
A huge number library holding up to X↑↑X&9e15.
|
|
8
8
|
|
|
@@ -32,15 +32,15 @@ const a = new MetaNum(428571);
|
|
|
32
32
|
const b = MetaNum.fromNumber(-2.71828);
|
|
33
33
|
|
|
34
34
|
// From a string (supports scientific notation, hyper-operations, letter notation, brackets, etc.)
|
|
35
|
-
const c = new MetaNum("1.
|
|
36
|
-
const d = MetaNum.fromString("
|
|
35
|
+
const c = new MetaNum("1.797e308");
|
|
36
|
+
const d = MetaNum.fromString("1F5"); // tetration: 10^^5
|
|
37
37
|
const e = MetaNum.fromString("E100#2"); // Hyper-E: 10^10^100 (googolplex)
|
|
38
38
|
const f = MetaNum.fromString("GF^2 E^3 123"); // letter notation
|
|
39
39
|
const g = MetaNum.fromString("Aa100"); // letter notation
|
|
40
40
|
const h = MetaNum.fromString("[[10], [1, 3]]"); // bracket notation
|
|
41
41
|
|
|
42
42
|
// From an array
|
|
43
|
-
const i = MetaNum.fromArray([2.71828, 1, 2]); // [[
|
|
43
|
+
const i = MetaNum.fromArray([2.71828, 1, 2]); // array=[[2.71828, 1, 2]], =10^^10^^10^2.71828
|
|
44
44
|
const j = MetaNum.fromArray([10], 1, 1); // layer 1
|
|
45
45
|
|
|
46
46
|
// From an object / JSON
|
|
@@ -171,6 +171,14 @@ new MetaNum(100).linear_sroot(3); // ³ss̅r̅t̅(100)
|
|
|
171
171
|
// Layer arithmetic
|
|
172
172
|
new MetaNum(10).layeradd(3); // add 3 layers of exponentiation
|
|
173
173
|
new MetaNum(10).layeradd10(3); // 10^^3 (explicit base 10)
|
|
174
|
+
|
|
175
|
+
// General hyperoperation inverses: if a{b}c = d then
|
|
176
|
+
// d.hyper_log(a)(b) = c and d.hyper_root(c)(b) = a
|
|
177
|
+
MetaNum(14).hyper_log(2)(0); // 2*7 = 14 → 7
|
|
178
|
+
MetaNum(100000).hyper_log(10)(1); // 10^5 → 5
|
|
179
|
+
MetaNum(65536).hyper_log(2)(2); // 2↑↑4 → 4 (slog)
|
|
180
|
+
MetaNum(65536).hyper_root(4)(2); // 2↑↑4 → 2 (base recovery)
|
|
181
|
+
MetaNum(10).arrow(3)(3).hyper_root(3)(3); // 10↑↑↑3 → 10
|
|
174
182
|
```
|
|
175
183
|
|
|
176
184
|
## Hyper-Operations up to ε₀
|
|
@@ -283,6 +291,26 @@ x.aperixxate(3); // apix(3) = hwpw
|
|
|
283
291
|
x.epsilonate(3); // epsl(3) = hepsl
|
|
284
292
|
```
|
|
285
293
|
|
|
294
|
+
### The ω^ω … ε₀ operations follow rule 3 exactly
|
|
295
|
+
|
|
296
|
+
Every operation above is evaluated with the unified limit rule
|
|
297
|
+
`n{λ}b = n{λ[b]}n` — the final operand is the **base** n, never b. Whenever the
|
|
298
|
+
reduced level λ[y] still fits a Cantor-normal-form coefficient row the whole
|
|
299
|
+
fundamental-sequence cascade is evaluated:
|
|
300
|
+
|
|
301
|
+
```javascript
|
|
302
|
+
MetaNum(3).iterate(5); // 3{ω^ω}5 = 3{ω^5}3 = 3{ω^4*3}3 = …
|
|
303
|
+
// … = 3{ω^4*2+ω^3*2+ω^2*2+ω*2+2}3 → top row [1,2,2,2,2,2]
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
Levels ≥ ω^ω have no finite coefficient row, so the result is stored as the
|
|
307
|
+
compact **layer marker** of λ[y] (see the representation rule above: layer L ⇒
|
|
308
|
+
`10{ω^ω^…((L-1) ω^'s)…^(bracket)}10`):
|
|
309
|
+
|
|
310
|
+
so the encoded ordinals grow with the operation
|
|
311
|
+
(`iter < itmu < cube < expo < tria < trix < apix < epsl`) and with y, and
|
|
312
|
+
`epsilonate(MSI)` is exactly the library's ε-tower cap.
|
|
313
|
+
|
|
286
314
|
## Inverse Operations
|
|
287
315
|
|
|
288
316
|
Each expansion operation has a corresponding inverse for decrementing ordinal structure:
|
|
@@ -324,35 +352,71 @@ x.i_apix(z) // iwpw = inverse of aperixxate
|
|
|
324
352
|
x.i_epsl(z) // iepsl = inverse of epsilonate
|
|
325
353
|
```
|
|
326
354
|
|
|
355
|
+
### Fractional hyperoperation levels
|
|
356
|
+
|
|
357
|
+
Levels interpolate geometrically (README rule (i)); `x{n+f}y = x{n+1}(θf)`
|
|
358
|
+
with `θf` continuous between `x{n}y` (f=0) and `x{n+1}y` (f=1). For the
|
|
359
|
+
canonical diagonal this is exactly `10{n+f}10 = 10{n+1}(2·5^f)`:
|
|
360
|
+
|
|
361
|
+
```javascript
|
|
362
|
+
MetaNum(10).arrow(3.5)(10); // 10{3.5}10 = 10{4}(2·5^0.5)
|
|
363
|
+
MetaNum(10).arrow(3.2)(10); // monotone between 10{3}10 and 10{4}10
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### Non-integer arguments at ordinal levels
|
|
367
|
+
|
|
368
|
+
The same continuity applies to the ω-and-above operations. Successor levels
|
|
369
|
+
follow `x{α}(m+f) = x{α-1}` applied m times to `x^f`; the ω level matches
|
|
370
|
+
`aperiote` exactly, so the issue's composition identity holds verbatim:
|
|
371
|
+
|
|
372
|
+
```javascript
|
|
373
|
+
MetaNum(10).expande(2.1); // 10{ω+1}2.1 = 10{ω}10{ω}(10^0.1)
|
|
374
|
+
MetaNum(10).expande(2); // 10{ω}10 (continuous at the integers)
|
|
375
|
+
MetaNum(10).multiexpande(2.1); // (10{ω+1})²(10^0.1)
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
Limit levels take the fundamental sequence at `floor(y)`; successor levels
|
|
379
|
+
with an iteration count beyond direct evaluation diagonalize through the
|
|
380
|
+
engine's huge-argument convention (y plus one α-level marker row).
|
|
381
|
+
|
|
327
382
|
## BEAF Operations
|
|
328
383
|
|
|
329
384
|
Bowers' Exploding Array Function (BEAF) is supported via ordinal arithmetic for 3+ arguments:
|
|
330
385
|
|
|
331
386
|
```javascript
|
|
332
|
-
// BEAF(a,b,c,d,e,f,...) = a{...+ω^3*(f-1)+ω^2*(e-1)+ω*(d-1)+
|
|
387
|
+
// BEAF(a,b,c,d,e,f,...) = a{...+ω^3*(f-1)+ω^2*(e-1)+ω*(d-1)+c}b
|
|
388
|
+
// (the constant term keeps its value; ω-and-above coefficients decrement by 1)
|
|
333
389
|
|
|
334
390
|
// 3-entry: {a,b,c} = a↑^c b (standard up-arrow notation)
|
|
335
391
|
MetaNum.BEAF(3, 3, 2); // 3↑↑3 = 7625597484987
|
|
336
392
|
MetaNum.BEAF(3, 3, 3); // 3↑↑↑3 = tritri
|
|
337
393
|
|
|
338
|
-
// 4-entry: {a,b,c,d} = a(ω*d+c level operation)b
|
|
394
|
+
// 4-entry: {a,b,c,d} = a(ω*(d-1)+c level operation)b
|
|
339
395
|
MetaNum.BEAF(2, 2, 1, 2); // 2{ω}2
|
|
340
|
-
MetaNum.BEAF(3, 3, 3, 3); // 3{ω*2+
|
|
396
|
+
MetaNum.BEAF(3, 3, 3, 3); // 3{ω*2+3}3
|
|
341
397
|
|
|
342
398
|
// 5+ entry: ordinal arithmetic
|
|
343
399
|
MetaNum.BEAF(10, 2, 1, 1, 2); // 10{ω^2}2
|
|
344
|
-
MetaNum.BEAF(3, 3, 3, 3, 2); // 3{ω^2
|
|
345
|
-
MetaNum.BEAF(4, 5, 6, 7, 8, 9); // 4{ω^3*8+ω^2*7+ω*6+
|
|
400
|
+
MetaNum.BEAF(3, 3, 3, 3, 2); // 3{ω^2+ω*2+3}3
|
|
401
|
+
MetaNum.BEAF(4, 5, 6, 7, 8, 9); // 4{ω^3*8+ω^2*7+ω*6+6}5
|
|
402
|
+
|
|
403
|
+
// Ordinal expansion order and truncation (maxRows = 100 by default):
|
|
404
|
+
// the expansion evaluates from the largest ordinal down and keeps the largest
|
|
405
|
+
// maxRows-1 ordinal rows. Without truncation the expansion is exact, e.g.
|
|
406
|
+
// BEAF(3,3,5,5,5) = 3{ω^2*4+ω*4+5}3 enumerates all 50 sub-ordinals.
|
|
407
|
+
// When the expansion exceeds the row budget the base defaults to [10] and the
|
|
408
|
+
// first kept row's count is incremented by 1 as a truncation marker, e.g.
|
|
409
|
+
// BEAF(5,5,1,1,1,2) = 5{ω^3+1}5 → [[10],[4,2,0,1],...,[3,0,0,0,1]].
|
|
346
410
|
|
|
347
411
|
// nested BEAF: {a,{b,c,d,e},f,g,h}
|
|
348
412
|
// An argument exceeding MSI supremum-collapses (use fundamental sequences rules):
|
|
349
413
|
// ω*i+HUGE ≈ ω*(i+1), ω^i*HUGE ≈ ω^(i+1), etc.
|
|
350
414
|
// (lower coefficients are swallowed), and the result anchors at that argument's value.
|
|
351
|
-
MetaNum.BEAF(4, MetaNum.BEAF(4, 2, 3, 5), 3, 5); // 4{ω*4+
|
|
415
|
+
MetaNum.BEAF(4, MetaNum.BEAF(4, 2, 3, 5), 3, 5); // 4{ω*4+3}4{ω*4+3}2
|
|
352
416
|
|
|
353
417
|
// Parse BEAF string notation
|
|
354
418
|
MetaNum.fromBeaf("{3,3,3}"); // 3↑↑↑3
|
|
355
|
-
MetaNum.fromBeaf("{3,3,3,3}"); // 3{ω*2+
|
|
419
|
+
MetaNum.fromBeaf("{3,3,3,3}"); // 3{ω*2+3}3
|
|
356
420
|
MetaNum.fromBeaf("{10,2,1,1,2}"); // 10{ω^2}2
|
|
357
421
|
|
|
358
422
|
// Convert to BEAF string
|
|
@@ -360,6 +424,66 @@ new MetaNum(7625597484987).toBeaf(); // "{7625597484987}"
|
|
|
360
424
|
MetaNum.BEAF(3,3,3).toBeaf(); // "{3638334640023.7783}"
|
|
361
425
|
```
|
|
362
426
|
|
|
427
|
+
## Hardy Hierarchy
|
|
428
|
+
|
|
429
|
+
`MetaNum.hardy(n)` evaluates the Hardy hierarchy `H_α(10)` where the ordinal α
|
|
430
|
+
is built from the decimal digits of n (base 10, `hardy(1234) = H_{ω³+ω²·2+ω·3+4}(10)`):
|
|
431
|
+
|
|
432
|
+
```javascript
|
|
433
|
+
MetaNum.hardy(10); // H_ω(10) = 20
|
|
434
|
+
MetaNum.hardy(11); // H_{ω+1}(10) = 22
|
|
435
|
+
MetaNum.hardy(100); // H_{ω²}(10) = 10240
|
|
436
|
+
MetaNum.hardy(1234); // H_{ω³+ω²·2+ω·3+4}(10), exact for small levels and
|
|
437
|
+
// engine-collapsed (F_j = H^{ω^j}) for deep segments
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Recursion rules: `H_0(n) = n`, `H_{α+1}(n) = H_α(n+1)` (only +1, never
|
|
441
|
+
iterated), `H_λ(n) = H_{λ[n]}(n)` with the CNF fundamental sequences.
|
|
442
|
+
|
|
443
|
+
### Hardy beyond ω^ω
|
|
444
|
+
|
|
445
|
+
For n ≥ 1e10 the leading exponent k ≥ 10 is itself converted to a base-10
|
|
446
|
+
ordinal, so `hardy(1e11) = H_{ω^(ω+1)}(10)` sits at the `10{ω+1}10` scale
|
|
447
|
+
(via `H_{ω^β}(n) = F_β(n)`), not the flat `10{11}10` scale. The value is
|
|
448
|
+
evaluated per the definition (from below), so it is strictly BELOW the
|
|
449
|
+
matching engine hyper-op:
|
|
450
|
+
|
|
451
|
+
```javascript
|
|
452
|
+
MetaNum.hardy(1e10); // = H_{ω^ω}(10) = H_{ω^10}(10), array exactly
|
|
453
|
+
// [3086.036065328153, 9,9,9,9,9,9,9,9] — below 10{10}10
|
|
454
|
+
MetaNum.hardy(1e11); // = H_{ω^(ω+1)}(10) — below 10{ω+1}10 (expande(10,10))
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
More generally, with n = dk·10^kExp + rest: α = ω^ord(kExp)·dk + ord(rest) is
|
|
458
|
+
built recursively (n1 = H_ord(rest)(10), base = H_{ω^n1}(n1) when n1 is a
|
|
459
|
+
small finite), and the rows of 10{ω+c}(9+dk) are mirrored onto that base for
|
|
460
|
+
kExp ≥ 11. hardy is monotone across this range:
|
|
461
|
+
`hardy(9999999999) < hardy(1e10) < hardy(10000000001)`.
|
|
462
|
+
|
|
463
|
+
hardy(1e20) = H_{ω^(ω*2)}(10), hardy(1e100)=H_{ω^(ω^2)}(10), hardy(e1e10)=H_{ω^(ω^ω)}(10), and so on.
|
|
464
|
+
|
|
465
|
+
### hardy input extensions
|
|
466
|
+
|
|
467
|
+
```javascript
|
|
468
|
+
MetaNum.hardy(1e21); // >1e20 scientific strings expand to exact
|
|
469
|
+
// digits — the reading stays monotone:
|
|
470
|
+
// hardy(1e20) < hardy(1e21) < hardy(1e22)
|
|
471
|
+
MetaNum.hardy(MetaNum(10).tetr(100));
|
|
472
|
+
// power towers shadow to ω^ω^…^ω (k ω's):
|
|
473
|
+
// hardy(10^^k) = 10.epsilonate(k)
|
|
474
|
+
MetaNum.hardy(MetaNum(10).tetr(Number.MAX_SAFE_INTEGER));
|
|
475
|
+
// hardy(10^^MSI) = the MetaNum limit exactly:
|
|
476
|
+
// 10{ω^ω^…^ω(MSI ω's)}10 (the ε-tower cap)
|
|
477
|
+
MetaNum.hardy(MetaNum("G600")) // MetaNum-object > 10^^MSI should return Infinity
|
|
478
|
+
MetaNum.hardy(MetaNum.arrow(3, 9, 3)) // = Infinity (3{9}3 is far above 10^^MSI)
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
`MetaNum.infinity` (alias of `MetaNum.POSITIVE_INFINITY`) is the value returned
|
|
482
|
+
once the input passes the ε₀ ceiling: any MetaNum beyond `10^^MSI` — e.g. `G600`
|
|
483
|
+
(= 10{3}600), `3{9}3`, or a power tower taller than `10^^MSI` — has no Hardy
|
|
484
|
+
level inside the library, so `hardy` yields Infinity. Below the ceiling the
|
|
485
|
+
tower height still reads exactly: `hardy(10^^(MSI-1)) = 10.epsilonate(MSI-1)`.
|
|
486
|
+
|
|
363
487
|
## Layer & Serialization
|
|
364
488
|
|
|
365
489
|
```javascript
|
|
@@ -378,6 +502,9 @@ new MetaNum(100).toPrecision(3); // "100"
|
|
|
378
502
|
new MetaNum(100).toHyperE(); // "100"
|
|
379
503
|
new MetaNum(100).toStringWithDecimalPlaces(4); // "100.0000"
|
|
380
504
|
new MetaNum(100).toJSON(); // {sign:1, array:[[100]], layer:0}
|
|
505
|
+
new MetaNum(100).format(); // letter notation (format-metanum.js),
|
|
506
|
+
// e.g. MetaNum.hardy(4166).format() → "2.397G5"
|
|
507
|
+
// optional args: format(precision, small)
|
|
381
508
|
```
|
|
382
509
|
|
|
383
510
|
## Utility Functions
|
|
@@ -438,7 +565,7 @@ where α\[b] denotes the b-th element of the fundamental sequence assign to the
|
|
|
438
565
|
|
|
439
566
|
10{3}3=10{2}10{2}10=10{2} 9(10{1})'s 10=10↑↑(10^10^10^10^10^10^10^10^10000000000)
|
|
440
567
|
|
|
441
|
-
3{ω}5=3{5}
|
|
568
|
+
3{ω}5=3{5}3=3{4}3{5}2=3{4}3{4}3=3{4}3{3}3{3}3=3{4}3{3}3{2}3{2}3=3{4}3{3}3{2}3{1}3{1}3=3↑↑↑↑3↑↑↑3↑↑7625597484987
|
|
442
569
|
|
|
443
570
|
5{ω+1}4=5{ω}5{ω+1}3=5{ω}5{ω}5{ω+1}2=5{ω}5{ω}5{ω}5{ω+1}1=5{ω}5{ω}5{ω}5=5{ω}5{ω}5{5}5=5{ω}5{5{5}5}5=5{5{5{5}5}5}5
|
|
444
571
|
|
|
@@ -446,13 +573,13 @@ where α\[b] denotes the b-th element of the fundamental sequence assign to the
|
|
|
446
573
|
|
|
447
574
|
10{ω×2}10=10{ω+10}10=9(10{ω+9})'s 10=8(10{ω+9})'s 9(10{ω+8})'s 10=8(10{ω+9})'s 8(10{ω+8})'s ... 8(10{ω+1})'s 8(10{ω})'s 8(10{9})'s ... 8(10{1})'s 10000000000
|
|
448
575
|
|
|
449
|
-
10{ω^2}4=10{
|
|
576
|
+
10{ω^2}4=10{(ω^2)[4]}10=10{ω×4}10=10{(ω×4)[10]}10=10{ω×3+10}10=10{ω×3+9}10{ω×3+10}9=...=10{ω×3+9} 8(10{ω×3+8})'s ... 8(10{ω×3+1})'s 8(10{ω×3})'s 8(10{ω×2+9})'s ... 8(10{ω})'s ... 8(10{1})'s 10000000000
|
|
450
577
|
|
|
451
|
-
10{ω^ω}4=10{
|
|
578
|
+
10{ω^ω}4=10{(ω^ω)[4]}10=10{ω^4}10=10{(ω^4)[10]}10=10{ω^3×10}10=... (every limit step ends on the base 10; successor steps iterate) ... 8(10{1})'s 10000000000
|
|
452
579
|
|
|
453
|
-
10{ω^(ω^2)}4=10{ω^(
|
|
580
|
+
10{ω^(ω^2)}4=10{(ω^(ω^2))[4]}10=10{ω^(ω×ω)}10=10{ω^(ω×4)}10=10{ω^(ω×3+10)}10=... (rule 3: each FS step ends on the base 10)
|
|
454
581
|
|
|
455
|
-
10{ε₀}4=10{
|
|
582
|
+
10{ε₀}4=10{ε₀[4]}10=10{ω^(ω^(ω^ω))}10=10{ω^(ω^(ω^10))}10=... (ε₀[n+1]=ω^(ε₀[n]), final operand 10)
|
|
456
583
|
|
|
457
584
|
# dlsdl's Letter Notation
|
|
458
585
|
|
|
@@ -480,7 +607,7 @@ and \[number] can be any positive real number (nonintegers included).
|
|
|
480
607
|
|
|
481
608
|
### The First Levels: A Continuous version of Knuth Arrows
|
|
482
609
|
|
|
483
|
-
|
|
610
|
+
Let α be a positive real number, β be a positive integer, we'll define (use extended arrow operation):
|
|
484
611
|
|
|
485
612
|
Eα = 10^α = 10{1}α
|
|
486
613
|
|
|
@@ -504,7 +631,7 @@ So the above definitions are indeed an extention of Knuth arrows to nonintegers.
|
|
|
504
631
|
|
|
505
632
|
### Letter-Canonical Forms
|
|
506
633
|
|
|
507
|
-
If α is a number greater than 1 and Γ is a one of the letters E,F,G,H
|
|
634
|
+
If α is a number greater than 1 and Γ is a one of the letters E,F,G,H,...,Z then there is a unique number β such that:
|
|
508
635
|
|
|
509
636
|
α = Γβ.
|
|
510
637
|
|
|
@@ -522,7 +649,7 @@ F1.47712 = E(10^0.47712) ≈ E3 = 10^3 = 1000.
|
|
|
522
649
|
|
|
523
650
|
To recreate ordinary scientific notation, we'll define a binary version of the letter functions like this:
|
|
524
651
|
|
|
525
|
-
Let Γ be one of the letters E,F,G,H
|
|
652
|
+
Let Γ be one of the letters E,F,G,H,...,Z, β be a nonnegative integer and α be a real number between 1 and 10. Then:
|
|
526
653
|
|
|
527
654
|
αΓβ = Γ(β+log(α))
|
|
528
655
|
|
|
@@ -536,190 +663,329 @@ So αEβ is nothing more than ordinary scientific notation.
|
|
|
536
663
|
|
|
537
664
|
And αFβ is a power tower of β 10's topped by an α.
|
|
538
665
|
|
|
539
|
-
And again, given any specific letter (E,F,G,H
|
|
666
|
+
And again, given any specific letter (E,F,G,H,...,Z), ANY number greater than 1 has a unique representation as αΓβ (with 1≤α<10). So we can call this the Binary-Γ-Canonical Form of α.
|
|
540
667
|
|
|
541
668
|
## Multi letter notation
|
|
542
669
|
|
|
543
670
|
### Defining Aa - The First Diagonalization
|
|
544
671
|
|
|
545
|
-
In the previous section we've defined
|
|
546
|
-
|
|
547
|
-
let 1|α = Eα, 2|α = Fα, 3|α = Gα, ..., 22|α = Zα.
|
|
548
|
-
|
|
549
|
-
we had: Aaα = α|10 = 10{α}10.
|
|
672
|
+
In the previous section we've defined a finite sequence of functions, so we can diagonalize over them:
|
|
550
673
|
|
|
551
|
-
|
|
674
|
+
let 10{1}α = Eα, 10{2}α = Fα, 10{3}α = Gα, ..., 10{22}α = Zα.
|
|
552
675
|
|
|
553
|
-
|
|
676
|
+
we had: Aaα = 10{α}10.
|
|
554
677
|
|
|
555
|
-
|
|
678
|
+
So Aa has ω hyper-operation level, comparable to f\_ω\_(n) in FGH.
|
|
556
679
|
|
|
557
|
-
|
|
680
|
+
Then, we'll give a definition for non-integer 10{α}10 and amend the definition of Aa:
|
|
558
681
|
|
|
559
|
-
|
|
682
|
+
- Aaα = 10{α}10 = 10{int(α)+1}2\*5^frac(α)
|
|
560
683
|
|
|
561
|
-
|
|
684
|
+
The seemingly complex expression simply gives us a smooth geometric curve between 2 and 10. This ensures that Aa would be continuous, given the identity 10{β}10 = 10{β+1}2.
|
|
562
685
|
|
|
563
|
-
|
|
686
|
+
For example, Aa10 = 2Aa10 = 10{10}2 = 2Aa10, Aa10.5 = 10{10}2\*5^0.5 = 10{10}4.472 = 4.472Aa10
|
|
564
687
|
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
### Ab,Ac,Ad,...,Az and their Universal Canonical Forms
|
|
688
|
+
### Ab,Ac,Ad,...,Az and their Universal Binary-Letter-Canonical Forms
|
|
568
689
|
|
|
569
690
|
The definitions of Ab,Ac,Ad,...,Az are simple enough:
|
|
570
691
|
|
|
571
|
-
Abα = AaAa...AaAa(10^frac(α)) with int(α) Aa's
|
|
692
|
+
Abα = AaAa...AaAa(10^frac(α)) with int(α) Aa's = 10{ω+1}α
|
|
572
693
|
|
|
573
|
-
Acα = AbAb...AbAb(10^frac(α)) with int(α) Ab's
|
|
694
|
+
Acα = AbAb...AbAb(10^frac(α)) with int(α) Ab's = 10{ω+2}α
|
|
574
695
|
|
|
575
696
|
then we have Ad,Ae,...,Az, each with the same definition as Ab and Ac.
|
|
576
697
|
|
|
577
|
-
And that's it. So A(the β+1-th letter) is comparable to f\_ω+β\_(n) in the FGH.
|
|
578
|
-
|
|
579
|
-
Again we have Ab0=Ac0=Ad0=...=Az0=1, Ab1=Ac1=Ad1=...=Az1=10, and Ab,Ac,Ad,...,Az are all continuous. So any number greater than 1 has a unique Ab to Az Canonical Form.
|
|
698
|
+
And that's it. So A(the β+1-th lowercase letter)α is 10{ω+β}α, comparable to f\_ω+β\_(n) in the FGH.
|
|
580
699
|
|
|
581
|
-
|
|
700
|
+
Again we have Ab0=Ac0=Ad0=...=Az0=1, Ab1=Ac1=Ad1=...=Az1=10, Aa10=Ab2, Ab10=Ac2, ... and Ab,Ac,Ad,...,Az are all continuous. So any number greater than 1 has a unique Ab to Az Canonical Form.
|
|
582
701
|
|
|
583
|
-
|
|
702
|
+
Moreover, since Aa10=Ab2, we can extend our definition of the "Universal Binary-Letter-Canonical Form" up to Az:
|
|
584
703
|
|
|
585
|
-
(
|
|
586
|
-
|
|
587
|
-
### Defining from Ba to Bz
|
|
704
|
+
(1) Set a threshold number θ (such as 100, that's 1E2)
|
|
588
705
|
|
|
589
|
-
|
|
706
|
+
(2) if the number <θ then we write down the scientific notation of this number.
|
|
590
707
|
|
|
591
|
-
(
|
|
708
|
+
(3) Otherwise, we write Γα = 10^frac(α)Γint(α) for letter combinations (E~Z, Ab~Az) or = 2*5^frac(α)Γint(α) for Aa, and 2≤α<θ. If there is more than one possible choice, we choose the letter combination which comes first in order.
|
|
592
709
|
|
|
593
|
-
|
|
710
|
+
Examples:
|
|
594
711
|
|
|
595
|
-
|
|
712
|
+
10{20}10 = X10 = Y2 = Aa20, so we write it as 1X10.
|
|
596
713
|
|
|
597
|
-
|
|
714
|
+
10{30}10 = Aa30, so we write it as 2Aa30.
|
|
598
715
|
|
|
599
|
-
|
|
716
|
+
10{ω+1}10 = Ab10 = Ac2, so we write it as 1Ab10.
|
|
600
717
|
|
|
601
|
-
|
|
718
|
+
### Defining from Ba to Bz
|
|
602
719
|
|
|
603
|
-
|
|
720
|
+
We already know how to do recursion (F,G,H,I,...,Z) and simple diagonalization (Aa) in our continuous system, so we can easily extend our system up to ω\*2 level. In order to track our progress, we'll define:
|
|
604
721
|
|
|
605
|
-
|
|
722
|
+
- 10{α}10 = Aaα, 10{ω+β+1}α = 10{ω+β}10{ω+β}...10^frac(α) with int(α) 10{ω+β}'s
|
|
606
723
|
|
|
607
|
-
|
|
724
|
+
And define Baα in a way similar to Aaα:
|
|
608
725
|
|
|
609
|
-
|
|
726
|
+
Baα = 10{ω+α}10 = 10{ω+int(α)+1}2\*5^frac(α)
|
|
610
727
|
|
|
611
|
-
|
|
728
|
+
This gives rise to writing numbers in Ba Canonical form and extend the Universal Binary-Letter-Canonical Form up to Ba10, which have ω\*2 level.
|
|
612
729
|
|
|
613
|
-
|
|
730
|
+
Then we can define Bb,Bc, Bd,...,Bz with recursions in a similar way. Bbα = BaBa...BaBa(10^frac(α)) with int(α) Ba's = 10{ω\*2+1}α, and Bcα = BbBb...BbBb(10^frac(α)) with int(α) Bb's = 10{ω\*2+2}α, etc. So B(the β+1-th lowercase letter)α is 10{ω\*2+β}α.
|
|
614
731
|
|
|
615
|
-
|
|
732
|
+
### A Supporting Extended Arrow Operation and Aaa
|
|
616
733
|
|
|
617
|
-
|
|
734
|
+
We can, of-course, repeat what we did in the previous section as many times as we wish and get the following ω^2-level notation (β,γ ≥ 0 are integers, and α≥0 is real):
|
|
618
735
|
|
|
619
|
-
(
|
|
736
|
+
(i) 10{1}α = 10^α
|
|
620
737
|
|
|
621
|
-
|
|
738
|
+
(ii) 10{ω\*β+γ+1}α = 10{ω\*β+γ}10{ω\*β+γ}...10^frac(α) with int(α) 10{ω\*β+γ}'s
|
|
622
739
|
|
|
623
|
-
|
|
740
|
+
(iii) 10{ω\*β+α}10 = 10{ω\*β+int(α)+1}2\*5^frac(α)
|
|
624
741
|
|
|
625
|
-
|
|
742
|
+
(iv) 10{ω\*(β+1)}α = 10{ω\*β+α}10
|
|
626
743
|
|
|
627
|
-
|
|
744
|
+
Note that {ω\*β+γ} is a valid extended arrow operation. Also, in this new notation we can write Baα = 10{ω+α}10, Bbα = 10{ω\*2+1}α,... Bzα = 10{ω\*2+25}α.
|
|
628
745
|
|
|
629
|
-
|
|
746
|
+
We can extend to more uppercase letters: Caα = 10{ω\*2+α}10, Cbα = 10{ω\*3+1}α, ..., Zaα = 10{ω\*25+α}10, ..., and finally Zzα = 10{ω\*26+25}α.
|
|
630
747
|
|
|
631
|
-
|
|
748
|
+
So we have Qq1.000Qe308 = 10{ω17+16}10{ω17+4}308
|
|
632
749
|
|
|
633
|
-
|
|
750
|
+
And with this new supporting notation we can now to define:
|
|
634
751
|
|
|
635
|
-
|
|
752
|
+
- Aaaα = 10{ω\*int(α)+10\*frac(α)}10
|
|
636
753
|
|
|
637
|
-
|
|
754
|
+
Containing a very neat trick that allows us to do the double-diagonalization with a single number: Aaa1.5 = 10{ω+5}10, Aaa2.5 = 10{ω\*2+5}10
|
|
638
755
|
|
|
639
|
-
|
|
756
|
+
At any rate, it isn't too difficult to see that Aaa behaves "nicely" and allows us to speak of Aaa Canonical Forms of any number. And since Aaa1=Aa10, Aaa2=Ba10, ..., Aaa26=Za10, this also enables us to write the Unversal Binary-Letter-Canonical Form of any number below 10{ω^2}10.
|
|
640
757
|
|
|
641
|
-
|
|
758
|
+
## Symbol and letter notation
|
|
642
759
|
|
|
643
|
-
|
|
760
|
+
### Arrays with more than two variables, and !Aa
|
|
644
761
|
|
|
645
|
-
|
|
762
|
+
Extended arrow operations can be easily extended, like so:
|
|
646
763
|
|
|
647
|
-
(
|
|
764
|
+
(i) 10{1}α = 10^α
|
|
648
765
|
|
|
649
|
-
(
|
|
766
|
+
(ii) 10{...+ω^3\*β+ω^2\*γ+ω\*δ+ν+1}α = 10{...+ω^3\*β+ω^2\*γ+ω\*δ+ν}10{...+ω^3\*β+ω^2\*γ+ω\*δ+ν}...10^frac(α) with int(α) 10{...+ω^3\*β+ω^2\*γ+ω\*δ+ν}'s
|
|
650
767
|
|
|
651
|
-
(
|
|
768
|
+
(iii) 10{...+ω^3\*β+ω^2\*γ+ω\*δ+α}10 = 10{...+ω^3\*β+ω^2\*γ+ω\*δ+int(α+1)}2\*5^frac(α)
|
|
652
769
|
|
|
653
|
-
(
|
|
770
|
+
(iv) 10{(...+ω^3\*β+ω^2\*γ+ω\*δ+μ+1)\*ω^κ}α = 10{(...+ω^4\*β+ω^3\*γ+ω^2\*δ+ω\*μ+α)\*ω^(κ-1)}10
|
|
654
771
|
|
|
655
|
-
|
|
772
|
+
(v) 10{(...+ω^3\*β+ω^2\*γ+ω\*δ+α)\*ω^κ}10 = 10{(...+ω^4\*β+ω^3\*γ+ω^2\*δ+ω\*int(α)+frac(α)\*10)\*ω^κ}10
|
|
656
773
|
|
|
657
|
-
|
|
774
|
+
The first 4 rules are a simple and direct extention of the {ω\*β+γ} notation.
|
|
658
775
|
|
|
659
|
-
|
|
776
|
+
Rule (v) is an interesting one, though. It basically tells us that if we have an ordinal which ends with ω^n\*0 terms, then the digits of the fractional part of α are to be distributed among the terms. For example:
|
|
660
777
|
|
|
661
|
-
|
|
778
|
+
- 10{ω^6\*114+ω^5\*514+ω^4\*1.9198}10 = 10{ω^6\*114+ω^5\*514+ω^4+ω^3\*9+ω^2+ω\*9+8}10.
|
|
662
779
|
|
|
663
|
-
|
|
780
|
+
Now, all that is left to do is to define !Aa, which has ω^ω level.
|
|
664
781
|
|
|
665
|
-
|
|
782
|
+
- !Aaα = 10{ω^int(α)\*frac(α)}10
|
|
666
783
|
|
|
667
|
-
Then we have !Aa2 = Aaa10, !Aa3 = Aaaa10,... Just like the previous letters, any number can be written as !Aaα. Here, it is actually the binary form of
|
|
784
|
+
Then we have !Aa2 = Aaa10, !Aa3 = Aaaa10,... Just like the previous letters, any number can be written as !Aaα. Here, it is actually the binary form of !αAaβ = !Aa(β+logα) which has the most intuitive meaning:
|
|
668
785
|
|
|
669
|
-
In terms of the
|
|
786
|
+
In terms of the extended arrow operation, β tells us ω^β is in the ordinal and the digits of α tell us its coefficient and what residue ordinals are. Actually, !αAaβ has a more ω^ layer compare to αAaβ in ordinal level. For example, !1.2345Aa4 = 10{ω^4+ω^3\*2+ω^2\*3+ω\*4+5}10 and 10{4}10 < 1.2345Aa4 < 10{4}10{4}10
|
|
670
787
|
|
|
671
|
-
And in terms of
|
|
788
|
+
And in terms of ordinals, β gives us the maximum power of ω and the digits of α give us the coefficents of the various powers of ω, these neat relations are also true for β=1 and α≥2.
|
|
672
789
|
|
|
673
790
|
### Higher dimensional arrays and @Aa
|
|
674
791
|
|
|
675
|
-
With the definition of the
|
|
676
|
-
|
|
677
|
-
(i) Other rules are the same from linear array notation
|
|
792
|
+
With the definition of the extended arrow operation and the symbol !, one can easily define new operations up to ω^ω^ω level.
|
|
678
793
|
|
|
679
|
-
(
|
|
794
|
+
By adding ! before a letter notation, it adds a ω^ layer (likes the same ordinal but changes from HH to FGH). Aa represents ω level, so !Aa represents ω^ω level. Then we can define !Ab (ω^(ω+1)), !Ac, !Ad, ..., !Az with the same meaning as !Aa, and !Ba (ω^(ω\*2)), !Bb, !Bc, ..., !Bz, !Aaa, etc. Comparing these with the previous letters, we can see that notations with ! symbol have a more ω^ than those without ! symbol. Fractional number of rows, columns, etc.. are defined in the same way.
|
|
680
795
|
|
|
681
|
-
|
|
796
|
+
Now, all that is left to do is to define @Aa, which has ω^ω^ω level.
|
|
682
797
|
|
|
683
|
-
|
|
798
|
+
- @Aaα = 10{ω^(ω^int(α)\*frac(α))}10
|
|
684
799
|
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
(v) (...\[1]0,...,0,β,γ...)|α = (...\[1]β,γ...)|α
|
|
688
|
-
|
|
689
|
-
Rule 2 and 3 are the case where the last nonzero entry is at the end of a plane and is an integer. Rule 4 is when the last nonzero entry is at the end of a plane, you use the fractional part of the last entry, and put it in the next row.
|
|
690
|
-
|
|
691
|
-
By adding ! before a letter notation, it changes from HH to FGH. Aa represents H\_ω, so !Aa represents f\_ω which equals to H\_ω^ω. Then we can define !Ab (f\_ω^(ω+1)_(10) in FGH), !Ac, !Ad,..., !Az with the same meaning as !Aa, and !Ba(f\_ω^(ω2)_(10) in FGH), !Bb, !Bc, ..., !Bz, !Aaa, etc. Comparing these with the previous letters, we can see that notations with ! symbol have a more ω^ in FGH than those without ! symbol.
|
|
800
|
+
### Nested arrays and more symbols
|
|
692
801
|
|
|
693
|
-
|
|
802
|
+
The Definiton of more symbols is similar to the definition of @Aa.
|
|
694
803
|
|
|
695
|
-
|
|
804
|
+
- \#Aaα \~ 10{ω^ω^(ω^int(α)\*frac(α))}10
|
|
696
805
|
|
|
697
|
-
|
|
806
|
+
- \$Aaα \~ 10{ω^ω^ω^(ω^int(α)\*frac(α))}10
|
|
698
807
|
|
|
699
|
-
|
|
808
|
+
Then we can define (the β-th symbol or symbol combination)Aaα = 10{ω^ω^...^(ω^int(α)\*frac(α))(β ω's)}10
|
|
700
809
|
|
|
701
|
-
|
|
810
|
+
### Definition of the final letter: ε
|
|
702
811
|
|
|
703
|
-
|
|
812
|
+
ε represents exponent tower layers of ω.
|
|
704
813
|
|
|
705
|
-
|
|
814
|
+
- αεβ \~ 10{ω^ω^...^(ω^int(α)\*frac(α))(β ω's)}10
|
|
706
815
|
|
|
707
|
-
|
|
816
|
+
### Using dlsdl's letter notation, the biggest number we can define in Metanum is about ε9.007E15
|
|
708
817
|
|
|
709
|
-
|
|
818
|
+
# format-metanum
|
|
710
819
|
|
|
711
|
-
|
|
820
|
+
## Description
|
|
712
821
|
|
|
713
|
-
|
|
822
|
+
Implementation of dlsdl's letter notation for large number library, currently metanum.js
|
|
714
823
|
|
|
715
|
-
|
|
824
|
+
## format options
|
|
716
825
|
|
|
717
|
-
|
|
826
|
+
```javascript
|
|
827
|
+
smallNotationUseE // 1. for small value notations, true then use αE-β,false then use number⁻¹
|
|
828
|
+
smallNotationThreshold // 2. =n then value < 10^-n uses small notation
|
|
829
|
+
decimalPlaces // 3. for normal notations, =0 is 1,=1 is 1.0,=2 is 1.00 etc.
|
|
830
|
+
decimalThreshold // 4. =n then value >= 10^n do not show decimal part
|
|
831
|
+
useCommas // 5. whether to show commas in normal numbers (true/false)
|
|
832
|
+
sciThreshold // 6. =n then value >= 10^n use scientific notation, same for β in αEβ
|
|
833
|
+
sciSignificantDigits // 7. =n then α has n decimal places in αEβ
|
|
834
|
+
sciDecimalThreshold // 8. =n then β >= 10^n in αEβ only show integer part of α
|
|
835
|
+
singleLetterDigits // 9. α's decimal places in αFβ,αGβ...αZβ
|
|
836
|
+
repeatLetterThreshold // 10. =n then n repeated single letters use next letter notation, n<2 then use 2
|
|
837
|
+
multiLetterDigits // 11. α's decimal places in αAaβ,αAbβ...αAzβ and above
|
|
838
|
+
multiLetterRepeatThreshold// 12. =n then n repeated multi letter combinations use next letter notation, n<2 then use 2
|
|
839
|
+
multiLetterLimit // 13. =n then length of multi letter combinations does not exceed n, exceed then switch to next notation (length of Aa is 2, Aaa is 3, Aaaa is 4...), n<2 then use 2
|
|
840
|
+
epsilonSignificantDigits // 14. α's decimal places in αεβ
|
|
841
|
+
```
|
|
718
842
|
|
|
719
|
-
|
|
843
|
+
## Cases
|
|
844
|
+
|
|
845
|
+
- 0 ~ 10^-smallNotationThreshold: E- format(αE-β=α×10^-β; E-αEβ=10^-(α×10^β); E-……=10^-……)(smallNotationUseE true) or ……⁻¹(reciprocal)
|
|
846
|
+
- 10^-smallNotationThreshold ~ 10^decimalThreshold: decimal format (decimalPlaces digits)
|
|
847
|
+
- 10^decimalThreshold ~ 10^sciThreshold: comma format(useCommas true) or integer format
|
|
848
|
+
- 10^sciThreshold ~ 10^(10^sciThreshold): exponential as well as αEβ format
|
|
849
|
+
- 10^(10^sciThreshold) ~ 10^^(repeatLetterThreshold+1): n E's αEβformat(EαEβ, EEαEβ, EEEαEβ……)
|
|
850
|
+
- 10^^(repeatLetterThreshold+1) ~ 10^^(10^sciThreshold): αFβ format
|
|
851
|
+
- 10^^(10^sciThreshold) ~ 10^^(10^^(repeatLetterThreshold+1)): FαEβ, FEαEβ, FEEαEβ…… format
|
|
852
|
+
- 10^^(10^^(repeatLetterThreshold+1)) ~ 10^^^(repeatLetterThreshold+1): FαFβ, FFαFβ, FFFαFβ…… format
|
|
853
|
+
- 10^^^(repeatLetterThreshold+1) ~ 10^^^(10^sciThreshold): αGβ format
|
|
854
|
+
- 10^^^(10^sciThreshold) ~ 10^^^(10^^(repeatLetterThreshold+1)): GαEβ, GEαEβ,…… format
|
|
855
|
+
- 10^^^(10^^(repeatLetterThreshold+1)) ~ 10{4}(repeatLetterThreshold+1): GαGβ, GGαGβ,…… format
|
|
856
|
+
- 10{4}(repeatLetterThreshold+1) ~ 10{5}(repeatLetterThreshold+1): αHβ, HαEβ, HEαEβ, HαFβ, HFαFβ, HαGβ, HGαGβ, HαHβ, HHαHβ,…… format
|
|
857
|
+
|
|
858
|
+
…………
|
|
859
|
+
|
|
860
|
+
- 10{22}(repeatLetterThreshold+1) ~ 10{23}(repeatLetterThreshold+1): αZβ format; ZαEβ, ZEαEβ, ……, ZαZβ, ZZαZβ,…… format
|
|
861
|
+
- 10{23}(repeatLetterThreshold+1) ~ 10{10^sciThreshold}10(=10{ω}(10^sciThreshold)): αAaβ format
|
|
862
|
+
- 10{ω}(10^sciThreshold) ~ 10{ω+1}(multiLetterRepeatThreshold+1): AaαEβ, ……, AaαAaβ, AaAaαAaβ…… format
|
|
863
|
+
- 10{ω+1}(multiLetterRepeatThreshold+1) ~ 10{ω+1}(10^sciThreshold): αAbβ format
|
|
864
|
+
- 10{ω+1}(10^sciThreshold) ~ 10{ω+2}(multiLetterRepeatThreshold+1): AbαEβ, ……, AbαAbβ, AbAbαAbβ…… format
|
|
865
|
+
- 10{ω+2}(multiLetterRepeatThreshold+1) ~ 10{ω+2}(10^sciThreshold): αAcβ format
|
|
866
|
+
|
|
867
|
+
…………
|
|
868
|
+
|
|
869
|
+
- 10{ω+25}(multiLetterRepeatThreshold+1) ~ 10{ω+25}(10^sciThreshold): αAzβ format
|
|
870
|
+
- 10{ω+25}(10^sciThreshold) ~ 10{ω+26}(multiLetterRepeatThreshold+1): AzαEβ to AzαAzβ, AzAzαAzβ…… format
|
|
871
|
+
- 10{ω+26}(multiLetterRepeatThreshold+1) ~ 10{ω+10^sciThreshold}10(=10{ω×2}(10^sciThreshold)): αBaβ format
|
|
872
|
+
- 10{ω×2}(10^sciThreshold) ~ 10{ω×2}(multiLetterRepeatThreshold+1): BaαEβ to BaαBaβ, BaBaαBaβ…… format
|
|
873
|
+
|
|
874
|
+
…………
|
|
875
|
+
|
|
876
|
+
- 10{ω×2+26}(multiLetterRepeatThreshold+1) ~ 10{ω×2+10^sciThreshold}10(=10{ω×3}(10^sciThreshold)): αCaβ format
|
|
877
|
+
- 10{ω×3}(10^sciThreshold) ~ 10{ω×3}(multiLetterRepeatThreshold+1): CaαEβ to CaαCaβ, CaCaαCaβ…… format
|
|
878
|
+
|
|
879
|
+
…………
|
|
880
|
+
|
|
881
|
+
- 10{ω×26+25}(multiLetterRepeatThreshold+1) ~ 10{ω×26+25}(10^sciThreshold): αZzβ format
|
|
882
|
+
- 10{ω×26+25}(10^sciThreshold) ~ 10{ω×26+26}(multiLetterRepeatThreshold+1): ZzαEβ to ZzαZzβ, ZzZzαZzβ…… format
|
|
883
|
+
- 10{ω×26+26}(multiLetterRepeatThreshold+1) ~ 10{ω×(10^sciThreshold)}10(=10{ω^2}(10^sciThreshold)): αAaaβ format
|
|
884
|
+
- 10{ω^2}(10^sciThreshold) ~ 10{ω^2}(multiLetterRepeatThreshold+1): AaaαEβ to AaaαAaaβ, AaaAaaαAaaβ…… format
|
|
885
|
+
|
|
886
|
+
…………
|
|
887
|
+
|
|
888
|
+
- 10{……+ω^3×26+ω^2×26+ω×26+26}10 ~ 10{ω^ω}(10^sciThreshold): !αAaβ format
|
|
889
|
+
- 10{ω^ω}(10^sciThreshold) ~ 10{ω^(……ω^3×26+ω^2×26+ω×26+26)}10: !AaαEβ, !αAbβ, !αAaaβ…… format
|
|
890
|
+
- 10{ω^(……+ω^3×26+ω^2×26+ω×26+26)}10 ~ 10{ω^ω^ω}(10^sciThreshold): @αAaβ format
|
|
891
|
+
- 10{ω^ω^ω}(10^sciThreshold) ~ 10{ω^ω^(……ω^3×26+ω^2×26+ω×26+26)}10: @AaαEβ, @αAbβ, @αAaaβ…… format
|
|
892
|
+
- 10{ω^ω^(……+ω^3×26+ω^2×26+ω×26+26)}10 ~ 10{ω^ω^ω^ω}(10^sciThreshold): #αAaβ format
|
|
893
|
+
- 10{ω^ω^ω^ω}(10^sciThreshold) ~ 10{ω^ω^ω^(……ω^3×26+ω^2×26+ω×26+26)}10: #AaαEβ, #αAbβ, #αAaaβ…… format
|
|
894
|
+
|
|
895
|
+
…………
|
|
896
|
+
|
|
897
|
+
- 10{ω^ω^……^ω}10 ~ 10{ω^ω^…(10^sciThreshold ω^'s)…^ω}10: αεβformat
|
|
898
|
+
- 10{ω^ω^…(10^sciThreshold ω^'s)…^ω}10 ~ limit of metanum.js: εαEβformat
|
|
899
|
+
|
|
900
|
+
### format-metanum rules (v2.0)
|
|
901
|
+
|
|
902
|
+
- **Γ-canonical α/β (bisect law)**: the true α and β of a value v at letter Γ
|
|
903
|
+
are recovered by bisecting 10{L}x = v on the engine's own smooth arrow curve
|
|
904
|
+
(Γ = E,F,G,... single letters, L = level). α = 10^frac(x), β = floor(x):
|
|
905
|
+
`format(arrow(3,4.1,3))` → `G1.161G897` (not `G1.000G898`),
|
|
906
|
+
`format(arrow(3,4.3,3))` → `1.285H8` (not `1.000H8`),
|
|
907
|
+
`format(hardy(4166))` → `2.397G5`.
|
|
908
|
+
- **+count collapse**: n operations of level L applied to a Γ^{L+1}-structured
|
|
909
|
+
value collapse to ONE Γ^{L+1} with arg + n (F⁴(G(1.3796)) = G(5.3796)),
|
|
910
|
+
which is why single-letter chains like `G1.161G897` appear.
|
|
911
|
+
- **α appears at most once**, attached to the innermost value:
|
|
912
|
+
`format(GE12)` → `G1.000E12`; hardy(1120) → `F4.398E13`. Once the innermost β reaches
|
|
913
|
+
10^sciThreshold the letter goes bare and β carries its own sci form.
|
|
914
|
+
- **At most 2 finite letter types** may appear in a display's hyper-op chain
|
|
915
|
+
(VαEβ → VαFβ → … → VαVβ, never another like VFαEβ)
|
|
916
|
+
(AaαEβ → AaαFβ → … → AaαZβ → AaαAaβ, never another like AaFαEβ)
|
|
917
|
+
A cascade that would spell more than two letter types spells only its top two levels
|
|
918
|
+
and compresses the rest into the second letter's binary form.
|
|
919
|
+
"bottom Γ repeation": 3{9}3 → `L2.376K2`, 3{10}3 → `M2.376L2`,
|
|
920
|
+
4{9}4 → `LLK3.550K3`, 5{9}5 → `LLLKK4.669K4`; repeatLetterThreshold+1 top
|
|
921
|
+
repeats carry to the next letter instead (6{9}6 → `5.760M5`), and levels
|
|
922
|
+
22→21, 23→22 stay two-letter (`Y2.376X2`, `Z2.376Y2`), level ≥ 23 cascades
|
|
923
|
+
display as the αΓβ polarize diagonal. Diagonal letter combinations
|
|
924
|
+
(multi-letter tokens whose last lowercase letter is `a`: Aa, Ba, Ca, Aaa,
|
|
925
|
+
Aaaa, …) use the **pure dlsdl α=2·5^f ∈ [2,10) convention**; the other
|
|
926
|
+
letters (Ab, Bb, …) keep the ordinary α∈[1,10) convention. The polarize
|
|
927
|
+
triple t = log₁₀(bottom)+repeation maps as: t∈[2,10) smooth → α=t,
|
|
928
|
+
β=arrows; discrete integer arguments (10{L}b with 2≤b≤100) all sit at the
|
|
929
|
+
α=2 anchor of the next β; a structured argument climbs the geometric
|
|
930
|
+
smooth-log steps f→1+log10(f) to its diagonal mantissa. Examples:
|
|
931
|
+
3{24}3 → `2.376Aa23`, 3{100}3 → `2.376Aa99`,
|
|
932
|
+
10{100}10 … 10{100}100 → `2.000Aa100`, 10{23}10 → `2.000Aa23`,
|
|
933
|
+
10{100}(10{93}10) → `2.002Aa100`, 10{10000}10 → `2.000Aa10,000`;
|
|
934
|
+
nested ordinals prefix the ω-row letter:
|
|
935
|
+
3{3{100}3}3 → `Aa2.376Aa99`, 3{10{10000}10}3 → `Aa2.000Aa10,000`.
|
|
936
|
+
Symbol de-layering follows the same convention: !Aa3 = 10{ω³}10 →
|
|
937
|
+
`2.000Aaaa10` (layer 0), @Aa3 = 10{ω^{ω³}}10 → `!2.000Aaaa10`.
|
|
938
|
+
- **multiLetterLimit symbol carry**: a multi-letter combination of k letters
|
|
939
|
+
sits at level ω^(k-1). Once it would be longer than multiLetterLimit the
|
|
940
|
+
notation switches to the next one instead of growing another letter: the
|
|
941
|
+
symbol form !αAaβ, whose β is exactly that ω-exponent and whose α digits are
|
|
942
|
+
the CNF coefficients per the !-form definition
|
|
943
|
+
(!1.2345Aa4 = 10{ω^4+ω^3*2+ω^2*3+ω*4+5}10). With limit 4 the successor of
|
|
944
|
+
Zzzz is `!…Aa4` — never Aaaaa — and a 10-letter level displays as a short
|
|
945
|
+
`!2.222Aa9`: `format(iter(3,5))` → `!2.222Aa4`,
|
|
946
|
+
`format(iter(3,10))` → `!2.222Aa9`.
|
|
947
|
+
**Every symbol-prefixed format carries too** — the symbols stack
|
|
948
|
+
(no-symbol → ! → @ → # …), so a layer-1 value whose diagonal letter would
|
|
949
|
+
exceed the limit reads as one more symbol with the Aa argument taking the
|
|
950
|
+
exponent: `format(apix(3,10))` → `@2.000Aa10`
|
|
951
|
+
(= 10{ω^(ω^10)}10), `format(apix(3,5))` → `@2.000Aa5`; past the symbol
|
|
952
|
+
table the ε form takes over (`format(epsilonate(3,15))` → `1.000Ak10ε14`).
|
|
953
|
+
Diagonal combinations in symbol forms keep the pure dlsdl α = 2·5^f ∈ [2,10)
|
|
954
|
+
mantissa (integer exponents anchor 2.000).
|
|
955
|
+
- **Cascade compression**: a 20-row ordinal cascade that would spell 20 letter
|
|
956
|
+
types keeps its top two levels and folds the rest into the second letter's
|
|
957
|
+
repeat count: `format(h10000(3,10))` → `1.000Iccc19`.
|
|
958
|
+
Formats are identical at maxRows=maxCols=10/20/50/100.
|
|
959
|
+
|
|
960
|
+
### Precision budget (maxRows / maxCols)
|
|
961
|
+
|
|
962
|
+
Every hyperoperation is stored EXACTLY while it fits the array budget and
|
|
963
|
+
approximately once it does not:
|
|
964
|
+
|
|
965
|
+
- exact capacity = maxRows+maxCols−2 finite hyperoperation levels:
|
|
966
|
+
`arrow(x,L,z)` holds `r0 = [a0, a1, …, a(maxCols-1)]` (levels 0…maxCols−1)
|
|
967
|
+
plus the ordinal rows `[a(level+1), level]` for levels
|
|
968
|
+
maxCols … maxRows+maxCols−2 (maxRows−1 rows), so
|
|
969
|
+
`arrow(10,39,10)` is exact at maxRows=maxCols=20 (r0 of 20 entries, 19 rows,
|
|
970
|
+
top level 38) and `arrow(10,40,10)` is the first truncated value.
|
|
971
|
+
- beyond the budget the expansion follows the truncation rule: keep the
|
|
972
|
+
LARGEST maxRows−1 ordinal rows in array[1]…array[maxRows−1] sorted ascending,
|
|
973
|
+
increment array[1][0] by 1 (the dropped lower chain collapses into one extra
|
|
974
|
+
operation there) and default array[0] to [10]. This applies to arrow, BEAF
|
|
975
|
+
and the rule-1…4 ordinal cascades alike
|
|
976
|
+
(`iter(3,5)` → `[[10],[2,2,2,0,2,2],…,[1,2,2,2,2,2]]`).
|
|
977
|
+
- layer ≥ 1 results are stored in STANDARD form: an ordinal row [count, k]
|
|
978
|
+
whose level is the finite k merges into r0 (r0[k] += count) and the layer
|
|
979
|
+
drops as far as it can, since a layer-L bracket β that is a finite
|
|
980
|
+
ω-polynomial equals the layer-(L−1) value with the single row [1|β]:
|
|
981
|
+
`cube(10,3)` `[[10],[1,3],[1,0,1]]` → `[[10,0,0,1],[1,0,1]]`;
|
|
982
|
+
layer2 `[[5],[3,1]]` → `[[5,3]]` → layer1 `[[10],[1,5,3]]` = 10{ω^(ω*3+5)}10;
|
|
983
|
+
layer3 `[[3]]` → layer2 `[[0,0,0,1]]` → layer1 `[[10],[1,0,0,0,1]]`
|
|
984
|
+
= 10{ω^ω^3}10.
|
|
720
985
|
|
|
721
986
|
# Changelog
|
|
722
987
|
|
|
988
|
+
- 2026-9-15 v2.0: Add hyper-root & hyper-log, hardy function, fractional hyperoperation inputs, fix BEAF operation level and format
|
|
723
989
|
- 2026-8-18 v1.4 Support hyper operation >MSI and fix format-metanum bugs
|
|
724
990
|
- 2026-7-31 v1.3 Add format-metanum.js, fix basic operations, hyper operations and BEAF bugs
|
|
725
991
|
- 2026-7-9 v1.2 Add more hyper operations up to ε₀, add BEAF operation and fix bugs
|