@stevenvo780/st-lang 4.5.1 → 4.5.2

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 (285) hide show
  1. package/dist/bdd/index.d.ts +4 -0
  2. package/dist/bdd/index.d.ts.map +1 -0
  3. package/dist/bdd/index.js +29 -0
  4. package/dist/bdd/index.js.map +1 -0
  5. package/dist/bdd/manager.d.ts +122 -0
  6. package/dist/bdd/manager.d.ts.map +1 -0
  7. package/dist/bdd/manager.js +524 -0
  8. package/dist/bdd/manager.js.map +1 -0
  9. package/dist/bdd/types.d.ts +20 -0
  10. package/dist/bdd/types.d.ts.map +1 -0
  11. package/dist/bdd/types.js +28 -0
  12. package/dist/bdd/types.js.map +1 -0
  13. package/dist/game-theory/common-games.d.ts +50 -0
  14. package/dist/game-theory/common-games.d.ts.map +1 -0
  15. package/dist/game-theory/common-games.js +112 -0
  16. package/dist/game-theory/common-games.js.map +1 -0
  17. package/dist/game-theory/dominance.d.ts +26 -0
  18. package/dist/game-theory/dominance.d.ts.map +1 -0
  19. package/dist/game-theory/dominance.js +203 -0
  20. package/dist/game-theory/dominance.js.map +1 -0
  21. package/dist/game-theory/index.d.ts +8 -0
  22. package/dist/game-theory/index.d.ts.map +1 -0
  23. package/dist/game-theory/index.js +47 -0
  24. package/dist/game-theory/index.js.map +1 -0
  25. package/dist/game-theory/lemke-howson.d.ts +3 -0
  26. package/dist/game-theory/lemke-howson.d.ts.map +1 -0
  27. package/dist/game-theory/lemke-howson.js +269 -0
  28. package/dist/game-theory/lemke-howson.js.map +1 -0
  29. package/dist/game-theory/linalg.d.ts +7 -0
  30. package/dist/game-theory/linalg.d.ts.map +1 -0
  31. package/dist/game-theory/linalg.js +69 -0
  32. package/dist/game-theory/linalg.js.map +1 -0
  33. package/dist/game-theory/pure-nash.d.ts +3 -0
  34. package/dist/game-theory/pure-nash.d.ts.map +1 -0
  35. package/dist/game-theory/pure-nash.js +86 -0
  36. package/dist/game-theory/pure-nash.js.map +1 -0
  37. package/dist/game-theory/support-enumeration.d.ts +3 -0
  38. package/dist/game-theory/support-enumeration.d.ts.map +1 -0
  39. package/dist/game-theory/support-enumeration.js +214 -0
  40. package/dist/game-theory/support-enumeration.js.map +1 -0
  41. package/dist/game-theory/types.d.ts +57 -0
  42. package/dist/game-theory/types.d.ts.map +1 -0
  43. package/dist/game-theory/types.js +191 -0
  44. package/dist/game-theory/types.js.map +1 -0
  45. package/dist/index.d.ts +9 -1
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +36 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/information-theory/index.d.ts +29 -0
  50. package/dist/information-theory/index.d.ts.map +1 -0
  51. package/dist/information-theory/index.js +323 -0
  52. package/dist/information-theory/index.js.map +1 -0
  53. package/dist/namespaces/logic.d.ts +42 -0
  54. package/dist/namespaces/logic.d.ts.map +1 -0
  55. package/dist/namespaces/logic.js +112 -0
  56. package/dist/namespaces/logic.js.map +1 -0
  57. package/dist/namespaces/proof-systems.d.ts +18 -0
  58. package/dist/namespaces/proof-systems.d.ts.map +1 -0
  59. package/dist/namespaces/proof-systems.js +59 -0
  60. package/dist/namespaces/proof-systems.js.map +1 -0
  61. package/dist/namespaces/reasoning.d.ts +26 -0
  62. package/dist/namespaces/reasoning.d.ts.map +1 -0
  63. package/dist/namespaces/reasoning.js +72 -0
  64. package/dist/namespaces/reasoning.js.map +1 -0
  65. package/dist/namespaces/semantics.d.ts +21 -0
  66. package/dist/namespaces/semantics.d.ts.map +1 -0
  67. package/dist/namespaces/semantics.js +64 -0
  68. package/dist/namespaces/semantics.js.map +1 -0
  69. package/dist/namespaces/solvers.d.ts +22 -0
  70. package/dist/namespaces/solvers.d.ts.map +1 -0
  71. package/dist/namespaces/solvers.js +66 -0
  72. package/dist/namespaces/solvers.js.map +1 -0
  73. package/dist/namespaces/type-theory.d.ts +22 -0
  74. package/dist/namespaces/type-theory.d.ts.map +1 -0
  75. package/dist/namespaces/type-theory.js +65 -0
  76. package/dist/namespaces/type-theory.js.map +1 -0
  77. package/dist/optimization/branch-and-bound.d.ts +11 -0
  78. package/dist/optimization/branch-and-bound.d.ts.map +1 -0
  79. package/dist/optimization/branch-and-bound.js +311 -0
  80. package/dist/optimization/branch-and-bound.js.map +1 -0
  81. package/dist/optimization/index.d.ts +5 -0
  82. package/dist/optimization/index.d.ts.map +1 -0
  83. package/dist/optimization/index.js +20 -0
  84. package/dist/optimization/index.js.map +1 -0
  85. package/dist/optimization/simplex.d.ts +8 -0
  86. package/dist/optimization/simplex.d.ts.map +1 -0
  87. package/dist/optimization/simplex.js +408 -0
  88. package/dist/optimization/simplex.js.map +1 -0
  89. package/dist/optimization/standard-form.d.ts +11 -0
  90. package/dist/optimization/standard-form.d.ts.map +1 -0
  91. package/dist/optimization/standard-form.js +112 -0
  92. package/dist/optimization/standard-form.js.map +1 -0
  93. package/dist/optimization/types.d.ts +44 -0
  94. package/dist/optimization/types.d.ts.map +1 -0
  95. package/dist/optimization/types.js +15 -0
  96. package/dist/optimization/types.js.map +1 -0
  97. package/dist/profiles/hol/connectives.d.ts +46 -0
  98. package/dist/profiles/hol/connectives.d.ts.map +1 -0
  99. package/dist/profiles/hol/connectives.js +104 -0
  100. package/dist/profiles/hol/connectives.js.map +1 -0
  101. package/dist/profiles/hol/index.d.ts +7 -0
  102. package/dist/profiles/hol/index.d.ts.map +1 -0
  103. package/dist/profiles/hol/index.js +77 -0
  104. package/dist/profiles/hol/index.js.map +1 -0
  105. package/dist/profiles/hol/rules.d.ts +31 -0
  106. package/dist/profiles/hol/rules.d.ts.map +1 -0
  107. package/dist/profiles/hol/rules.js +258 -0
  108. package/dist/profiles/hol/rules.js.map +1 -0
  109. package/dist/profiles/hol/term.d.ts +52 -0
  110. package/dist/profiles/hol/term.d.ts.map +1 -0
  111. package/dist/profiles/hol/term.js +345 -0
  112. package/dist/profiles/hol/term.js.map +1 -0
  113. package/dist/profiles/hol/type-system.d.ts +38 -0
  114. package/dist/profiles/hol/type-system.d.ts.map +1 -0
  115. package/dist/profiles/hol/type-system.js +133 -0
  116. package/dist/profiles/hol/type-system.js.map +1 -0
  117. package/dist/profiles/hol/types.d.ts +59 -0
  118. package/dist/profiles/hol/types.d.ts.map +1 -0
  119. package/dist/profiles/hol/types.js +26 -0
  120. package/dist/profiles/hol/types.js.map +1 -0
  121. package/dist/smt-lib/ast.d.ts +138 -0
  122. package/dist/smt-lib/ast.d.ts.map +1 -0
  123. package/dist/smt-lib/ast.js +73 -0
  124. package/dist/smt-lib/ast.js.map +1 -0
  125. package/dist/smt-lib/emitter.d.ts +12 -0
  126. package/dist/smt-lib/emitter.d.ts.map +1 -0
  127. package/dist/smt-lib/emitter.js +174 -0
  128. package/dist/smt-lib/emitter.js.map +1 -0
  129. package/dist/smt-lib/index.d.ts +6 -0
  130. package/dist/smt-lib/index.d.ts.map +1 -0
  131. package/dist/smt-lib/index.js +31 -0
  132. package/dist/smt-lib/index.js.map +1 -0
  133. package/dist/smt-lib/parser.d.ts +13 -0
  134. package/dist/smt-lib/parser.d.ts.map +1 -0
  135. package/dist/smt-lib/parser.js +614 -0
  136. package/dist/smt-lib/parser.js.map +1 -0
  137. package/dist/smt-lib/tokenizer.d.ts +16 -0
  138. package/dist/smt-lib/tokenizer.d.ts.map +1 -0
  139. package/dist/smt-lib/tokenizer.js +234 -0
  140. package/dist/smt-lib/tokenizer.js.map +1 -0
  141. package/dist/tests/api/namespaces.test.d.ts +9 -0
  142. package/dist/tests/api/namespaces.test.d.ts.map +1 -0
  143. package/dist/tests/api/namespaces.test.js +218 -0
  144. package/dist/tests/api/namespaces.test.js.map +1 -0
  145. package/dist/tests/bdd/manager.test.d.ts +2 -0
  146. package/dist/tests/bdd/manager.test.d.ts.map +1 -0
  147. package/dist/tests/bdd/manager.test.js +472 -0
  148. package/dist/tests/bdd/manager.test.js.map +1 -0
  149. package/dist/tests/game-theory/game-theory.test.d.ts +2 -0
  150. package/dist/tests/game-theory/game-theory.test.d.ts.map +1 -0
  151. package/dist/tests/game-theory/game-theory.test.js +252 -0
  152. package/dist/tests/game-theory/game-theory.test.js.map +1 -0
  153. package/dist/tests/hol/hol.test.d.ts +2 -0
  154. package/dist/tests/hol/hol.test.d.ts.map +1 -0
  155. package/dist/tests/hol/hol.test.js +340 -0
  156. package/dist/tests/hol/hol.test.js.map +1 -0
  157. package/dist/tests/information-theory/information-theory.test.d.ts +2 -0
  158. package/dist/tests/information-theory/information-theory.test.d.ts.map +1 -0
  159. package/dist/tests/information-theory/information-theory.test.js +291 -0
  160. package/dist/tests/information-theory/information-theory.test.js.map +1 -0
  161. package/dist/tests/optimization/ilp.test.d.ts +2 -0
  162. package/dist/tests/optimization/ilp.test.d.ts.map +1 -0
  163. package/dist/tests/optimization/ilp.test.js +204 -0
  164. package/dist/tests/optimization/ilp.test.js.map +1 -0
  165. package/dist/tests/optimization/lp.test.d.ts +2 -0
  166. package/dist/tests/optimization/lp.test.d.ts.map +1 -0
  167. package/dist/tests/optimization/lp.test.js +224 -0
  168. package/dist/tests/optimization/lp.test.js.map +1 -0
  169. package/dist/tests/properties/agm.property.test.d.ts +2 -0
  170. package/dist/tests/properties/agm.property.test.d.ts.map +1 -0
  171. package/dist/tests/properties/agm.property.test.js +75 -0
  172. package/dist/tests/properties/agm.property.test.js.map +1 -0
  173. package/dist/tests/properties/anti-unification.property.test.d.ts +2 -0
  174. package/dist/tests/properties/anti-unification.property.test.d.ts.map +1 -0
  175. package/dist/tests/properties/anti-unification.property.test.js +43 -0
  176. package/dist/tests/properties/anti-unification.property.test.js.map +1 -0
  177. package/dist/tests/properties/argumentation.property.test.d.ts +2 -0
  178. package/dist/tests/properties/argumentation.property.test.d.ts.map +1 -0
  179. package/dist/tests/properties/argumentation.property.test.js +51 -0
  180. package/dist/tests/properties/argumentation.property.test.js.map +1 -0
  181. package/dist/tests/properties/bayesian.property.test.d.ts +2 -0
  182. package/dist/tests/properties/bayesian.property.test.d.ts.map +1 -0
  183. package/dist/tests/properties/bayesian.property.test.js +32 -0
  184. package/dist/tests/properties/bayesian.property.test.js.map +1 -0
  185. package/dist/tests/properties/bisimulation.property.test.d.ts +2 -0
  186. package/dist/tests/properties/bisimulation.property.test.d.ts.map +1 -0
  187. package/dist/tests/properties/bisimulation.property.test.js +50 -0
  188. package/dist/tests/properties/bisimulation.property.test.js.map +1 -0
  189. package/dist/tests/properties/cdcl.property.test.d.ts +2 -0
  190. package/dist/tests/properties/cdcl.property.test.d.ts.map +1 -0
  191. package/dist/tests/properties/cdcl.property.test.js +70 -0
  192. package/dist/tests/properties/cdcl.property.test.js.map +1 -0
  193. package/dist/tests/properties/coinduction.property.test.d.ts +2 -0
  194. package/dist/tests/properties/coinduction.property.test.d.ts.map +1 -0
  195. package/dist/tests/properties/coinduction.property.test.js +34 -0
  196. package/dist/tests/properties/coinduction.property.test.js.map +1 -0
  197. package/dist/tests/properties/constructive-reals.property.test.d.ts +2 -0
  198. package/dist/tests/properties/constructive-reals.property.test.d.ts.map +1 -0
  199. package/dist/tests/properties/constructive-reals.property.test.js +59 -0
  200. package/dist/tests/properties/constructive-reals.property.test.js.map +1 -0
  201. package/dist/tests/properties/csp.property.test.d.ts +2 -0
  202. package/dist/tests/properties/csp.property.test.d.ts.map +1 -0
  203. package/dist/tests/properties/csp.property.test.js +58 -0
  204. package/dist/tests/properties/csp.property.test.js.map +1 -0
  205. package/dist/tests/properties/generators.d.ts +78 -0
  206. package/dist/tests/properties/generators.d.ts.map +1 -0
  207. package/dist/tests/properties/generators.js +348 -0
  208. package/dist/tests/properties/generators.js.map +1 -0
  209. package/dist/tests/properties/ho-unify.property.test.d.ts +2 -0
  210. package/dist/tests/properties/ho-unify.property.test.d.ts.map +1 -0
  211. package/dist/tests/properties/ho-unify.property.test.js +46 -0
  212. package/dist/tests/properties/ho-unify.property.test.js.map +1 -0
  213. package/dist/tests/properties/hyperreal.property.test.d.ts +2 -0
  214. package/dist/tests/properties/hyperreal.property.test.d.ts.map +1 -0
  215. package/dist/tests/properties/hyperreal.property.test.js +33 -0
  216. package/dist/tests/properties/hyperreal.property.test.js.map +1 -0
  217. package/dist/tests/properties/intuit-nj.property.test.d.ts +2 -0
  218. package/dist/tests/properties/intuit-nj.property.test.d.ts.map +1 -0
  219. package/dist/tests/properties/intuit-nj.property.test.js +57 -0
  220. package/dist/tests/properties/intuit-nj.property.test.js.map +1 -0
  221. package/dist/tests/properties/lambda-calc.property.test.d.ts +2 -0
  222. package/dist/tests/properties/lambda-calc.property.test.d.ts.map +1 -0
  223. package/dist/tests/properties/lambda-calc.property.test.js +35 -0
  224. package/dist/tests/properties/lambda-calc.property.test.js.map +1 -0
  225. package/dist/tests/properties/mln.property.test.d.ts +2 -0
  226. package/dist/tests/properties/mln.property.test.d.ts.map +1 -0
  227. package/dist/tests/properties/mln.property.test.js +41 -0
  228. package/dist/tests/properties/mln.property.test.js.map +1 -0
  229. package/dist/tests/properties/mltt.property.test.d.ts +2 -0
  230. package/dist/tests/properties/mltt.property.test.d.ts.map +1 -0
  231. package/dist/tests/properties/mltt.property.test.js +33 -0
  232. package/dist/tests/properties/mltt.property.test.js.map +1 -0
  233. package/dist/tests/properties/nbe.property.test.d.ts +2 -0
  234. package/dist/tests/properties/nbe.property.test.d.ts.map +1 -0
  235. package/dist/tests/properties/nbe.property.test.js +44 -0
  236. package/dist/tests/properties/nbe.property.test.js.map +1 -0
  237. package/dist/tests/properties/planning.property.test.d.ts +2 -0
  238. package/dist/tests/properties/planning.property.test.d.ts.map +1 -0
  239. package/dist/tests/properties/planning.property.test.js +51 -0
  240. package/dist/tests/properties/planning.property.test.js.map +1 -0
  241. package/dist/tests/properties/profile-bridge.property.test.d.ts +2 -0
  242. package/dist/tests/properties/profile-bridge.property.test.d.ts.map +1 -0
  243. package/dist/tests/properties/profile-bridge.property.test.js +71 -0
  244. package/dist/tests/properties/profile-bridge.property.test.js.map +1 -0
  245. package/dist/tests/properties/refinement-types.property.test.d.ts +2 -0
  246. package/dist/tests/properties/refinement-types.property.test.d.ts.map +1 -0
  247. package/dist/tests/properties/refinement-types.property.test.js +37 -0
  248. package/dist/tests/properties/refinement-types.property.test.js.map +1 -0
  249. package/dist/tests/properties/sequent-g3.property.test.d.ts +2 -0
  250. package/dist/tests/properties/sequent-g3.property.test.d.ts.map +1 -0
  251. package/dist/tests/properties/sequent-g3.property.test.js +34 -0
  252. package/dist/tests/properties/sequent-g3.property.test.js.map +1 -0
  253. package/dist/tests/properties/symbolic-diff.property.test.d.ts +2 -0
  254. package/dist/tests/properties/symbolic-diff.property.test.d.ts.map +1 -0
  255. package/dist/tests/properties/symbolic-diff.property.test.js +49 -0
  256. package/dist/tests/properties/symbolic-diff.property.test.js.map +1 -0
  257. package/dist/tests/properties/system-f.property.test.d.ts +2 -0
  258. package/dist/tests/properties/system-f.property.test.d.ts.map +1 -0
  259. package/dist/tests/properties/system-f.property.test.js +37 -0
  260. package/dist/tests/properties/system-f.property.test.js.map +1 -0
  261. package/dist/tests/properties/theorem-cache.property.test.d.ts +2 -0
  262. package/dist/tests/properties/theorem-cache.property.test.d.ts.map +1 -0
  263. package/dist/tests/properties/theorem-cache.property.test.js +38 -0
  264. package/dist/tests/properties/theorem-cache.property.test.js.map +1 -0
  265. package/dist/tests/properties/trs.property.test.d.ts +2 -0
  266. package/dist/tests/properties/trs.property.test.d.ts.map +1 -0
  267. package/dist/tests/properties/trs.property.test.js +34 -0
  268. package/dist/tests/properties/trs.property.test.js.map +1 -0
  269. package/dist/tests/properties/unification.property.test.d.ts +2 -0
  270. package/dist/tests/properties/unification.property.test.d.ts.map +1 -0
  271. package/dist/tests/properties/unification.property.test.js +42 -0
  272. package/dist/tests/properties/unification.property.test.js.map +1 -0
  273. package/dist/tests/smt-lib/emitter.test.d.ts +2 -0
  274. package/dist/tests/smt-lib/emitter.test.d.ts.map +1 -0
  275. package/dist/tests/smt-lib/emitter.test.js +155 -0
  276. package/dist/tests/smt-lib/emitter.test.js.map +1 -0
  277. package/dist/tests/smt-lib/parser.test.d.ts +2 -0
  278. package/dist/tests/smt-lib/parser.test.d.ts.map +1 -0
  279. package/dist/tests/smt-lib/parser.test.js +164 -0
  280. package/dist/tests/smt-lib/parser.test.js.map +1 -0
  281. package/dist/tests/smt-lib/tokenizer.test.d.ts +2 -0
  282. package/dist/tests/smt-lib/tokenizer.test.d.ts.map +1 -0
  283. package/dist/tests/smt-lib/tokenizer.test.js +59 -0
  284. package/dist/tests/smt-lib/tokenizer.test.js.map +1 -0
  285. package/package.json +2 -1
