@stevenvo780/st-lang 4.11.0 → 4.12.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 (209) hide show
  1. package/dist/proof-systems/fol-prover-advanced/index.d.ts +7 -0
  2. package/dist/proof-systems/fol-prover-advanced/index.d.ts.map +1 -0
  3. package/dist/proof-systems/fol-prover-advanced/index.js +34 -0
  4. package/dist/proof-systems/fol-prover-advanced/index.js.map +1 -0
  5. package/dist/proof-systems/fol-prover-advanced/ordering.d.ts +34 -0
  6. package/dist/proof-systems/fol-prover-advanced/ordering.d.ts.map +1 -0
  7. package/dist/proof-systems/fol-prover-advanced/ordering.js +197 -0
  8. package/dist/proof-systems/fol-prover-advanced/ordering.js.map +1 -0
  9. package/dist/proof-systems/fol-prover-advanced/prover.d.ts +22 -0
  10. package/dist/proof-systems/fol-prover-advanced/prover.d.ts.map +1 -0
  11. package/dist/proof-systems/fol-prover-advanced/prover.js +219 -0
  12. package/dist/proof-systems/fol-prover-advanced/prover.js.map +1 -0
  13. package/dist/proof-systems/fol-prover-advanced/resolve.d.ts +43 -0
  14. package/dist/proof-systems/fol-prover-advanced/resolve.d.ts.map +1 -0
  15. package/dist/proof-systems/fol-prover-advanced/resolve.js +297 -0
  16. package/dist/proof-systems/fol-prover-advanced/resolve.js.map +1 -0
  17. package/dist/proof-systems/fol-prover-advanced/subsumption.d.ts +28 -0
  18. package/dist/proof-systems/fol-prover-advanced/subsumption.d.ts.map +1 -0
  19. package/dist/proof-systems/fol-prover-advanced/subsumption.js +172 -0
  20. package/dist/proof-systems/fol-prover-advanced/subsumption.js.map +1 -0
  21. package/dist/proof-systems/fol-prover-advanced/types.d.ts +68 -0
  22. package/dist/proof-systems/fol-prover-advanced/types.d.ts.map +1 -0
  23. package/dist/proof-systems/fol-prover-advanced/types.js +12 -0
  24. package/dist/proof-systems/fol-prover-advanced/types.js.map +1 -0
  25. package/dist/proof-systems/fol-prover-advanced/unify.d.ts +15 -0
  26. package/dist/proof-systems/fol-prover-advanced/unify.d.ts.map +1 -0
  27. package/dist/proof-systems/fol-prover-advanced/unify.js +144 -0
  28. package/dist/proof-systems/fol-prover-advanced/unify.js.map +1 -0
  29. package/dist/reasoning/combinatorics/basic-counts.d.ts +6 -0
  30. package/dist/reasoning/combinatorics/basic-counts.d.ts.map +1 -0
  31. package/dist/reasoning/combinatorics/basic-counts.js +82 -0
  32. package/dist/reasoning/combinatorics/basic-counts.js.map +1 -0
  33. package/dist/reasoning/combinatorics/bigint-helpers.d.ts +5 -0
  34. package/dist/reasoning/combinatorics/bigint-helpers.d.ts.map +1 -0
  35. package/dist/reasoning/combinatorics/bigint-helpers.js +8 -0
  36. package/dist/reasoning/combinatorics/bigint-helpers.js.map +1 -0
  37. package/dist/reasoning/combinatorics/burnside.d.ts +15 -0
  38. package/dist/reasoning/combinatorics/burnside.d.ts.map +1 -0
  39. package/dist/reasoning/combinatorics/burnside.js +91 -0
  40. package/dist/reasoning/combinatorics/burnside.js.map +1 -0
  41. package/dist/reasoning/combinatorics/generating-functions.d.ts +12 -0
  42. package/dist/reasoning/combinatorics/generating-functions.d.ts.map +1 -0
  43. package/dist/reasoning/combinatorics/generating-functions.js +67 -0
  44. package/dist/reasoning/combinatorics/generating-functions.js.map +1 -0
  45. package/dist/reasoning/combinatorics/generators.d.ts +5 -0
  46. package/dist/reasoning/combinatorics/generators.d.ts.map +1 -0
  47. package/dist/reasoning/combinatorics/generators.js +111 -0
  48. package/dist/reasoning/combinatorics/generators.js.map +1 -0
  49. package/dist/reasoning/combinatorics/inclusion-exclusion.d.ts +8 -0
  50. package/dist/reasoning/combinatorics/inclusion-exclusion.d.ts.map +1 -0
  51. package/dist/reasoning/combinatorics/inclusion-exclusion.js +45 -0
  52. package/dist/reasoning/combinatorics/inclusion-exclusion.js.map +1 -0
  53. package/dist/reasoning/combinatorics/index.d.ts +10 -0
  54. package/dist/reasoning/combinatorics/index.d.ts.map +1 -0
  55. package/dist/reasoning/combinatorics/index.js +44 -0
  56. package/dist/reasoning/combinatorics/index.js.map +1 -0
  57. package/dist/reasoning/combinatorics/partitions.d.ts +4 -0
  58. package/dist/reasoning/combinatorics/partitions.d.ts.map +1 -0
  59. package/dist/reasoning/combinatorics/partitions.js +90 -0
  60. package/dist/reasoning/combinatorics/partitions.js.map +1 -0
  61. package/dist/reasoning/combinatorics/permutations.d.ts +6 -0
  62. package/dist/reasoning/combinatorics/permutations.d.ts.map +1 -0
  63. package/dist/reasoning/combinatorics/permutations.js +124 -0
  64. package/dist/reasoning/combinatorics/permutations.js.map +1 -0
  65. package/dist/reasoning/combinatorics/set-partitions.d.ts +3 -0
  66. package/dist/reasoning/combinatorics/set-partitions.d.ts.map +1 -0
  67. package/dist/reasoning/combinatorics/set-partitions.js +46 -0
  68. package/dist/reasoning/combinatorics/set-partitions.js.map +1 -0
  69. package/dist/reasoning/combinatorics/special-numbers.d.ts +7 -0
  70. package/dist/reasoning/combinatorics/special-numbers.d.ts.map +1 -0
  71. package/dist/reasoning/combinatorics/special-numbers.js +128 -0
  72. package/dist/reasoning/combinatorics/special-numbers.js.map +1 -0
  73. package/dist/reasoning/constructive-analysis/cauchy.d.ts +51 -0
  74. package/dist/reasoning/constructive-analysis/cauchy.d.ts.map +1 -0
  75. package/dist/reasoning/constructive-analysis/cauchy.js +77 -0
  76. package/dist/reasoning/constructive-analysis/cauchy.js.map +1 -0
  77. package/dist/reasoning/constructive-analysis/compact.d.ts +35 -0
  78. package/dist/reasoning/constructive-analysis/compact.d.ts.map +1 -0
  79. package/dist/reasoning/constructive-analysis/compact.js +61 -0
  80. package/dist/reasoning/constructive-analysis/compact.js.map +1 -0
  81. package/dist/reasoning/constructive-analysis/continuity.d.ts +62 -0
  82. package/dist/reasoning/constructive-analysis/continuity.d.ts.map +1 -0
  83. package/dist/reasoning/constructive-analysis/continuity.js +112 -0
  84. package/dist/reasoning/constructive-analysis/continuity.js.map +1 -0
  85. package/dist/reasoning/constructive-analysis/index.d.ts +24 -0
  86. package/dist/reasoning/constructive-analysis/index.d.ts.map +1 -0
  87. package/dist/reasoning/constructive-analysis/index.js +36 -0
  88. package/dist/reasoning/constructive-analysis/index.js.map +1 -0
  89. package/dist/reasoning/constructive-analysis/integral.d.ts +31 -0
  90. package/dist/reasoning/constructive-analysis/integral.d.ts.map +1 -0
  91. package/dist/reasoning/constructive-analysis/integral.js +59 -0
  92. package/dist/reasoning/constructive-analysis/integral.js.map +1 -0
  93. package/dist/reasoning/constructive-analysis/ivt.d.ts +41 -0
  94. package/dist/reasoning/constructive-analysis/ivt.d.ts.map +1 -0
  95. package/dist/reasoning/constructive-analysis/ivt.js +115 -0
  96. package/dist/reasoning/constructive-analysis/ivt.js.map +1 -0
  97. package/dist/reasoning/constructive-reals/index.d.ts +23 -0
  98. package/dist/reasoning/constructive-reals/index.d.ts.map +1 -1
  99. package/dist/reasoning/constructive-reals/index.js +52 -1
  100. package/dist/reasoning/constructive-reals/index.js.map +1 -1
  101. package/dist/reasoning/linear-algebra/index.d.ts +69 -0
  102. package/dist/reasoning/linear-algebra/index.d.ts.map +1 -0
  103. package/dist/reasoning/linear-algebra/index.js +859 -0
  104. package/dist/reasoning/linear-algebra/index.js.map +1 -0
  105. package/dist/reasoning/set-theory/hf-functions.d.ts +35 -0
  106. package/dist/reasoning/set-theory/hf-functions.d.ts.map +1 -0
  107. package/dist/reasoning/set-theory/hf-functions.js +147 -0
  108. package/dist/reasoning/set-theory/hf-functions.js.map +1 -0
  109. package/dist/reasoning/set-theory/hf-sets.d.ts +79 -0
  110. package/dist/reasoning/set-theory/hf-sets.d.ts.map +1 -0
  111. package/dist/reasoning/set-theory/hf-sets.js +338 -0
  112. package/dist/reasoning/set-theory/hf-sets.js.map +1 -0
  113. package/dist/reasoning/set-theory/index.d.ts +7 -0
  114. package/dist/reasoning/set-theory/index.d.ts.map +1 -0
  115. package/dist/reasoning/set-theory/index.js +44 -0
  116. package/dist/reasoning/set-theory/index.js.map +1 -0
  117. package/dist/reasoning/set-theory/zfc-axioms.d.ts +59 -0
  118. package/dist/reasoning/set-theory/zfc-axioms.d.ts.map +1 -0
  119. package/dist/reasoning/set-theory/zfc-axioms.js +245 -0
  120. package/dist/reasoning/set-theory/zfc-axioms.js.map +1 -0
  121. package/dist/tests/proof-systems/fol-prover-advanced/prover.test.d.ts +2 -0
  122. package/dist/tests/proof-systems/fol-prover-advanced/prover.test.d.ts.map +1 -0
  123. package/dist/tests/proof-systems/fol-prover-advanced/prover.test.js +253 -0
  124. package/dist/tests/proof-systems/fol-prover-advanced/prover.test.js.map +1 -0
  125. package/dist/tests/reasoning/combinatorics/combinatorics.test.d.ts +2 -0
  126. package/dist/tests/reasoning/combinatorics/combinatorics.test.d.ts.map +1 -0
  127. package/dist/tests/reasoning/combinatorics/combinatorics.test.js +256 -0
  128. package/dist/tests/reasoning/combinatorics/combinatorics.test.js.map +1 -0
  129. package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.d.ts +2 -0
  130. package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.d.ts.map +1 -0
  131. package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.js +174 -0
  132. package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.js.map +1 -0
  133. package/dist/tests/reasoning/linear-algebra/linear-algebra.test.d.ts +2 -0
  134. package/dist/tests/reasoning/linear-algebra/linear-algebra.test.d.ts.map +1 -0
  135. package/dist/tests/reasoning/linear-algebra/linear-algebra.test.js +369 -0
  136. package/dist/tests/reasoning/linear-algebra/linear-algebra.test.js.map +1 -0
  137. package/dist/tests/reasoning/set-theory/hf-functions.test.d.ts +2 -0
  138. package/dist/tests/reasoning/set-theory/hf-functions.test.d.ts.map +1 -0
  139. package/dist/tests/reasoning/set-theory/hf-functions.test.js +122 -0
  140. package/dist/tests/reasoning/set-theory/hf-functions.test.js.map +1 -0
  141. package/dist/tests/reasoning/set-theory/hf-sets.test.d.ts +2 -0
  142. package/dist/tests/reasoning/set-theory/hf-sets.test.d.ts.map +1 -0
  143. package/dist/tests/reasoning/set-theory/hf-sets.test.js +177 -0
  144. package/dist/tests/reasoning/set-theory/hf-sets.test.js.map +1 -0
  145. package/dist/tests/reasoning/set-theory/zfc-axioms.test.d.ts +2 -0
  146. package/dist/tests/reasoning/set-theory/zfc-axioms.test.d.ts.map +1 -0
  147. package/dist/tests/reasoning/set-theory/zfc-axioms.test.js +56 -0
  148. package/dist/tests/reasoning/set-theory/zfc-axioms.test.js.map +1 -0
  149. package/dist/tests/tooling/doc-gen/doc-gen.test.d.ts +2 -0
  150. package/dist/tests/tooling/doc-gen/doc-gen.test.d.ts.map +1 -0
  151. package/dist/tests/tooling/doc-gen/doc-gen.test.js +350 -0
  152. package/dist/tests/tooling/doc-gen/doc-gen.test.js.map +1 -0
  153. package/dist/tests/tooling/test-harness/test-harness.test.d.ts +2 -0
  154. package/dist/tests/tooling/test-harness/test-harness.test.d.ts.map +1 -0
  155. package/dist/tests/tooling/test-harness/test-harness.test.js +208 -0
  156. package/dist/tests/tooling/test-harness/test-harness.test.js.map +1 -0
  157. package/dist/tooling/doc-gen/extract.d.ts +13 -0
  158. package/dist/tooling/doc-gen/extract.d.ts.map +1 -0
  159. package/dist/tooling/doc-gen/extract.js +379 -0
  160. package/dist/tooling/doc-gen/extract.js.map +1 -0
  161. package/dist/tooling/doc-gen/generate.d.ts +9 -0
  162. package/dist/tooling/doc-gen/generate.d.ts.map +1 -0
  163. package/dist/tooling/doc-gen/generate.js +116 -0
  164. package/dist/tooling/doc-gen/generate.js.map +1 -0
  165. package/dist/tooling/doc-gen/index.d.ts +7 -0
  166. package/dist/tooling/doc-gen/index.d.ts.map +1 -0
  167. package/dist/tooling/doc-gen/index.js +39 -0
  168. package/dist/tooling/doc-gen/index.js.map +1 -0
  169. package/dist/tooling/doc-gen/jsdoc.d.ts +31 -0
  170. package/dist/tooling/doc-gen/jsdoc.d.ts.map +1 -0
  171. package/dist/tooling/doc-gen/jsdoc.js +140 -0
  172. package/dist/tooling/doc-gen/jsdoc.js.map +1 -0
  173. package/dist/tooling/doc-gen/render.d.ts +29 -0
  174. package/dist/tooling/doc-gen/render.d.ts.map +1 -0
  175. package/dist/tooling/doc-gen/render.js +206 -0
  176. package/dist/tooling/doc-gen/render.js.map +1 -0
  177. package/dist/tooling/doc-gen/types.d.ts +51 -0
  178. package/dist/tooling/doc-gen/types.d.ts.map +1 -0
  179. package/dist/tooling/doc-gen/types.js +10 -0
  180. package/dist/tooling/doc-gen/types.js.map +1 -0
  181. package/dist/tooling/test-harness/combinators.d.ts +14 -0
  182. package/dist/tooling/test-harness/combinators.d.ts.map +1 -0
  183. package/dist/tooling/test-harness/combinators.js +122 -0
  184. package/dist/tooling/test-harness/combinators.js.map +1 -0
  185. package/dist/tooling/test-harness/coverage.d.ts +3 -0
  186. package/dist/tooling/test-harness/coverage.d.ts.map +1 -0
  187. package/dist/tooling/test-harness/coverage.js +32 -0
  188. package/dist/tooling/test-harness/coverage.js.map +1 -0
  189. package/dist/tooling/test-harness/generators.d.ts +6 -0
  190. package/dist/tooling/test-harness/generators.d.ts.map +1 -0
  191. package/dist/tooling/test-harness/generators.js +66 -0
  192. package/dist/tooling/test-harness/generators.js.map +1 -0
  193. package/dist/tooling/test-harness/index.d.ts +7 -0
  194. package/dist/tooling/test-harness/index.d.ts.map +1 -0
  195. package/dist/tooling/test-harness/index.js +27 -0
  196. package/dist/tooling/test-harness/index.js.map +1 -0
  197. package/dist/tooling/test-harness/mutation.d.ts +4 -0
  198. package/dist/tooling/test-harness/mutation.d.ts.map +1 -0
  199. package/dist/tooling/test-harness/mutation.js +28 -0
  200. package/dist/tooling/test-harness/mutation.js.map +1 -0
  201. package/dist/tooling/test-harness/snapshot.d.ts +5 -0
  202. package/dist/tooling/test-harness/snapshot.d.ts.map +1 -0
  203. package/dist/tooling/test-harness/snapshot.js +86 -0
  204. package/dist/tooling/test-harness/snapshot.js.map +1 -0
  205. package/dist/tooling/test-harness/types.d.ts +32 -0
  206. package/dist/tooling/test-harness/types.d.ts.map +1 -0
  207. package/dist/tooling/test-harness/types.js +3 -0
  208. package/dist/tooling/test-harness/types.js.map +1 -0
  209. package/package.json +1 -1
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ /**
3
+ * Constructive Intermediate Value Theorem and Mean Value approximation.
4
+ *
5
+ * Classically: if f is continuous on [a, b] and f(a) <= target <= f(b),
6
+ * then there exists c in [a, b] with f(c) = target. Constructively the
7
+ * exact statement is unprovable without LEM (deciding equality on R is
8
+ * not decidable), but the *approximate* IVT is fully constructive:
9
+ *
10
+ * Given precision N, we can compute c in [a, b] with |f(c) - target| < 1/N.
11
+ *
12
+ * Algorithm (bisection with explicit witness):
13
+ * - require f(a) and f(b) to bracket `target` (with a tolerance);
14
+ * - bisect, picking the half where the target still lies between the
15
+ * endpoints' images at sufficient precision;
16
+ * - stop when |f(c) - target| < 1/N (witnessed at precision 4N).
17
+ *
18
+ * Mean value (constructive): for uniformly continuous f, the average
19
+ * value `(1/(b-a)) * ∫_a^b f` is a real in the closure of the image of f.
20
+ * The constructive MVT-approximation finds c in [a, b] with
21
+ * |f(c) - average| < 1/N.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.meanValueConstructive = exports.intermediateValueTheorem = void 0;
25
+ const constructive_reals_1 = require("../constructive-reals");
26
+ const integral_1 = require("./integral");
27
+ const MAX_BISECT = 200;
28
+ /**
29
+ * Returns a CReal `c` with |f(c) - target| < 1/precision, or null if no
30
+ * such c is bracketed in [a, b] at the given precision.
31
+ *
32
+ * Requires f(a) <= target <= f(b) or the reverse (we don't assume a
33
+ * specific direction; we use a generalized sign test).
34
+ */
35
+ const intermediateValueTheorem = (f, a, b, target, precision) => {
36
+ if (!Number.isInteger(precision) || precision <= 0) {
37
+ throw new RangeError('[ivt] precision must be a positive integer');
38
+ }
39
+ const aNum = (0, constructive_reals_1.toNumber)(a);
40
+ const bNum = (0, constructive_reals_1.toNumber)(b);
41
+ if (!(bNum > aNum))
42
+ return null;
43
+ const tgt = (0, constructive_reals_1.toNumber)(target, Math.max(4 * precision, 1_000));
44
+ let lo = aNum;
45
+ let hi = bNum;
46
+ const fAt = (x) => (0, constructive_reals_1.toNumber)(f.fn((0, constructive_reals_1.fromFloat)(x)), Math.max(4 * precision, 1_000));
47
+ let fLo = fAt(lo);
48
+ let fHi = fAt(hi);
49
+ // Normalize so fLo - tgt and fHi - tgt have opposite signs.
50
+ // If neither bracket, we cannot proceed constructively.
51
+ if ((fLo - tgt) * (fHi - tgt) > 0) {
52
+ // No sign change witnessed at this precision.
53
+ return null;
54
+ }
55
+ const epsBound = 1 / precision;
56
+ for (let i = 0; i < MAX_BISECT; i++) {
57
+ const mid = (lo + hi) / 2;
58
+ const fMid = fAt(mid);
59
+ // Witnessed at precision 4 * N: if |f(mid) - target| < 1/(2N) we are done.
60
+ if (Math.abs(fMid - tgt) < epsBound / 2) {
61
+ const c = (0, constructive_reals_1.fromFloat)(mid);
62
+ const diff = (0, constructive_reals_1.abs)((0, constructive_reals_1.sub)(f.fn(c), target));
63
+ if ((0, constructive_reals_1.approxLT)(diff, (0, constructive_reals_1.fromFloat)(epsBound), 4 * precision)) {
64
+ return c;
65
+ }
66
+ }
67
+ if ((fLo - tgt) * (fMid - tgt) <= 0) {
68
+ hi = mid;
69
+ fHi = fMid;
70
+ }
71
+ else {
72
+ lo = mid;
73
+ fLo = fMid;
74
+ }
75
+ if (hi - lo < epsBound / Math.max(1, f.modulus(precision))) {
76
+ // Geometric stop: any c in [lo, hi] is close enough.
77
+ const c = (0, constructive_reals_1.fromFloat)((lo + hi) / 2);
78
+ const diff = (0, constructive_reals_1.abs)((0, constructive_reals_1.sub)(f.fn(c), target));
79
+ if ((0, constructive_reals_1.approxLT)(diff, (0, constructive_reals_1.fromFloat)(epsBound), 4 * precision)) {
80
+ return c;
81
+ }
82
+ }
83
+ }
84
+ // Fallback: emit best candidate and let the caller check.
85
+ const c = (0, constructive_reals_1.fromFloat)((lo + hi) / 2);
86
+ const diff = (0, constructive_reals_1.abs)((0, constructive_reals_1.sub)(f.fn(c), target));
87
+ return (0, constructive_reals_1.approxLT)(diff, (0, constructive_reals_1.fromFloat)(epsBound), 4 * precision) ? c : null;
88
+ };
89
+ exports.intermediateValueTheorem = intermediateValueTheorem;
90
+ /**
91
+ * Constructive mean value approximation: find c in [a, b] with
92
+ * |f(c) - (1/(b-a)) * ∫_a^b f(x) dx| < 1/precision,
93
+ * if such c is bracketed at this precision; null otherwise.
94
+ *
95
+ * Strategy: compute the average via Bishop integral, then call IVT to
96
+ * locate c.
97
+ */
98
+ const meanValueConstructive = (f, a, b, precision) => {
99
+ if (!Number.isInteger(precision) || precision <= 0) {
100
+ throw new RangeError('[meanValue] precision must be a positive integer');
101
+ }
102
+ const aNum = (0, constructive_reals_1.toNumber)(a);
103
+ const bNum = (0, constructive_reals_1.toNumber)(b);
104
+ if (!(bNum > aNum))
105
+ return null;
106
+ // Compute integral at higher precision so dividing by (b - a) keeps
107
+ // the error budget under 1/(2 precision).
108
+ const length = bNum - aNum;
109
+ const intPrec = Math.max(1, Math.ceil(2 * precision / Math.max(length, 1e-12)));
110
+ const integral = (0, integral_1.bishopIntegral)(f, a, b, intPrec);
111
+ const average = (0, constructive_reals_1.fromFloat)((0, constructive_reals_1.toNumber)(integral, Math.max(4 * intPrec, 1_000)) / length);
112
+ return (0, exports.intermediateValueTheorem)(f, a, b, average, precision);
113
+ };
114
+ exports.meanValueConstructive = meanValueConstructive;
115
+ //# sourceMappingURL=ivt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ivt.js","sourceRoot":"","sources":["../../../src/reasoning/constructive-analysis/ivt.ts"],"names":[],"mappings":"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"}
@@ -128,5 +128,28 @@ export declare const __internals: {
128
128
  isqrt: typeof isqrt;
129
129
  pow2: typeof pow2;
130
130
  };
