@stevenvo780/st-lang 4.9.0 → 4.10.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.
Files changed (121) hide show
  1. package/dist/logic/profiles/natural-deduction-nk/formula.d.ts +18 -0
  2. package/dist/logic/profiles/natural-deduction-nk/formula.d.ts.map +1 -0
  3. package/dist/logic/profiles/natural-deduction-nk/formula.js +102 -0
  4. package/dist/logic/profiles/natural-deduction-nk/formula.js.map +1 -0
  5. package/dist/logic/profiles/natural-deduction-nk/index.d.ts +5 -0
  6. package/dist/logic/profiles/natural-deduction-nk/index.d.ts.map +1 -0
  7. package/dist/logic/profiles/natural-deduction-nk/index.js +28 -0
  8. package/dist/logic/profiles/natural-deduction-nk/index.js.map +1 -0
  9. package/dist/logic/profiles/natural-deduction-nk/prover.d.ts +49 -0
  10. package/dist/logic/profiles/natural-deduction-nk/prover.d.ts.map +1 -0
  11. package/dist/logic/profiles/natural-deduction-nk/prover.js +557 -0
  12. package/dist/logic/profiles/natural-deduction-nk/prover.js.map +1 -0
  13. package/dist/logic/profiles/natural-deduction-nk/types.d.ts +48 -0
  14. package/dist/logic/profiles/natural-deduction-nk/types.d.ts.map +1 -0
  15. package/dist/logic/profiles/natural-deduction-nk/types.js +35 -0
  16. package/dist/logic/profiles/natural-deduction-nk/types.js.map +1 -0
  17. package/dist/reasoning/automata/dfa.d.ts +17 -0
  18. package/dist/reasoning/automata/dfa.d.ts.map +1 -0
  19. package/dist/reasoning/automata/dfa.js +276 -0
  20. package/dist/reasoning/automata/dfa.js.map +1 -0
  21. package/dist/reasoning/automata/index.d.ts +8 -0
  22. package/dist/reasoning/automata/index.d.ts.map +1 -0
  23. package/dist/reasoning/automata/index.js +64 -0
  24. package/dist/reasoning/automata/index.js.map +1 -0
  25. package/dist/reasoning/automata/languages.d.ts +10 -0
  26. package/dist/reasoning/automata/languages.d.ts.map +1 -0
  27. package/dist/reasoning/automata/languages.js +78 -0
  28. package/dist/reasoning/automata/languages.js.map +1 -0
  29. package/dist/reasoning/automata/nfa.d.ts +8 -0
  30. package/dist/reasoning/automata/nfa.d.ts.map +1 -0
  31. package/dist/reasoning/automata/nfa.js +122 -0
  32. package/dist/reasoning/automata/nfa.js.map +1 -0
  33. package/dist/reasoning/automata/pda.d.ts +10 -0
  34. package/dist/reasoning/automata/pda.d.ts.map +1 -0
  35. package/dist/reasoning/automata/pda.js +169 -0
  36. package/dist/reasoning/automata/pda.js.map +1 -0
  37. package/dist/reasoning/automata/regex.d.ts +6 -0
  38. package/dist/reasoning/automata/regex.d.ts.map +1 -0
  39. package/dist/reasoning/automata/regex.js +259 -0
  40. package/dist/reasoning/automata/regex.js.map +1 -0
  41. package/dist/reasoning/automata/types.d.ts +69 -0
  42. package/dist/reasoning/automata/types.d.ts.map +1 -0
  43. package/dist/reasoning/automata/types.js +29 -0
  44. package/dist/reasoning/automata/types.js.map +1 -0
  45. package/dist/reasoning/computability/index.d.ts +239 -0
  46. package/dist/reasoning/computability/index.d.ts.map +1 -0
  47. package/dist/reasoning/computability/index.js +851 -0
  48. package/dist/reasoning/computability/index.js.map +1 -0
  49. package/dist/reasoning/number-theory/crt.d.ts +9 -0
  50. package/dist/reasoning/number-theory/crt.d.ts.map +1 -0
  51. package/dist/reasoning/number-theory/crt.js +39 -0
  52. package/dist/reasoning/number-theory/crt.js.map +1 -0
  53. package/dist/reasoning/number-theory/diophantine.d.ts +10 -0
  54. package/dist/reasoning/number-theory/diophantine.d.ts.map +1 -0
  55. package/dist/reasoning/number-theory/diophantine.js +87 -0
  56. package/dist/reasoning/number-theory/diophantine.js.map +1 -0
  57. package/dist/reasoning/number-theory/factorization.d.ts +12 -0
  58. package/dist/reasoning/number-theory/factorization.d.ts.map +1 -0
  59. package/dist/reasoning/number-theory/factorization.js +136 -0
  60. package/dist/reasoning/number-theory/factorization.js.map +1 -0
  61. package/dist/reasoning/number-theory/gcd.d.ts +8 -0
  62. package/dist/reasoning/number-theory/gcd.d.ts.map +1 -0
  63. package/dist/reasoning/number-theory/gcd.js +51 -0
  64. package/dist/reasoning/number-theory/gcd.js.map +1 -0
  65. package/dist/reasoning/number-theory/index.d.ts +9 -0
  66. package/dist/reasoning/number-theory/index.d.ts.map +1 -0
  67. package/dist/reasoning/number-theory/index.js +46 -0
  68. package/dist/reasoning/number-theory/index.js.map +1 -0
  69. package/dist/reasoning/number-theory/modular.d.ts +6 -0
  70. package/dist/reasoning/number-theory/modular.d.ts.map +1 -0
  71. package/dist/reasoning/number-theory/modular.js +75 -0
  72. package/dist/reasoning/number-theory/modular.js.map +1 -0
  73. package/dist/reasoning/number-theory/primality.d.ts +6 -0
  74. package/dist/reasoning/number-theory/primality.d.ts.map +1 -0
  75. package/dist/reasoning/number-theory/primality.js +144 -0
  76. package/dist/reasoning/number-theory/primality.js.map +1 -0
  77. package/dist/reasoning/number-theory/symbols.d.ts +3 -0
  78. package/dist/reasoning/number-theory/symbols.d.ts.map +1 -0
  79. package/dist/reasoning/number-theory/symbols.js +57 -0
  80. package/dist/reasoning/number-theory/symbols.js.map +1 -0
  81. package/dist/reasoning/real-analysis/index.d.ts +127 -0
  82. package/dist/reasoning/real-analysis/index.d.ts.map +1 -0
  83. package/dist/reasoning/real-analysis/index.js +638 -0
  84. package/dist/reasoning/real-analysis/index.js.map +1 -0
  85. package/dist/reasoning/topology/index.d.ts +41 -0
  86. package/dist/reasoning/topology/index.d.ts.map +1 -0
  87. package/dist/reasoning/topology/index.js +739 -0
  88. package/dist/reasoning/topology/index.js.map +1 -0
  89. package/dist/tests/logic/profiles/natural-deduction-nk/nk.test.d.ts +2 -0
  90. package/dist/tests/logic/profiles/natural-deduction-nk/nk.test.d.ts.map +1 -0
  91. package/dist/tests/logic/profiles/natural-deduction-nk/nk.test.js +288 -0
  92. package/dist/tests/logic/profiles/natural-deduction-nk/nk.test.js.map +1 -0
  93. package/dist/tests/reasoning/automata/automata.test.d.ts +2 -0
  94. package/dist/tests/reasoning/automata/automata.test.d.ts.map +1 -0
  95. package/dist/tests/reasoning/automata/automata.test.js +310 -0
  96. package/dist/tests/reasoning/automata/automata.test.js.map +1 -0
  97. package/dist/tests/reasoning/computability/computability.test.d.ts +2 -0
  98. package/dist/tests/reasoning/computability/computability.test.d.ts.map +1 -0
  99. package/dist/tests/reasoning/computability/computability.test.js +246 -0
  100. package/dist/tests/reasoning/computability/computability.test.js.map +1 -0
  101. package/dist/tests/reasoning/number-theory/number-theory.test.d.ts +2 -0
  102. package/dist/tests/reasoning/number-theory/number-theory.test.d.ts.map +1 -0
  103. package/dist/tests/reasoning/number-theory/number-theory.test.js +170 -0
  104. package/dist/tests/reasoning/number-theory/number-theory.test.js.map +1 -0
  105. package/dist/tests/reasoning/real-analysis/real-analysis.test.d.ts +2 -0
  106. package/dist/tests/reasoning/real-analysis/real-analysis.test.d.ts.map +1 -0
  107. package/dist/tests/reasoning/real-analysis/real-analysis.test.js +197 -0
  108. package/dist/tests/reasoning/real-analysis/real-analysis.test.js.map +1 -0
  109. package/dist/tests/reasoning/topology/topology.test.d.ts +2 -0
  110. package/dist/tests/reasoning/topology/topology.test.d.ts.map +1 -0
  111. package/dist/tests/reasoning/topology/topology.test.js +327 -0
  112. package/dist/tests/reasoning/topology/topology.test.js.map +1 -0
  113. package/dist/tests/tooling/exporters/lean4/lean4-exporter.test.d.ts +2 -0
  114. package/dist/tests/tooling/exporters/lean4/lean4-exporter.test.d.ts.map +1 -0
  115. package/dist/tests/tooling/exporters/lean4/lean4-exporter.test.js +473 -0
  116. package/dist/tests/tooling/exporters/lean4/lean4-exporter.test.js.map +1 -0
  117. package/dist/tooling/exporters/lean4/index.d.ts +47 -0
  118. package/dist/tooling/exporters/lean4/index.d.ts.map +1 -0
  119. package/dist/tooling/exporters/lean4/index.js +423 -0
  120. package/dist/tooling/exporters/lean4/index.js.map +1 -0
  121. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reasoning/computability/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface Congruence {
2
+ remainder: bigint;
3
+ modulus: bigint;
4
+ }
5
+ export declare function crt(congruences: Congruence[]): {
6
+ solution: bigint;
7
+ modulus: bigint;
8
+ } | null;
9
+ //# sourceMappingURL=crt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crt.d.ts","sourceRoot":"","sources":["../../../src/reasoning/number-theory/crt.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAuB3F"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Chinese Remainder Theorem generalizado.
4
+ // ============================================================
5
+ // Resuelve un sistema de congruencias { x ≡ r_i (mod m_i) }.
6
+ // No exige módulos coprimos: si hay módulos compartidos, fusiona
7
+ // usando Bézout y devuelve null si el sistema es inconsistente.
8
+ // Resultado: solución mínima no-negativa y módulo combinado lcm(m_i).
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.crt = crt;
11
+ const gcd_1 = require("./gcd");
12
+ const modular_1 = require("./modular");
13
+ function crt(congruences) {
14
+ if (congruences.length === 0)
15
+ return { solution: 0n, modulus: 1n };
16
+ for (const c of congruences) {
17
+ if (c.modulus <= 0n) {
18
+ throw new RangeError(`modulus must be positive, got ${c.modulus}`);
19
+ }
20
+ }
21
+ const first = congruences[0];
22
+ let solution = (0, modular_1.mod)(first.remainder, first.modulus);
23
+ let modulus = first.modulus;
24
+ for (let i = 1; i < congruences.length; i++) {
25
+ const c = congruences[i];
26
+ const r2 = (0, modular_1.mod)(c.remainder, c.modulus);
27
+ const m2 = c.modulus;
28
+ const { gcd: g, x } = (0, gcd_1.extendedGcd)(modulus, m2);
29
+ const diff = r2 - solution;
30
+ if (diff % g !== 0n)
31
+ return null;
32
+ const lcm = (modulus / g) * m2;
33
+ const step = (diff / g) * x;
34
+ solution = (0, modular_1.mod)(solution + modulus * step, lcm);
35
+ modulus = lcm;
36
+ }
37
+ return { solution, modulus };
38
+ }
39
+ //# sourceMappingURL=crt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crt.js","sourceRoot":"","sources":["../../../src/reasoning/number-theory/crt.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,0CAA0C;AAC1C,+DAA+D;AAC/D,6DAA6D;AAC7D,iEAAiE;AACjE,gEAAgE;AAChE,sEAAsE;;AAUtE,kBAuBC;AA/BD,+BAAoC;AACpC,uCAAgC;AAOhC,SAAgB,GAAG,CAAC,WAAyB;IAC3C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnE,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,QAAQ,GAAG,IAAA,aAAG,EAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,IAAA,aAAG,EAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAA,iBAAW,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,CAAC;QAC3B,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,QAAQ,GAAG,IAAA,aAAG,EAAC,QAAQ,GAAG,OAAO,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,OAAO,GAAG,GAAG,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function linearDiophantine(a: bigint, b: bigint, c: bigint): {
2
+ x: bigint;
3
+ y: bigint;
4
+ } | null;
5
+ export declare function continuedFractionExpansion(num: bigint, den: bigint, maxLen?: number): bigint[];
6
+ export declare function fromContinuedFraction(coefs: bigint[]): {
7
+ num: bigint;
8
+ den: bigint;
9
+ };
10
+ //# sourceMappingURL=diophantine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diophantine.d.ts","sourceRoot":"","sources":["../../../src/reasoning/number-theory/diophantine.ts"],"names":[],"mappings":"AAUA,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkBjC;AAID,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,MAAM,EAAE,CA0B1F;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAmBnF"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Diofantinas lineales y fracciones continuas.
4
+ // ============================================================
5
+ // linearDiophantine — soluciona a·x + b·y = c sobre enteros.
6
+ // continuedFractionExpansion — coeficientes de la expansión simple
7
+ // de num/den (Euclides clásico).
8
+ // fromContinuedFraction — reconstruye num/den a partir de [a0;a1,...].
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.linearDiophantine = linearDiophantine;
11
+ exports.continuedFractionExpansion = continuedFractionExpansion;
12
+ exports.fromContinuedFraction = fromContinuedFraction;
13
+ const gcd_1 = require("./gcd");
14
+ function linearDiophantine(a, b, c) {
15
+ if (a === 0n && b === 0n) {
16
+ if (c === 0n)
17
+ return { x: 0n, y: 0n };
18
+ return null;
19
+ }
20
+ if (a === 0n) {
21
+ if (c % b !== 0n)
22
+ return null;
23
+ return { x: 0n, y: c / b };
24
+ }
25
+ if (b === 0n) {
26
+ if (c % a !== 0n)
27
+ return null;
28
+ return { x: c / a, y: 0n };
29
+ }
30
+ const g = (0, gcd_1.gcd)(a, b);
31
+ if (c % g !== 0n)
32
+ return null;
33
+ const { x, y } = (0, gcd_1.extendedGcd)(a, b);
34
+ const factor = c / g;
35
+ return { x: x * factor, y: y * factor };
36
+ }
37
+ // Expansión simple de num/den. Soporta numeradores negativos
38
+ // devolviendo el cociente "floor" en a0 (estándar matemático).
39
+ function continuedFractionExpansion(num, den, maxLen = 64) {
40
+ if (den === 0n) {
41
+ throw new RangeError('continuedFractionExpansion: denominador 0');
42
+ }
43
+ let p = num;
44
+ let q = den;
45
+ // Normalizamos q > 0 para que floor sea consistente.
46
+ if (q < 0n) {
47
+ p = -p;
48
+ q = -q;
49
+ }
50
+ const result = [];
51
+ for (let i = 0; i < maxLen; i++) {
52
+ // Floor division: dividend = q * a + r, 0 <= r < q.
53
+ let a = p / q;
54
+ let r = p % q;
55
+ if (r < 0n) {
56
+ a -= 1n;
57
+ r += q;
58
+ }
59
+ result.push(a);
60
+ if (r === 0n)
61
+ return result;
62
+ p = q;
63
+ q = r;
64
+ }
65
+ return result;
66
+ }
67
+ function fromContinuedFraction(coefs) {
68
+ if (coefs.length === 0) {
69
+ throw new RangeError('fromContinuedFraction: array vacío');
70
+ }
71
+ // Recurrencia clásica: h_n = a_n·h_{n-1} + h_{n-2}; k similar.
72
+ // h_{-1}=1, h_{-2}=0, k_{-1}=0, k_{-2}=1.
73
+ let hPrev = 1n;
74
+ let hPrev2 = 0n;
75
+ let kPrev = 0n;
76
+ let kPrev2 = 1n;
77
+ for (const a of coefs) {
78
+ const h = a * hPrev + hPrev2;
79
+ const k = a * kPrev + kPrev2;
80
+ hPrev2 = hPrev;
81
+ hPrev = h;
82
+ kPrev2 = kPrev;
83
+ kPrev = k;
84
+ }
85
+ return { num: hPrev, den: kPrev };
86
+ }
87
+ //# sourceMappingURL=diophantine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diophantine.js","sourceRoot":"","sources":["../../../src/reasoning/number-theory/diophantine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { modPow } from './modular';
2
+ export declare function factorize(n: bigint): Array<{
3
+ prime: bigint;
4
+ exponent: number;
5
+ }>;
6
+ export declare function divisors(n: bigint): bigint[];
7
+ export declare function eulerPhi(n: bigint): bigint;
8
+ export declare function mobius(n: bigint): -1 | 0 | 1;
9
+ export declare const _internal: {
10
+ modPow: typeof modPow;
11
+ };
12
+ //# sourceMappingURL=factorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factorization.d.ts","sourceRoot":"","sources":["../../../src/reasoning/number-theory/factorization.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAwBnC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAsC/E;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB5C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAU1C;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAU5C;AAID,eAAO,MAAM,SAAS;;CAAa,CAAC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Factorización entera y funciones aritméticas derivadas.
4
+ // ============================================================
5
+ // factorize — combina trial-division (hasta primos pequeños),
6
+ // Miller-Rabin y Pollard's rho con polinomio
7
+ // x^2 + c para factores grandes.
8
+ // divisors — todos los divisores positivos en orden creciente.
9
+ // eulerPhi — totient de Euler: φ(n) = n · ∏ (1 - 1/p).
10
+ // mobius — función de Möbius: 0 si hay primo al cuadrado,
11
+ // (-1)^k si n = p1·...·pk con todos distintos.
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports._internal = void 0;
14
+ exports.factorize = factorize;
15
+ exports.divisors = divisors;
16
+ exports.eulerPhi = eulerPhi;
17
+ exports.mobius = mobius;
18
+ const gcd_1 = require("./gcd");
19
+ const primality_1 = require("./primality");
20
+ const modular_1 = require("./modular");
21
+ const absBig = (n) => (n < 0n ? -n : n);
22
+ // Pollard's rho con polinomio f(x) = x^2 + c (mod n).
23
+ // Reinicia con c distinto si converge a un factor trivial.
24
+ function pollardRho(n) {
25
+ if (n % 2n === 0n)
26
+ return 2n;
27
+ for (let c = 1n;; c++) {
28
+ let x = 2n;
29
+ let y = 2n;
30
+ let d = 1n;
31
+ const f = (z) => (z * z + c) % n;
32
+ while (d === 1n) {
33
+ x = f(x);
34
+ y = f(f(y));
35
+ const diff = x > y ? x - y : y - x;
36
+ d = (0, gcd_1.gcd)(diff, n);
37
+ }
38
+ if (d !== n)
39
+ return d;
40
+ // Trivial cycle: reintentar con otro c.
41
+ }
42
+ }
43
+ function factorize(n) {
44
+ if (n <= 0n) {
45
+ throw new RangeError(`factorize: requiere n > 0, recibido ${n}`);
46
+ }
47
+ if (n === 1n)
48
+ return [];
49
+ const result = new Map();
50
+ const addFactor = (p, k = 1) => {
51
+ const prev = result.get(p) ?? 0;
52
+ result.set(p, prev + k);
53
+ };
54
+ let m = n;
55
+ // Trial division por primos pequeños (≤ 1000) cubre la mayoría
56
+ // de casos de tests y deja al rho los factores grandes.
57
+ for (let p = 2n; p < 1000n; p++) {
58
+ if (m === 1n)
59
+ break;
60
+ while (m % p === 0n) {
61
+ addFactor(p);
62
+ m /= p;
63
+ }
64
+ }
65
+ // Resto factorizable: stack-based (rho recursivo via iterativo).
66
+ const stack = [];
67
+ if (m > 1n)
68
+ stack.push(m);
69
+ while (stack.length > 0) {
70
+ const cur = stack.pop();
71
+ if (cur === undefined || cur === 1n)
72
+ continue;
73
+ if ((0, primality_1.isPrime)(cur)) {
74
+ addFactor(cur);
75
+ continue;
76
+ }
77
+ let f = pollardRho(cur);
78
+ while (f === cur)
79
+ f = pollardRho(cur);
80
+ stack.push(f);
81
+ stack.push(cur / f);
82
+ }
83
+ return Array.from(result.entries())
84
+ .sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0))
85
+ .map(([prime, exponent]) => ({ prime, exponent }));
86
+ }
87
+ function divisors(n) {
88
+ const a = absBig(n);
89
+ if (a === 0n) {
90
+ throw new RangeError('divisors(0) no está definido');
91
+ }
92
+ if (a === 1n)
93
+ return [1n];
94
+ const factors = factorize(a);
95
+ let result = [1n];
96
+ for (const { prime, exponent } of factors) {
97
+ const next = [];
98
+ let pk = 1n;
99
+ for (let k = 0; k <= exponent; k++) {
100
+ for (const d of result)
101
+ next.push(d * pk);
102
+ pk *= prime;
103
+ }
104
+ result = next;
105
+ }
106
+ return result.sort((a, b) => (a < b ? -1 : a > b ? 1 : 0));
107
+ }
108
+ function eulerPhi(n) {
109
+ if (n <= 0n) {
110
+ throw new RangeError(`eulerPhi: requiere n > 0, recibido ${n}`);
111
+ }
112
+ if (n === 1n)
113
+ return 1n;
114
+ let result = n;
115
+ for (const { prime } of factorize(n)) {
116
+ result = (result / prime) * (prime - 1n);
117
+ }
118
+ return result;
119
+ }
120
+ function mobius(n) {
121
+ if (n <= 0n) {
122
+ throw new RangeError(`mobius: requiere n > 0, recibido ${n}`);
123
+ }
124
+ if (n === 1n)
125
+ return 1;
126
+ const factors = factorize(n);
127
+ for (const { exponent } of factors) {
128
+ if (exponent >= 2)
129
+ return 0;
130
+ }
131
+ return factors.length % 2 === 0 ? 1 : -1;
132
+ }
133
+ // Helper para tests de millerRabin con Mersenne grandes — no exportado.
134
+ // (kept here only as a comment-anchor for the team)
135
+ exports._internal = { modPow: modular_1.modPow };
136
+ //# sourceMappingURL=factorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factorization.js","sourceRoot":"","sources":["../../../src/reasoning/number-theory/factorization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare function gcd(a: bigint, b: bigint): bigint;
2
+ export declare function lcm(a: bigint, b: bigint): bigint;
3
+ export declare function extendedGcd(a: bigint, b: bigint): {
4
+ gcd: bigint;
5
+ x: bigint;
6
+ y: bigint;
7
+ };
8
+ //# sourceMappingURL=gcd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gcd.d.ts","sourceRoot":"","sources":["../../../src/reasoning/number-theory/gcd.ts"],"names":[],"mappings":"AAUA,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAShD;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhD;AAKD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBvF"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // gcd, lcm y algoritmo extendido sobre bigint.
4
+ // ============================================================
5
+ // gcd(a,b) por Euclides binario-aritmético, siempre no-negativo.
6
+ // extendedGcd devuelve coeficientes Bézout (x,y) con a·x + b·y = gcd.
7
+ // Convención: para a=b=0 el gcd es 0 (consistente con álgebra
8
+ // conmutativa: el único divisor común es 0).
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.gcd = gcd;
11
+ exports.lcm = lcm;
12
+ exports.extendedGcd = extendedGcd;
13
+ const absBig = (n) => (n < 0n ? -n : n);
14
+ function gcd(a, b) {
15
+ let x = absBig(a);
16
+ let y = absBig(b);
17
+ while (y !== 0n) {
18
+ const r = x % y;
19
+ x = y;
20
+ y = r;
21
+ }
22
+ return x;
23
+ }
24
+ function lcm(a, b) {
25
+ if (a === 0n || b === 0n)
26
+ return 0n;
27
+ const g = gcd(a, b);
28
+ return absBig((a / g) * b);
29
+ }
30
+ // Extended Euclidean algorithm.
31
+ // Garantiza: a·x + b·y = gcd(a,b) (con signo original conservado).
32
+ // Si a o b son negativos, x/y se ajustan automáticamente.
33
+ function extendedGcd(a, b) {
34
+ // Trabajamos con valores absolutos y ajustamos signos al final.
35
+ const signA = a < 0n ? -1n : 1n;
36
+ const signB = b < 0n ? -1n : 1n;
37
+ let oldR = absBig(a);
38
+ let r = absBig(b);
39
+ let oldS = 1n;
40
+ let s = 0n;
41
+ let oldT = 0n;
42
+ let t = 1n;
43
+ while (r !== 0n) {
44
+ const q = oldR / r;
45
+ [oldR, r] = [r, oldR - q * r];
46
+ [oldS, s] = [s, oldS - q * s];
47
+ [oldT, t] = [t, oldT - q * t];
48
+ }
49
+ return { gcd: oldR, x: oldS * signA, y: oldT * signB };
50
+ }
51
+ //# sourceMappingURL=gcd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gcd.js","sourceRoot":"","sources":["../../../src/reasoning/number-theory/gcd.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,+CAA+C;AAC/C,+DAA+D;AAC/D,iEAAiE;AACjE,sEAAsE;AACtE,8DAA8D;AAC9D,6CAA6C;;AAI7C,kBASC;AAED,kBAIC;AAKD,kCAiBC;AAvCD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAExD,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,GAAG,CAAC,CAAC;QACN,CAAC,GAAG,CAAC,CAAC;IACR,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,gCAAgC;AAChC,mEAAmE;AACnE,0DAA0D;AAC1D,SAAgB,WAAW,CAAC,CAAS,EAAE,CAAS;IAC9C,gEAAgE;IAChE,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,CAAC;AACzD,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { gcd, lcm, extendedGcd } from './gcd';
2
+ export { modPow, modInverse, modSolve } from './modular';
3
+ export type { Congruence } from './crt';
4
+ export { crt } from './crt';
5
+ export { isPrime, millerRabin, nextPrime, previousPrime, primesBelow } from './primality';
6
+ export { factorize, divisors, eulerPhi, mobius } from './factorization';
7
+ export { linearDiophantine, continuedFractionExpansion, fromContinuedFraction, } from './diophantine';
8
+ export { legendreSymbol, jacobiSymbol } from './symbols';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reasoning/number-theory/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Number Theory — barrel público.
4
+ // ============================================================
5
+ // Primitivas:
6
+ // gcd / lcm / extendedGcd — Euclides + Bézout.
7
+ // modPow / modInverse / modSolve — aritmética modular.
8
+ // crt — Chinese Remainder generalizado.
9
+ // isPrime / millerRabin — primalidad determinístico-ish.
10
+ // nextPrime / previousPrime / primesBelow
11
+ // factorize / divisors / eulerPhi / mobius
12
+ // linearDiophantine — Bézout sobre ax+by=c.
13
+ // continuedFractionExpansion / fromContinuedFraction
14
+ // legendreSymbol / jacobiSymbol — residuos cuadráticos.
15
+ // ============================================================
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.jacobiSymbol = exports.legendreSymbol = exports.fromContinuedFraction = exports.continuedFractionExpansion = exports.linearDiophantine = exports.mobius = exports.eulerPhi = exports.divisors = exports.factorize = exports.primesBelow = exports.previousPrime = exports.nextPrime = exports.millerRabin = exports.isPrime = exports.crt = exports.modSolve = exports.modInverse = exports.modPow = exports.extendedGcd = exports.lcm = exports.gcd = void 0;
18
+ var gcd_1 = require("./gcd");
19
+ Object.defineProperty(exports, "gcd", { enumerable: true, get: function () { return gcd_1.gcd; } });
20
+ Object.defineProperty(exports, "lcm", { enumerable: true, get: function () { return gcd_1.lcm; } });
21
+ Object.defineProperty(exports, "extendedGcd", { enumerable: true, get: function () { return gcd_1.extendedGcd; } });
22
+ var modular_1 = require("./modular");
23
+ Object.defineProperty(exports, "modPow", { enumerable: true, get: function () { return modular_1.modPow; } });
24
+ Object.defineProperty(exports, "modInverse", { enumerable: true, get: function () { return modular_1.modInverse; } });
25
+ Object.defineProperty(exports, "modSolve", { enumerable: true, get: function () { return modular_1.modSolve; } });
26
+ var crt_1 = require("./crt");
27
+ Object.defineProperty(exports, "crt", { enumerable: true, get: function () { return crt_1.crt; } });
28
+ var primality_1 = require("./primality");
29
+ Object.defineProperty(exports, "isPrime", { enumerable: true, get: function () { return primality_1.isPrime; } });
30
+ Object.defineProperty(exports, "millerRabin", { enumerable: true, get: function () { return primality_1.millerRabin; } });
31
+ Object.defineProperty(exports, "nextPrime", { enumerable: true, get: function () { return primality_1.nextPrime; } });
32
+ Object.defineProperty(exports, "previousPrime", { enumerable: true, get: function () { return primality_1.previousPrime; } });
33
+ Object.defineProperty(exports, "primesBelow", { enumerable: true, get: function () { return primality_1.primesBelow; } });
34
+ var factorization_1 = require("./factorization");
35
+ Object.defineProperty(exports, "factorize", { enumerable: true, get: function () { return factorization_1.factorize; } });
36
+ Object.defineProperty(exports, "divisors", { enumerable: true, get: function () { return factorization_1.divisors; } });
37
+ Object.defineProperty(exports, "eulerPhi", { enumerable: true, get: function () { return factorization_1.eulerPhi; } });
38
+ Object.defineProperty(exports, "mobius", { enumerable: true, get: function () { return factorization_1.mobius; } });
39
+ var diophantine_1 = require("./diophantine");
40
+ Object.defineProperty(exports, "linearDiophantine", { enumerable: true, get: function () { return diophantine_1.linearDiophantine; } });
41
+ Object.defineProperty(exports, "continuedFractionExpansion", { enumerable: true, get: function () { return diophantine_1.continuedFractionExpansion; } });
42
+ Object.defineProperty(exports, "fromContinuedFraction", { enumerable: true, get: function () { return diophantine_1.fromContinuedFraction; } });
43
+ var symbols_1 = require("./symbols");
44
+ Object.defineProperty(exports, "legendreSymbol", { enumerable: true, get: function () { return symbols_1.legendreSymbol; } });
45
+ Object.defineProperty(exports, "jacobiSymbol", { enumerable: true, get: function () { return symbols_1.jacobiSymbol; } });
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reasoning/number-theory/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,qCAAqC;AACrC,+DAA+D;AAC/D,cAAc;AACd,4DAA4D;AAC5D,6DAA6D;AAC7D,yEAAyE;AACzE,wEAAwE;AACxE,4CAA4C;AAC5C,6CAA6C;AAC7C,+DAA+D;AAC/D,uDAAuD;AACvD,+DAA+D;AAC/D,+DAA+D;;;AAE/D,6BAA8C;AAArC,0FAAA,GAAG,OAAA;AAAE,0FAAA,GAAG,OAAA;AAAE,kGAAA,WAAW,OAAA;AAC9B,qCAAyD;AAAhD,iGAAA,MAAM,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAErC,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,yCAA0F;AAAjF,oGAAA,OAAO,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,wGAAA,WAAW,OAAA;AACpE,iDAAwE;AAA/D,0GAAA,SAAS,OAAA;AAAE,yGAAA,QAAQ,OAAA;AAAE,yGAAA,QAAQ,OAAA;AAAE,uGAAA,MAAM,OAAA;AAC9C,6CAIuB;AAHrB,gHAAA,iBAAiB,OAAA;AACjB,yHAAA,0BAA0B,OAAA;AAC1B,oHAAA,qBAAqB,OAAA;AAEvB,qCAAyD;AAAhD,yGAAA,cAAc,OAAA;AAAE,uGAAA,YAAY,OAAA"}
@@ -0,0 +1,6 @@
1
+ declare function mod(a: bigint, m: bigint): bigint;
2
+ export declare function modPow(base: bigint, exp: bigint, m: bigint): bigint;
3
+ export declare function modInverse(a: bigint, m: bigint): bigint | null;
4
+ export declare function modSolve(a: bigint, b: bigint, m: bigint): bigint | null;
5
+ export { mod };
6
+ //# sourceMappingURL=modular.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modular.d.ts","sourceRoot":"","sources":["../../../src/reasoning/number-theory/modular.ts"],"names":[],"mappings":"AAUA,iBAAS,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAMzC;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBnE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO9D;AAID,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcvE;AAGD,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Aritmética modular sobre bigint.
4
+ // ============================================================
5
+ // modPow — exponenciación modular por squaring.
6
+ // modInverse — inverso multiplicativo usando Bézout (null si no existe).
7
+ // modSolve — resuelve a·x ≡ b (mod m) (null si no hay solución).
8
+ // Convención: el resultado siempre vive en [0, m) cuando m > 0.
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.modPow = modPow;
11
+ exports.modInverse = modInverse;
12
+ exports.modSolve = modSolve;
13
+ exports.mod = mod;
14
+ const gcd_1 = require("./gcd");
15
+ function mod(a, m) {
16
+ if (m <= 0n) {
17
+ throw new RangeError(`modulus must be positive, got ${m}`);
18
+ }
19
+ const r = a % m;
20
+ return r < 0n ? r + m : r;
21
+ }
22
+ function modPow(base, exp, m) {
23
+ if (m <= 0n) {
24
+ throw new RangeError(`modulus must be positive, got ${m}`);
25
+ }
26
+ if (m === 1n)
27
+ return 0n;
28
+ if (exp < 0n) {
29
+ // a^(-k) mod m = (a^-1)^k mod m (si a^-1 existe).
30
+ const inv = modInverse(base, m);
31
+ if (inv === null) {
32
+ throw new RangeError(`modPow: base ${base} no invertible mod ${m}`);
33
+ }
34
+ return modPow(inv, -exp, m);
35
+ }
36
+ let result = 1n;
37
+ let b = mod(base, m);
38
+ let e = exp;
39
+ while (e > 0n) {
40
+ if ((e & 1n) === 1n)
41
+ result = (result * b) % m;
42
+ e >>= 1n;
43
+ b = (b * b) % m;
44
+ }
45
+ return result;
46
+ }
47
+ function modInverse(a, m) {
48
+ if (m <= 0n) {
49
+ throw new RangeError(`modulus must be positive, got ${m}`);
50
+ }
51
+ const { gcd: g, x } = (0, gcd_1.extendedGcd)(mod(a, m), m);
52
+ if (g !== 1n)
53
+ return null;
54
+ return mod(x, m);
55
+ }
56
+ // Resuelve a·x ≡ b (mod m). Solución única (mod m/gcd) cuando existe.
57
+ // Devolvemos la solución mínima no-negativa.
58
+ function modSolve(a, b, m) {
59
+ if (m <= 0n) {
60
+ throw new RangeError(`modulus must be positive, got ${m}`);
61
+ }
62
+ const aR = mod(a, m);
63
+ const bR = mod(b, m);
64
+ const g = (0, gcd_1.gcd)(aR, m);
65
+ if (bR % g !== 0n)
66
+ return null;
67
+ const aR2 = aR / g;
68
+ const bR2 = bR / g;
69
+ const m2 = m / g;
70
+ const inv = modInverse(aR2, m2);
71
+ if (inv === null)
72
+ return null;
73
+ return mod(bR2 * inv, m2);
74
+ }
75
+ //# sourceMappingURL=modular.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modular.js","sourceRoot":"","sources":["../../../src/reasoning/number-theory/modular.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,mCAAmC;AACnC,+DAA+D;AAC/D,qDAAqD;AACrD,0EAA0E;AAC1E,oEAAoE;AACpE,gEAAgE;;AAYhE,wBAsBC;AAED,gCAOC;AAID,4BAcC;AAGQ,kBAAG;AA9DZ,+BAAyC;AAEzC,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS;IAC/B,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,MAAM,CAAC,IAAY,EAAE,GAAW,EAAE,CAAS;IACzD,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;QACb,mDAAmD;QACnD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,UAAU,CAAC,gBAAgB,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACd,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE;YAAE,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC,KAAK,EAAE,CAAC;QACT,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,UAAU,CAAC,CAAS,EAAE,CAAS;IAC7C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAA,iBAAW,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,sEAAsE;AACtE,6CAA6C;AAC7C,SAAgB,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACtD,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,IAAA,SAAG,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IACnB,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function millerRabin(n: bigint, witnesses?: bigint[]): boolean;
2
+ export declare function isPrime(n: bigint): boolean;
3
+ export declare function nextPrime(n: bigint): bigint;
4
+ export declare function previousPrime(n: bigint): bigint;
5
+ export declare function primesBelow(n: number): bigint[];
6
+ //# sourceMappingURL=primality.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primality.d.ts","sourceRoot":"","sources":["../../../src/reasoning/number-theory/primality.ts"],"names":[],"mappings":"AA4CA,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,EAAsB,GAAG,OAAO,CAuBvF;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAO1C;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAa/C;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB/C"}