@@ -0,0 +1,472 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const bdd_1 = require("../../bdd");
5
+ (0, vitest_1.describe)('BDDManager / constructores básicos', () => {
6
+ (0, vitest_1.it)('true_ y false_ son terminales distintos', () => {
7
+ const m = new bdd_1.BDDManager(2);
8
+ const T = m.true_();
9
+ const F = m.false_();
10
+ (0, vitest_1.expect)((0, bdd_1.isTerminal)(T)).toBe(true);
11
+ (0, vitest_1.expect)((0, bdd_1.isTerminal)(F)).toBe(true);
12
+ (0, vitest_1.expect)(T).not.toBe(F);
13
+ if ((0, bdd_1.isTerminal)(T) && (0, bdd_1.isTerminal)(F)) {
14
+ (0, vitest_1.expect)(T.value).toBe(true);
15
+ (0, vitest_1.expect)(F.value).toBe(false);
16
+ }
17
+ });
18
+ (0, vitest_1.it)('variable(i) crea nodo con low=FALSE y high=TRUE', () => {
19
+ const m = new bdd_1.BDDManager(3);
20
+ const x0 = m.variable(0);
21
+ (0, vitest_1.expect)((0, bdd_1.isTerminal)(x0)).toBe(false);
22
+ if (!(0, bdd_1.isTerminal)(x0)) {
23
+ (0, vitest_1.expect)(x0.variable).toBe(0);
24
+ (0, vitest_1.expect)(x0.low).toBe(m.false_());
25
+ (0, vitest_1.expect)(x0.high).toBe(m.true_());
26
+ }
27
+ });
28
+ (0, vitest_1.it)('variable fuera de rango lanza error', () => {
29
+ const m = new bdd_1.BDDManager(2);
30
+ (0, vitest_1.expect)(() => m.variable(2)).toThrow();
31
+ (0, vitest_1.expect)(() => m.variable(-1)).toThrow();
32
+ });
33
+ (0, vitest_1.it)('variable(i) misma llamada devuelve la misma referencia (canonicidad)', () => {
34
+ const m = new bdd_1.BDDManager(3);
35
+ const a = m.variable(1);
36
+ const b = m.variable(1);
37
+ (0, vitest_1.expect)(a).toBe(b);
38
+ });
39
+ });
40
+ (0, vitest_1.describe)('BDDManager / operaciones booleanas', () => {
41
+ (0, vitest_1.it)('not_ doble es identidad', () => {
42
+ const m = new bdd_1.BDDManager(2);
43
+ const x = m.variable(0);
44
+ (0, vitest_1.expect)(m.not_(m.not_(x))).toBe(x);
45
+ });
46
+ (0, vitest_1.it)('and_ con FALSE absorbe a FALSE', () => {
47
+ const m = new bdd_1.BDDManager(2);
48
+ const x = m.variable(0);
49
+ (0, vitest_1.expect)(m.and_(x, m.false_())).toBe(m.false_());
50
+ (0, vitest_1.expect)(m.and_(m.false_(), x)).toBe(m.false_());
51
+ });
52
+ (0, vitest_1.it)('or_ con TRUE absorbe a TRUE', () => {
53
+ const m = new bdd_1.BDDManager(2);
54
+ const x = m.variable(0);
55
+ (0, vitest_1.expect)(m.or_(x, m.true_())).toBe(m.true_());
56
+ (0, vitest_1.expect)(m.or_(m.true_(), x)).toBe(m.true_());
57
+ });
58
+ (0, vitest_1.it)('x ∧ ¬x = FALSE', () => {
59
+ const m = new bdd_1.BDDManager(2);
60
+ const x = m.variable(0);
61
+ const result = m.and_(x, m.not_(x));
62
+ (0, vitest_1.expect)(result).toBe(m.false_());
63
+ (0, vitest_1.expect)(m.equivalent(result, m.false_())).toBe(true);
64
+ });
65
+ (0, vitest_1.it)('x ∨ ¬x = TRUE', () => {
66
+ const m = new bdd_1.BDDManager(2);
67
+ const x = m.variable(0);
68
+ const result = m.or_(x, m.not_(x));
69
+ (0, vitest_1.expect)(result).toBe(m.true_());
70
+ (0, vitest_1.expect)(m.equivalent(result, m.true_())).toBe(true);
71
+ });
72
+ (0, vitest_1.it)('xor es exclusión: x ⊕ x = FALSE, x ⊕ ¬x = TRUE', () => {
73
+ const m = new bdd_1.BDDManager(2);
74
+ const x = m.variable(0);
75
+ (0, vitest_1.expect)(m.xor(x, x)).toBe(m.false_());
76
+ (0, vitest_1.expect)(m.xor(x, m.not_(x))).toBe(m.true_());
77
+ });
78
+ (0, vitest_1.it)('De Morgan: ¬(a ∧ b) = ¬a ∨ ¬b', () => {
79
+ const m = new bdd_1.BDDManager(3);
80
+ const a = m.variable(0);
81
+ const b = m.variable(1);
82
+ const left = m.not_(m.and_(a, b));
83
+ const right = m.or_(m.not_(a), m.not_(b));
84
+ (0, vitest_1.expect)(m.equivalent(left, right)).toBe(true);
85
+ });
86
+ (0, vitest_1.it)('Asociatividad de AND: (a ∧ b) ∧ c = a ∧ (b ∧ c)', () => {
87
+ const m = new bdd_1.BDDManager(3);
88
+ const a = m.variable(0);
89
+ const b = m.variable(1);
90
+ const c = m.variable(2);
91
+ (0, vitest_1.expect)(m.equivalent(m.and_(m.and_(a, b), c), m.and_(a, m.and_(b, c)))).toBe(true);
92
+ });
93
+ (0, vitest_1.it)('Distributividad: a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)', () => {
94
+ const m = new bdd_1.BDDManager(3);
95
+ const a = m.variable(0);
96
+ const b = m.variable(1);
97
+ const c = m.variable(2);
98
+ const left = m.and_(a, m.or_(b, c));
99
+ const right = m.or_(m.and_(a, b), m.and_(a, c));
100
+ (0, vitest_1.expect)(m.equivalent(left, right)).toBe(true);
101
+ });
102
+ });
103
+ (0, vitest_1.describe)('BDDManager / implies, iff, ite', () => {
104
+ (0, vitest_1.it)('implies(a, b) = ¬a ∨ b', () => {
105
+ const m = new bdd_1.BDDManager(2);
106
+ const a = m.variable(0);
107
+ const b = m.variable(1);
108
+ (0, vitest_1.expect)(m.equivalent(m.implies(a, b), m.or_(m.not_(a), b))).toBe(true);
109
+ });
110
+ (0, vitest_1.it)('iff(a, a) = TRUE', () => {
111
+ const m = new bdd_1.BDDManager(2);
112
+ const a = m.variable(0);
113
+ (0, vitest_1.expect)(m.iff(a, a)).toBe(m.true_());
114
+ });
115
+ (0, vitest_1.it)('iff(a, ¬a) = FALSE', () => {
116
+ const m = new bdd_1.BDDManager(2);
117
+ const a = m.variable(0);
118
+ (0, vitest_1.expect)(m.iff(a, m.not_(a))).toBe(m.false_());
119
+ });
120
+ (0, vitest_1.it)('ite(TRUE, t, e) = t; ite(FALSE, t, e) = e', () => {
121
+ const m = new bdd_1.BDDManager(2);
122
+ const t = m.variable(0);
123
+ const e = m.variable(1);
124
+ (0, vitest_1.expect)(m.ite(m.true_(), t, e)).toBe(t);
125
+ (0, vitest_1.expect)(m.ite(m.false_(), t, e)).toBe(e);
126
+ });
127
+ (0, vitest_1.it)('ite(c, TRUE, FALSE) = c', () => {
128
+ const m = new bdd_1.BDDManager(2);
129
+ const c = m.variable(0);
130
+ (0, vitest_1.expect)(m.ite(c, m.true_(), m.false_())).toBe(c);
131
+ });
132
+ (0, vitest_1.it)('ite(c, FALSE, TRUE) = ¬c', () => {
133
+ const m = new bdd_1.BDDManager(2);
134
+ const c = m.variable(0);
135
+ (0, vitest_1.expect)(m.ite(c, m.false_(), m.true_())).toBe(m.not_(c));
136
+ });
137
+ });
138
+ (0, vitest_1.describe)('BDDManager / queries', () => {
139
+ (0, vitest_1.it)('isSatisfiable(false) = false', () => {
140
+ const m = new bdd_1.BDDManager(2);
141
+ (0, vitest_1.expect)(m.isSatisfiable(m.false_())).toBe(false);
142
+ });
143
+ (0, vitest_1.it)('isSatisfiable(true) = true', () => {
144
+ const m = new bdd_1.BDDManager(2);
145
+ (0, vitest_1.expect)(m.isSatisfiable(m.true_())).toBe(true);
146
+ });
147
+ (0, vitest_1.it)('isValid(true) = true; isValid(x) = false', () => {
148
+ const m = new bdd_1.BDDManager(2);
149
+ (0, vitest_1.expect)(m.isValid(m.true_())).toBe(true);
150
+ (0, vitest_1.expect)(m.isValid(m.variable(0))).toBe(false);
151
+ });
152
+ (0, vitest_1.it)('equivalent(A, A) siempre es true', () => {
153
+ const m = new bdd_1.BDDManager(3);
154
+ const f = m.and_(m.variable(0), m.or_(m.variable(1), m.not_(m.variable(2))));
155
+ (0, vitest_1.expect)(m.equivalent(f, f)).toBe(true);
156
+ });
157
+ (0, vitest_1.it)('equivalent(x ∨ ¬x, TRUE) = true (tautología)', () => {
158
+ const m = new bdd_1.BDDManager(2);
159
+ const x = m.variable(0);
160
+ (0, vitest_1.expect)(m.equivalent(m.or_(x, m.not_(x)), m.true_())).toBe(true);
161
+ });
162
+ (0, vitest_1.it)('equivalent(x ∧ ¬x, FALSE) = true (contradicción)', () => {
163
+ const m = new bdd_1.BDDManager(2);
164
+ const x = m.variable(0);
165
+ (0, vitest_1.expect)(m.equivalent(m.and_(x, m.not_(x)), m.false_())).toBe(true);
166
+ });
167
+ (0, vitest_1.it)('satCount(x1 ∨ x2 ∨ x3) sobre 3 vars = 7', () => {
168
+ const m = new bdd_1.BDDManager(3);
169
+ const f = m.or_(m.or_(m.variable(0), m.variable(1)), m.variable(2));
170
+ (0, vitest_1.expect)(m.satCount(f)).toBe(7n);
171
+ });
172
+ (0, vitest_1.it)('satCount(TRUE) sobre n vars = 2^n', () => {
173
+ const m = new bdd_1.BDDManager(5);
174
+ (0, vitest_1.expect)(m.satCount(m.true_())).toBe(32n);
175
+ });
176
+ (0, vitest_1.it)('satCount(FALSE) = 0', () => {
177
+ const m = new bdd_1.BDDManager(5);
178
+ (0, vitest_1.expect)(m.satCount(m.false_())).toBe(0n);
179
+ });
180
+ (0, vitest_1.it)('satCount(x0) sobre 4 vars = 8 (la mitad)', () => {
181
+ const m = new bdd_1.BDDManager(4);
182
+ const x0 = m.variable(0);
183
+ (0, vitest_1.expect)(m.satCount(x0)).toBe(8n);
184
+ });
185
+ (0, vitest_1.it)('satCount(x0 ∧ x1) sobre 4 vars = 4', () => {
186
+ const m = new bdd_1.BDDManager(4);
187
+ const f = m.and_(m.variable(0), m.variable(1));
188
+ (0, vitest_1.expect)(m.satCount(f)).toBe(4n);
189
+ });
190
+ (0, vitest_1.it)('satCount soporta funciones con muchas variables (bigint)', () => {
191
+ const m = new bdd_1.BDDManager(80);
192
+ // x0: la mitad de 2^80 asignaciones
193
+ const x0 = m.variable(0);
194
+ (0, vitest_1.expect)(m.satCount(x0)).toBe(1n << 79n);
195
+ });
196
+ (0, vitest_1.it)('evaluate evalúa correctamente una fórmula', () => {
197
+ const m = new bdd_1.BDDManager(3);
198
+ // f = x0 ∧ (x1 ∨ x2)
199
+ const f = m.and_(m.variable(0), m.or_(m.variable(1), m.variable(2)));
200
+ (0, vitest_1.expect)(m.evaluate(f, [true, false, true])).toBe(true);
201
+ (0, vitest_1.expect)(m.evaluate(f, [true, false, false])).toBe(false);
202
+ (0, vitest_1.expect)(m.evaluate(f, [false, true, true])).toBe(false);
203
+ (0, vitest_1.expect)(m.evaluate(f, [true, true, false])).toBe(true);
204
+ });
205
+ });
206
+ (0, vitest_1.describe)('BDDManager / cuantificadores', () => {
207
+ (0, vitest_1.it)('∃x0. (x0 ∧ x1) = x1', () => {
208
+ const m = new bdd_1.BDDManager(2);
209
+ const x0 = m.variable(0);
210
+ const x1 = m.variable(1);
211
+ const f = m.and_(x0, x1);
212
+ (0, vitest_1.expect)(m.equivalent(m.exists(0, f), x1)).toBe(true);
213
+ });
214
+ (0, vitest_1.it)('∀x0. (x0 ∨ x1) = x1', () => {
215
+ const m = new bdd_1.BDDManager(2);
216
+ const x0 = m.variable(0);
217
+ const x1 = m.variable(1);
218
+ const f = m.or_(x0, x1);
219
+ (0, vitest_1.expect)(m.equivalent(m.forall(0, f), x1)).toBe(true);
220
+ });
221
+ (0, vitest_1.it)('∃x. f es satisfacible si f lo es', () => {
222
+ const m = new bdd_1.BDDManager(3);
223
+ const f = m.and_(m.variable(0), m.variable(1));
224
+ (0, vitest_1.expect)(m.isSatisfiable(m.exists(0, f))).toBe(true);
225
+ });
226
+ (0, vitest_1.it)('∀x. (x) = FALSE (porque x=0 da falso)', () => {
227
+ const m = new bdd_1.BDDManager(2);
228
+ const x = m.variable(0);
229
+ (0, vitest_1.expect)(m.forall(0, x)).toBe(m.false_());
230
+ });
231
+ (0, vitest_1.it)('∃x. (x) = TRUE', () => {
232
+ const m = new bdd_1.BDDManager(2);
233
+ const x = m.variable(0);
234
+ (0, vitest_1.expect)(m.exists(0, x)).toBe(m.true_());
235
+ });
236
+ (0, vitest_1.it)('exists fuera de rango lanza error', () => {
237
+ const m = new bdd_1.BDDManager(2);
238
+ (0, vitest_1.expect)(() => m.exists(5, m.true_())).toThrow();
239
+ });
240
+ });
241
+ (0, vitest_1.describe)('BDDManager / fromCNF', () => {
242
+ (0, vitest_1.it)('CNF vacío = TRUE', () => {
243
+ const m = new bdd_1.BDDManager(3);
244
+ (0, vitest_1.expect)(m.fromCNF([])).toBe(m.true_());
245
+ });
246
+ (0, vitest_1.it)('CNF con clausula vacía = FALSE', () => {
247
+ const m = new bdd_1.BDDManager(3);
248
+ (0, vitest_1.expect)(m.fromCNF([[]])).toBe(m.false_());
249
+ });
250
+ (0, vitest_1.it)('fromCNF([[1,2],[-1,3]]) — DIMACS válido', () => {
251
+ const m = new bdd_1.BDDManager(3);
252
+ const b = m.fromCNF([
253
+ [1, 2],
254
+ [-1, 3],
255
+ ]);
256
+ // (x0 ∨ x1) ∧ (¬x0 ∨ x2)
257
+ // x0=0, x1=0 → primer clausula falsa → 0
258
+ (0, vitest_1.expect)(m.evaluate(b, [false, false, false])).toBe(false);
259
+ (0, vitest_1.expect)(m.evaluate(b, [false, true, false])).toBe(true);
260
+ (0, vitest_1.expect)(m.evaluate(b, [true, false, true])).toBe(true);
261
+ (0, vitest_1.expect)(m.evaluate(b, [true, false, false])).toBe(false);
262
+ });
263
+ (0, vitest_1.it)('fromCNF con literal contradictorio queda UNSAT', () => {
264
+ const m = new bdd_1.BDDManager(2);
265
+ // (x0) ∧ (¬x0) → UNSAT
266
+ const b = m.fromCNF([[1], [-1]]);
267
+ (0, vitest_1.expect)(b).toBe(m.false_());
268
+ (0, vitest_1.expect)(m.isSatisfiable(b)).toBe(false);
269
+ });
270
+ (0, vitest_1.it)('3-SAT con 6 vars: instancia satisfactible', () => {
271
+ const m = new bdd_1.BDDManager(6);
272
+ // Fórmula satisfactible construida a mano:
273
+ // (x1 ∨ x2 ∨ x3) ∧ (¬x1 ∨ x4 ∨ x5) ∧ (¬x4 ∨ x6 ∨ x2)
274
+ const cnf = [
275
+ [1, 2, 3],
276
+ [-1, 4, 5],
277
+ [-4, 6, 2],
278
+ ];
279
+ const b = m.fromCNF(cnf);
280
+ (0, vitest_1.expect)(m.isSatisfiable(b)).toBe(true);
281
+ (0, vitest_1.expect)(m.satCount(b)).toBeGreaterThan(0n);
282
+ });
283
+ (0, vitest_1.it)('3-SAT instance UNSAT detectada (pigeonhole pequeño)', () => {
284
+ // 3 palomas, 2 huecos, modelo:
285
+ // vars: p_ij = paloma i en hueco j, i=1..3, j=1..2 → 6 vars (índices 0..5)
286
+ // mapping: p_ij = var (i-1)*2 + (j-1)
287
+ const m = new bdd_1.BDDManager(6);
288
+ const lit = (i, j) => (i - 1) * 2 + (j - 1) + 1;
289
+ const cnf = [];
290
+ // Cada paloma en al menos un hueco
291
+ for (let i = 1; i <= 3; i++) {
292
+ cnf.push([lit(i, 1), lit(i, 2)]);
293
+ }
294
+ // No dos palomas en el mismo hueco
295
+ for (let j = 1; j <= 2; j++) {
296
+ for (let i1 = 1; i1 <= 3; i1++) {
297
+ for (let i2 = i1 + 1; i2 <= 3; i2++) {
298
+ cnf.push([-lit(i1, j), -lit(i2, j)]);
299
+ }
300
+ }
301
+ }
302
+ const b = m.fromCNF(cnf);
303
+ (0, vitest_1.expect)(m.isSatisfiable(b)).toBe(false);
304
+ (0, vitest_1.expect)(b).toBe(m.false_());
305
+ });
306
+ (0, vitest_1.it)('fromCNF valida literal 0', () => {
307
+ const m = new bdd_1.BDDManager(2);
308
+ (0, vitest_1.expect)(() => m.fromCNF([[0]])).toThrow();
309
+ });
310
+ (0, vitest_1.it)('fromCNF valida rango de variables', () => {
311
+ const m = new bdd_1.BDDManager(2);
312
+ (0, vitest_1.expect)(() => m.fromCNF([[5]])).toThrow();
313
+ });
314
+ });
315
+ (0, vitest_1.describe)('BDDManager / fromFormula', () => {
316
+ (0, vitest_1.it)('parsea árboles simbólicos AND/OR/NOT', () => {
317
+ const m = new bdd_1.BDDManager(3);
318
+ const ast = {
319
+ kind: 'and',
320
+ left: { kind: 'var', index: 0 },
321
+ right: {
322
+ kind: 'or',
323
+ left: { kind: 'not', child: { kind: 'var', index: 1 } },
324
+ right: { kind: 'var', index: 2 },
325
+ },
326
+ };
327
+ const b = m.fromFormula(ast);
328
+ // x0 ∧ (¬x1 ∨ x2)
329
+ (0, vitest_1.expect)(m.evaluate(b, [true, false, false])).toBe(true);
330
+ (0, vitest_1.expect)(m.evaluate(b, [true, true, false])).toBe(false);
331
+ (0, vitest_1.expect)(m.evaluate(b, [true, true, true])).toBe(true);
332
+ (0, vitest_1.expect)(m.evaluate(b, [false, false, true])).toBe(false);
333
+ });
334
+ (0, vitest_1.it)('parsea ite, xor, implies, iff', () => {
335
+ const m = new bdd_1.BDDManager(3);
336
+ const xor = m.fromFormula({
337
+ kind: 'xor',
338
+ left: { kind: 'var', index: 0 },
339
+ right: { kind: 'var', index: 1 },
340
+ });
341
+ (0, vitest_1.expect)(m.equivalent(xor, m.xor(m.variable(0), m.variable(1)))).toBe(true);
342
+ const ite = m.fromFormula({
343
+ kind: 'ite',
344
+ cond: { kind: 'var', index: 0 },
345
+ then: { kind: 'var', index: 1 },
346
+ else: { kind: 'var', index: 2 },
347
+ });
348
+ (0, vitest_1.expect)(m.equivalent(ite, m.ite(m.variable(0), m.variable(1), m.variable(2)))).toBe(true);
349
+ });
350
+ (0, vitest_1.it)('rechaza kind desconocido', () => {
351
+ const m = new bdd_1.BDDManager(2);
352
+ (0, vitest_1.expect)(() => m.fromFormula({ kind: 'bogus' })).toThrow();
353
+ });
354
+ });
355
+ (0, vitest_1.describe)('BDDManager / 8-queens (encoding)', () => {
356
+ // Para 4-queens (4x4 tablero), encoding directo de constraints.
357
+ // 16 vars: q_ij = reina en (i,j), i,j ∈ 0..3 → idx = i*4 + j
358
+ (0, vitest_1.it)('4-queens tiene exactamente 2 soluciones', () => {
359
+ const m = new bdd_1.BDDManager(16);
360
+ const idx = (i, j) => i * 4 + j;
361
+ let formula = m.true_();
362
+ // 1) Cada fila tiene exactamente una reina (al menos una OR + a lo sumo una pairwise)
363
+ for (let i = 0; i < 4; i++) {
364
+ // al menos una
365
+ let rowOr = m.false_();
366
+ for (let j = 0; j < 4; j++) {
367
+ rowOr = m.or_(rowOr, m.variable(idx(i, j)));
368
+ }
369
+ formula = m.and_(formula, rowOr);
370
+ // a lo sumo una
371
+ for (let j1 = 0; j1 < 4; j1++) {
372
+ for (let j2 = j1 + 1; j2 < 4; j2++) {
373
+ formula = m.and_(formula, m.or_(m.not_(m.variable(idx(i, j1))), m.not_(m.variable(idx(i, j2)))));
374
+ }
375
+ }
376
+ }
377
+ // 2) Cada columna a lo sumo una reina
378
+ for (let j = 0; j < 4; j++) {
379
+ for (let i1 = 0; i1 < 4; i1++) {
380
+ for (let i2 = i1 + 1; i2 < 4; i2++) {
381
+ formula = m.and_(formula, m.or_(m.not_(m.variable(idx(i1, j))), m.not_(m.variable(idx(i2, j)))));
382
+ }
383
+ }
384
+ }
385
+ // 3) Diagonales a lo sumo una
386
+ for (let i1 = 0; i1 < 4; i1++) {
387
+ for (let j1 = 0; j1 < 4; j1++) {
388
+ for (let i2 = i1 + 1; i2 < 4; i2++) {
389
+ for (let j2 = 0; j2 < 4; j2++) {
390
+ if (Math.abs(i1 - i2) === Math.abs(j1 - j2)) {
391
+ formula = m.and_(formula, m.or_(m.not_(m.variable(idx(i1, j1))), m.not_(m.variable(idx(i2, j2)))));
392
+ }
393
+ }
394
+ }
395
+ }
396
+ }
397
+ // 4-queens tiene exactamente 2 soluciones
398
+ (0, vitest_1.expect)(m.satCount(formula)).toBe(2n);
399
+ });
400
+ });
401
+ (0, vitest_1.describe)('BDDManager / orden de variables', () => {
402
+ (0, vitest_1.it)('setVarOrder válida tamaño y rango', () => {
403
+ const m = new bdd_1.BDDManager(3);
404
+ (0, vitest_1.expect)(() => m.setVarOrder([0, 1])).toThrow();
405
+ (0, vitest_1.expect)(() => m.setVarOrder([0, 1, 5])).toThrow();
406
+ (0, vitest_1.expect)(() => m.setVarOrder([0, 0, 1])).toThrow();
407
+ });
408
+ (0, vitest_1.it)('misma función con orden distinto puede tener tamaños distintos', () => {
409
+ // función x0 ↔ x1 con orden [0,1] vs [1,0]: ambas dan 3 nodos.
410
+ // Pero (x0 ∧ x1) ∨ (x2 ∧ x3) tiene tamaños distintos según orden.
411
+ const m1 = new bdd_1.BDDManager(4);
412
+ const f1 = m1.or_(m1.and_(m1.variable(0), m1.variable(1)), m1.and_(m1.variable(2), m1.variable(3)));
413
+ const size1 = m1.countReachable(f1);
414
+ const m2 = new bdd_1.BDDManager(4);
415
+ m2.setVarOrder([0, 2, 1, 3]); // interleaving malo
416
+ const f2 = m2.or_(m2.and_(m2.variable(0), m2.variable(1)), m2.and_(m2.variable(2), m2.variable(3)));
417
+ const size2 = m2.countReachable(f2);
418
+ // En general orden malo crece. Verificar al menos: ambos son satisfacibles
419
+ // y representan la misma función semánticamente.
420
+ (0, vitest_1.expect)(size1).toBeGreaterThan(0);
421
+ (0, vitest_1.expect)(size2).toBeGreaterThan(0);
422
+ // El orden bueno suele ser <= el malo (no estricto en este caso pequeño,
423
+ // pero comparamos al menos satCount).
424
+ (0, vitest_1.expect)(m1.satCount(f1)).toBe(m2.satCount(f2));
425
+ });
426
+ (0, vitest_1.it)('stats reporta nodos y reducciones', () => {
427
+ const m = new bdd_1.BDDManager(3);
428
+ m.and_(m.variable(0), m.variable(1));
429
+ m.and_(m.variable(0), m.variable(1)); // hit en memo
430
+ const s = m.stats();
431
+ (0, vitest_1.expect)(s.nodes).toBeGreaterThan(0);
432
+ (0, vitest_1.expect)(s.reductions).toBeGreaterThanOrEqual(0);
433
+ });
434
+ (0, vitest_1.it)('countReachable cuenta correctamente nodos del DAG', () => {
435
+ const m = new bdd_1.BDDManager(3);
436
+ const x0 = m.variable(0);
437
+ // un solo nodo interno
438
+ (0, vitest_1.expect)(m.countReachable(x0)).toBe(1);
439
+ // terminales no se cuentan
440
+ (0, vitest_1.expect)(m.countReachable(m.true_())).toBe(0);
441
+ (0, vitest_1.expect)(m.countReachable(m.false_())).toBe(0);
442
+ });
443
+ });
444
+ (0, vitest_1.describe)('BDDManager / propiedades semánticas exhaustivas', () => {
445
+ (0, vitest_1.it)('tabla de verdad: 4 vars, (x0 ∧ ¬x1) ∨ x3 evaluada en todas las asignaciones', () => {
446
+ const m = new bdd_1.BDDManager(4);
447
+ const f = m.or_(m.and_(m.variable(0), m.not_(m.variable(1))), m.variable(3));
448
+ let sat = 0n;
449
+ for (let mask = 0; mask < 16; mask++) {
450
+ const a = [(mask & 1) !== 0, (mask & 2) !== 0, (mask & 4) !== 0, (mask & 8) !== 0];
451
+ const expected = (a[0] && !a[1]) || a[3];
452
+ (0, vitest_1.expect)(m.evaluate(f, a)).toBe(expected);
453
+ if (expected)
454
+ sat++;
455
+ }
456
+ (0, vitest_1.expect)(m.satCount(f)).toBe(sat);
457
+ });
458
+ (0, vitest_1.it)('equivalencia canónica: dos construcciones distintas de la misma fn dan misma referencia', () => {
459
+ const m = new bdd_1.BDDManager(3);
460
+ const fA = m.and_(m.or_(m.variable(0), m.variable(1)), m.variable(2));
461
+ const fB = m.or_(m.and_(m.variable(0), m.variable(2)), m.and_(m.variable(1), m.variable(2)));
462
+ (0, vitest_1.expect)(fA).toBe(fB); // canonicidad
463
+ (0, vitest_1.expect)(m.equivalent(fA, fB)).toBe(true);
464
+ });
465
+ (0, vitest_1.it)('idempotencia: AND/OR consigo mismo da identidad', () => {
466
+ const m = new bdd_1.BDDManager(3);
467
+ const f = m.and_(m.variable(0), m.or_(m.variable(1), m.variable(2)));
468
+ (0, vitest_1.expect)(m.and_(f, f)).toBe(f);
469
+ (0, vitest_1.expect)(m.or_(f, f)).toBe(f);
470
+ });
471
+ });
472
+ //# sourceMappingURL=manager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.test.js","sourceRoot":"","sources":["../../../src/tests/bdd/manager.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=game-theory.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-theory.test.d.ts","sourceRoot":"","sources":["../../../src/tests/game-theory/game-theory.test.ts"],"names":[],"mappings":""}