131
+ /** Crea un CReal desde un número racional (float). Usa fromInt para enteros. */
132
+ export declare function fromFloat(q: number): CReal;
133
+ /**
134
+ * Extrae el valor numérico de un CReal.
135
+ * `precision` es el número de bits fraccionarios solicitados (como pasa `x.approx(p)`).
136
+ * Para evitar desbordamiento al convertir bigint → number, se acota internamente a 63 bits.
137
+ * Valores por encima de 63 sólo añaden cómputo sin mejorar la representación en float64.
138
+ */
139
+ export declare function toNumber(x: CReal, precision?: number): number;
140
+ /**
141
+ * Retorna true si podemos demostrar constructivamente que x < y
142
+ * a la precisión dada (bits fraccionarios).
143
+ */
144
+ export declare function approxLT(x: CReal, y: CReal, precision: number): boolean;
145
+ /**
146
+ * Retorna true si |x - y| < 2^{-precision+1} (aproximadamente iguales
147
+ * a la precisión dada).
148
+ */
149
+ export declare function approxEq(x: CReal, y: CReal, precision: number): boolean;
150
+ /** El real constructivo cero. */
151
+ export declare const zero: CReal;
152
+ /** El real constructivo uno. */
153
+ export declare const one: CReal;
131
154
  export {};
132
155
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reasoning/constructive-reals/index.ts"],"names":[],"mappings":"AA6CA,MAAM,WAAW,KAAK;IACpB;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE;AAID,uCAAuC;AACvC,iBAAS,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG/B;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;GAGG;AACH,iBAAS,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAMpC;AA8DD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CASjD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAuB1E;AAID,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAGnC;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAMnC;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAQ7C;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAQ7C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAoB7C;AAsBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CA2B7C;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAoBpC;AAED,wDAAwD;AACxD,iBAAS,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAahC;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAW3F;AAID;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBzD;AAWD;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAqCnC;AAwBD,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CA0CnC;AA6CD,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAiBnC;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAenC;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAmBtD;AA2CD,eAAO,MAAM,EAAE,EAAE,KAAuC,CAAC;AAmBzD,eAAO,MAAM,CAAC,EAAE,KAAsC,CAAC;AAYvD,eAAO,MAAM,KAAK,EAAE,KAA0C,CAAC;AAI/D,4CAA4C;AAC5C,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reasoning/constructive-reals/index.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@
42
42
  // `n`, equivalente a 2^{-(n+1)}.
43
43
  // ============================================================
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.__internals = exports.SQRT2 = exports.E = exports.PI = void 0;
45
+ exports.one = exports.zero = exports.__internals = exports.SQRT2 = exports.E = exports.PI = void 0;
46
46
  exports.fromInt = fromInt;
47
47
  exports.fromRational = fromRational;
48
48
  exports.neg = neg;
@@ -59,6 +59,10 @@ exports.log = log;
59
59
  exports.sin = sin;
60
60
  exports.cos = cos;
61
61
  exports.pow = pow;
62
+ exports.fromFloat = fromFloat;
63
+ exports.toNumber = toNumber;
64
+ exports.approxLT = approxLT;
65
+ exports.approxEq = approxEq;
62
66
  // ── Helpers internos ────────────────────────────────────────
63
67
  /** Eleva 2 a un entero no negativo. */
64
68
  function pow2(n) {
@@ -720,4 +724,51 @@ exports.__internals = {
720
724
  isqrt,
721
725
  pow2,
722
726
  };
727
+ // ── Helpers de conveniencia ─────────────────────────────────
728
+ // Compatibilidad con código que usa la API de un solo argumento
729
+ // (fromRational(q) donde q es un número racional como float) y
730
+ // utilidades numéricas de alto nivel.
731
+ /** Crea un CReal desde un número racional (float). Usa fromInt para enteros. */
732
+ function fromFloat(q) {
733
+ if (!Number.isFinite(q))
734
+ throw new RangeError(`fromFloat: ${q} no es finito`);
735
+ if (Number.isInteger(q))
736
+ return fromInt(q);
737
+ // Representa q como fracción p/10^9 para mantener precisión.
738
+ const scale = 1_000_000_000;
739
+ return fromRational(Math.round(q * scale), scale);
740
+ }
741
+ /**
742
+ * Extrae el valor numérico de un CReal.
743
+ * `precision` es el número de bits fraccionarios solicitados (como pasa `x.approx(p)`).
744
+ * Para evitar desbordamiento al convertir bigint → number, se acota internamente a 63 bits.
745
+ * Valores por encima de 63 sólo añaden cómputo sin mejorar la representación en float64.
746
+ */
747
+ function toNumber(x, precision = 53) {
748
+ const bits = Math.min(Math.max(precision, 1), 63);
749
+ const { numerator, denominator } = x.approx(bits);
750
+ return Number(numerator) / Number(denominator);
751
+ }
752
+ /**
753
+ * Retorna true si podemos demostrar constructivamente que x < y
754
+ * a la precisión dada (bits fraccionarios).
755
+ */
756
+ function approxLT(x, y, precision) {
757
+ const xv = approxBigOf(x)(precision);
758
+ const yv = approxBigOf(y)(precision);
759
+ // x < y con margen 2 unidades (para absorber el error de redondeo de cada lado).
760
+ return xv + 2n < yv;
761
+ }
762
+ /**
763
+ * Retorna true si |x - y| < 2^{-precision+1} (aproximadamente iguales
764
+ * a la precisión dada).
765
+ */
766
+ function approxEq(x, y, precision) {
767
+ const diff = approxBigOf(sub(x, y))(precision);
768
+ return diff >= -2n && diff <= 2n;
769
+ }
770
+ /** El real constructivo cero. */
771
+ exports.zero = fromInt(0);
772
+ /** El real constructivo uno. */
773
+ exports.one = fromInt(1);
723
774
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reasoning/constructive-reals/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,qDAAqD;AACrD,+DAA+D;AAC/D,gEAAgE;AAChE,iCAAiC;AACjC,EAAE;AACF,iCAAiC;AACjC,EAAE;AACF,oEAAoE;AACpE,EAAE;AACF,mEAAmE;AACnE,qEAAqE;AACrE,+DAA+D;AAC/D,EAAE;AACF,kEAAkE;AAClE,qEAAqE;AACrE,oEAAoE;AACpE,iCAAiC;AACjC,EAAE;AACF,qDAAqD;AACrD,oCAAoC;AACpC,+CAA+C;AAC/C,2CAA2C;AAC3C,uCAAuC;AACvC,iCAAiC;AACjC,EAAE;AACF,gCAAgC;AAChC,iEAAiE;AACjE,gEAAgE;AAChE,oEAAoE;AACpE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,iEAAiE;AACjE,mEAAmE;AACnE,4CAA4C;AAC5C,EAAE;AACF,+DAA+D;AAC/D,iEAAiE;AACjE,mEAAmE;AACnE,iCAAiC;AACjC,+DAA+D;;;AAuG/D,0BASC;AAED,oCAuBC;AAID,kBAGC;AAED,kBAMC;AAUD,kBAQC;AAED,kBAQC;AAkBD,kBAoBC;AAmCD,kBA2BC;AAQD,oBAoBC;AAmCD,gDAWC;AAUD,4BAgBC;AAqBD,kBAqCC;AAwBD,kBA0CC;AA6CD,kBAiBC;AAED,kBAeC;AAOD,kBAmBC;AArlBD,+DAA+D;AAE/D,uCAAuC;AACvC,SAAS,IAAI,CAAC,CAAS;IACrB,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,CAAS;IAC1B,IAAI,CAAC,GAAG,EAAE;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IACvB,4DAA4D;IAC5D,yDAAyD;IACzD,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,SAAgC;IACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,SAAS,MAAM,CAAC,CAAS;QACvB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,6DAA6D;YAC7D,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,oEAAoE;IACpE,wEAAwE;IACxE,MAAM,CAAC,GAAoD;QACzD,MAAM,CAAC,SAAiB;YACtB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,gEAAgE;YAChE,+DAA+D;YAC/D,sDAAsD;YACtD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YAC7C,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAChD,CAAC;KACF,CAAC;IACF,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,0EAA0E;AAC1E,SAAS,WAAW,CAAC,CAAQ;IAC3B,MAAM,EAAE,GAAI,CAA6C,CAAC,WAAW,CAAC;IACtE,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAClB,gFAAgF;IAChF,OAAO,CAAC,CAAS,EAAE,EAAE;QACnB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/C,sDAAsD;QACtD,qEAAqE;QACrE,IAAI,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,sDAAsD;QACtD,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,WAAW,GAAG,EAAE,CAAC;QAC9B,OAAO,SAAS,IAAI,EAAE;YACpB,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,WAAW;YAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC;AAED,+DAA+D;AAE/D,SAAgB,OAAO,CAAC,CAAkB;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,YAAY,CAAC,CAAkB,EAAE,CAAkB;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,KAAK,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACtE,iCAAiC;IACjC,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC;IACxB,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,2DAA2D;QAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,0EAA0E;QACjG,OAAO,EAAE,IAAI,EAAE;YACb,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE;YACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8DAA8D;AAE9D,SAAgB,GAAG,CAAC,CAAQ;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,GAAG,CAAC,CAAQ;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,GAAG,CAAC,CAAQ,EAAE,CAAQ;IACpC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,GAAG,CAAC,CAAQ,EAAE,CAAQ;IACpC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,GAAG,CAAC,CAAQ,EAAE,CAAQ;IACpC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7B,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpB,qEAAqE;QACrE,iCAAiC;QACjC,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,CAAwB,EAAE,OAAe,IAAI;IACtE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,4EAA4E;QAC5E,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QAChC,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,8DAA8D;QAC5D,wCAAwC,CAC3C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,GAAG,CAAC,CAAQ,EAAE,CAAQ;IACpC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACd,iEAAiE;YACjE,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;QAC3E,CAAC;QACD,qEAAqE;QACrE,6BAA6B;QAC7B,MAAM,SAAS,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,EAAE,CAAC;QAC1B,6BAA6B;QAC7B,MAAM,OAAO,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;QACnC,OAAO,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAgB,IAAI,CAAC,CAAQ;IAC3B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,sDAAsD;QACtD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;YACZ,kEAAkE;YAClE,wDAAwD;YACxD,IAAI,EAAE,GAAG,CAAC,EAAE;gBAAE,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAAC,+BAA+B,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,qEAAqE;QACrE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;QACvB,6CAA6C;QAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1B,qDAAqD;QACrD,uEAAuE;QACvE,OAAO,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wDAAwD;AACxD,SAAS,KAAK,CAAC,CAAS;IACtB,IAAI,CAAC,GAAG,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,CAAC,CAAC;IACrB,wCAAwC;IACxC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1C,iEAAiE;IACjE,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,IAAI,IAAI,CAAC;YAAE,MAAM;QACrB,CAAC,GAAG,IAAI,CAAC;IACX,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8DAA8D;AAE9D;;;;;;;;;;;;;;GAcG;AACH,SAAgB,kBAAkB,CAAC,CAAQ,EAAE,CAAQ,EAAE,gBAAwB;IAC7E,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,gBAAgB,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,+EAA+E;IAC/E,kDAAkD;IAClD,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;IAC1B,IAAI,IAAI,GAAG,SAAS;QAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8DAA8D;AAE9D;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,CAAQ,EAAE,MAAc;IAC/C,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,kEAAkE;IAClE,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,gDAAgD;IAChD,MAAM,IAAI,GAAG,WAAW,GAAG,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC;IACtD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,GAAG,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAI,GAAG,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC;AACzC,CAAC;AAED,8DAA8D;AAC9D,EAAE;AACF,iEAAiE;AACjE,kEAAkE;AAClE,6DAA6D;AAC7D,6CAA6C;AAC7C,2DAA2D;AAC3D,kEAAkE;AAElE;;;;;;;;;GASG;AACH,SAAgB,GAAG,CAAC,CAAQ;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,uCAAuC;QACvC,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,cAAc;QAC3D,wDAAwD;QACxD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QAC3B,gEAAgE;QAChE,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrC,+BAA+B;QAC/B,mBAAmB;QACnB,wEAAwE;QACxE,2DAA2D;QAC3D,0EAA0E;QAC1E,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,IAAI,KAAK,EAAE,EAAE,CAAC;YACnB,IAAI,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,GAAG,IAAI,IAAI,CAAC;YACZ,CAAC,IAAI,EAAE,CAAC;YACR,0EAA0E;YAC1E,sCAAsC;YACtC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;gBAAE,MAAM;QACpC,CAAC;QACD,yDAAyD;QACzD,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,+EAA+E;YAC/E,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,MAAM,CAAC,CAAS;IACvB,2DAA2D;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,qBAAqB;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,OAAO,IAAI,KAAK,EAAE,EAAE,CAAC;QACnB,GAAG,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5B,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,CAAC,IAAI,EAAE,CAAC;IACV,CAAC;IACD,OAAO,EAAE,GAAG,GAAG,CAAC;AAClB,CAAC;AAED,SAAgB,GAAG,CAAC,CAAQ;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;YACjB,8DAA8D;YAC9D,yBAAyB;YACzB,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,UAAU,CAClB,uCAAuC,OAAO,MAAM,IAAI,GAAG,CAAC,EAAE,CAC/D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,gFAAgF;QAChF,kDAAkD;QAClD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACtC,4DAA4D;QAC5D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,8BAA8B;QAC9B,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,8BAA8B;QAC9B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,KAAK,EAAE,EAAE,CAAC;YACnB,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,IAAI,CAAC;YACb,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,MAAM;gBAAE,MAAM;QACxB,CAAC;QACD,yBAAyB;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;QACpC,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,OAAe,EAAE,IAAY;IAC9C,qDAAqD;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,OAAO,CAAC;IAClB,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;IACf,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC;IACxC,OAAO,IAAI,KAAK,EAAE,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,CAAC;QACb,CAAC,IAAI,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;YAAE,MAAM;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,IAAY;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;IACf,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC;IACxC,OAAO,IAAI,KAAK,EAAE,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,CAAC;QACb,CAAC,IAAI,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;YAAE,MAAM;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,GAAG,CAAC,CAAQ;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,uCAAuC;QACvC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC;QAC5B,qCAAqC;QACrC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;QACnC,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,6BAA6B;QAChE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,GAAG,CAAC,CAAQ;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;QACnC,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,GAAG,CAAC,CAAQ,EAAE,CAAiB;IAC7C,yCAAyC;IACzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,uCAAuC;QACvC,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,QAAQ,GAAG,QAAQ,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,6CAA6C;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,8DAA8D;AAE9D;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,CAAS,EAAE,IAAY;IAC/C,gCAAgC;IAChC,qFAAqF;IACrF,qDAAqD;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,uCAAuC;IAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,IAAI,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAC1B,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;QAC7B,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,CAAC;QACb,CAAC,IAAI,EAAE,CAAC;IACV,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,iEAAiE;IACjE,oDAAoD;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,kCAAkC;IAClC,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;AACzC,CAAC;AAEY,QAAA,EAAE,GAAU,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAEzD;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,iBAAiB;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,OAAO,IAAI,KAAK,EAAE,EAAE,CAAC;QACnB,GAAG,IAAI,IAAI,CAAC;QACZ,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;QAChB,CAAC,IAAI,EAAE,CAAC;IACV,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;AACtC,CAAC;AAEY,QAAA,CAAC,GAAU,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAEvD;;;GAGG;AACH,SAAS,uBAAuB,CAAC,IAAY;IAC3C,wEAAwE;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC;AAEY,QAAA,KAAK,GAAU,SAAS,CAAC,uBAAuB,CAAC,CAAC;AAE/D,8DAA8D;AAE9D,4CAA4C;AAC/B,QAAA,WAAW,GAAG;IACzB,UAAU;IACV,SAAS;IACT,KAAK;IACL,IAAI;CACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reasoning/constructive-reals/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ export type Matrix = number[][];
2
+ export type Vector = number[];
3
+ export declare function mat(rows: number, cols: number, fill?: number): Matrix;
4
+ export declare function zeros(rows: number, cols: number): Matrix;
5
+ export declare function ones(rows: number, cols: number): Matrix;
6
+ export declare function identity(n: number): Matrix;
7
+ export declare function diagonal(entries: number[]): Matrix;
8
+ export declare function clone(M: Matrix): Matrix;
9
+ export declare function transpose(M: Matrix): Matrix;
10
+ export declare function add(a: Matrix, b: Matrix): Matrix;
11
+ export declare function sub(a: Matrix, b: Matrix): Matrix;
12
+ export declare function scalarMul(c: number, M: Matrix): Matrix;
13
+ export declare function multiply(a: Matrix, b: Matrix): Matrix;
14
+ export declare function matVec(M: Matrix, v: Vector): Vector;
15
+ export declare function dot(a: Vector, b: Vector): number;
16
+ export declare function norm(v: Vector): number;
17
+ export declare function normalize(v: Vector): Vector;
18
+ export declare function cross(a: Vector, b: Vector): Vector;
19
+ export declare function rref(M: Matrix): {
20
+ reduced: Matrix;
21
+ rank: number;
22
+ pivotCols: number[];
23
+ };
24
+ export declare function rank(M: Matrix): number;
25
+ export declare function determinant(M: Matrix): number;
26
+ export declare function inverse(M: Matrix): Matrix | null;
27
+ export declare function solve(A: Matrix, b: Vector): Vector | null;
28
+ export declare function leastSquares(A: Matrix, b: Vector): Vector;
29
+ export interface LU {
30
+ L: Matrix;
31
+ U: Matrix;
32
+ P: number[];
33
+ }
34
+ export declare function decomposeLU(M: Matrix): LU | null;
35
+ export declare function permutationMatrix(P: number[]): Matrix;
36
+ export interface QR {
37
+ Q: Matrix;
38
+ R: Matrix;
39
+ }
40
+ export declare function decomposeQR(M: Matrix): QR;
41
+ export interface SVD {
42
+ U: Matrix;
43
+ S: number[];
44
+ V: Matrix;
45
+ }
46
+ export declare function decomposeSVD(M: Matrix, maxIter?: number): SVD;
47
+ export declare function powerIteration(M: Matrix, opts?: {
48
+ maxIter?: number;
49
+ eps?: number;
50
+ }): {
51
+ eigenvalue: number;
52
+ eigenvector: Vector;
53
+ };
54
+ export declare function eigenvalues(M: Matrix, opts?: {
55
+ maxIter?: number;
56
+ eps?: number;
57
+ }): number[];
58
+ export declare function eigenvectors(M: Matrix, opts?: {
59
+ maxIter?: number;
60
+ eps?: number;
61
+ }): {
62
+ values: number[];
63
+ vectors: Matrix;
64
+ };
65
+ export declare function nullSpace(M: Matrix): Vector[];
66
+ export declare function columnSpace(M: Matrix): Vector[];
67
+ export declare function gramSchmidt(vectors: Vector[]): Vector[];
68
+ export declare function isLinearlyIndependent(vectors: Vector[]): boolean;
69
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reasoning/linear-algebra/index.ts"],"names":[],"mappings":"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"}