@stevenvo780/st-lang 4.6.0 → 4.8.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 (2674) hide show
  1. package/dist/api.d.ts +1 -1
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +2 -2
  4. package/dist/api.js.map +1 -1
  5. package/dist/cli/index.js +1 -1
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/index.d.ts +52 -52
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +31 -31
  10. package/dist/index.js.map +1 -1
  11. package/dist/logic/profile-bridge/index.d.ts +64 -0
  12. package/dist/logic/profile-bridge/index.d.ts.map +1 -0
  13. package/dist/logic/profile-bridge/index.js.map +1 -0
  14. package/dist/logic/profiles/aristotelian/syllogistic.d.ts +14 -0
  15. package/dist/logic/profiles/aristotelian/syllogistic.d.ts.map +1 -0
  16. package/dist/logic/profiles/aristotelian/syllogistic.js.map +1 -0
  17. package/dist/logic/profiles/arithmetic/index.d.ts +15 -0
  18. package/dist/logic/profiles/arithmetic/index.d.ts.map +1 -0
  19. package/dist/logic/profiles/arithmetic/index.js.map +1 -0
  20. package/dist/logic/profiles/classical/cdcl.d.ts +34 -0
  21. package/dist/logic/profiles/classical/cdcl.d.ts.map +1 -0
  22. package/dist/logic/profiles/classical/cdcl.js.map +1 -0
  23. package/dist/logic/profiles/classical/dpll.d.ts +20 -0
  24. package/dist/logic/profiles/classical/dpll.d.ts.map +1 -0
  25. package/dist/logic/profiles/classical/dpll.js.map +1 -0
  26. package/dist/logic/profiles/classical/first-order.d.ts +20 -0
  27. package/dist/logic/profiles/classical/first-order.d.ts.map +1 -0
  28. package/dist/logic/profiles/classical/first-order.js.map +1 -0
  29. package/dist/logic/profiles/classical/parallel-sat.d.ts.map +1 -0
  30. package/dist/logic/profiles/classical/parallel-sat.js.map +1 -0
  31. package/dist/logic/profiles/classical/propositional.d.ts +30 -0
  32. package/dist/logic/profiles/classical/propositional.d.ts.map +1 -0
  33. package/dist/logic/profiles/classical/propositional.js +2868 -0
  34. package/dist/logic/profiles/classical/propositional.js.map +1 -0
  35. package/dist/logic/profiles/classical/sat-preprocess.d.ts.map +1 -0
  36. package/dist/logic/profiles/classical/sat-preprocess.js.map +1 -0
  37. package/dist/logic/profiles/classical/undecidability-detector.d.ts +13 -0
  38. package/dist/logic/profiles/classical/undecidability-detector.d.ts.map +1 -0
  39. package/dist/logic/profiles/classical/undecidability-detector.js.map +1 -0
  40. package/dist/logic/profiles/ctl/check.d.ts.map +1 -0
  41. package/dist/logic/profiles/ctl/check.js.map +1 -0
  42. package/dist/logic/profiles/ctl/index.d.ts.map +1 -0
  43. package/dist/logic/profiles/ctl/index.js.map +1 -0
  44. package/dist/logic/profiles/ctl/types.d.ts.map +1 -0
  45. package/dist/logic/profiles/ctl/types.js.map +1 -0
  46. package/dist/logic/profiles/ctl/witness.d.ts.map +1 -0
  47. package/dist/logic/profiles/ctl/witness.js.map +1 -0
  48. package/dist/logic/profiles/default-logic/entailment.d.ts.map +1 -0
  49. package/dist/logic/profiles/default-logic/entailment.js.map +1 -0
  50. package/dist/logic/profiles/default-logic/extensions.d.ts.map +1 -0
  51. package/dist/logic/profiles/default-logic/extensions.js.map +1 -0
  52. package/dist/logic/profiles/default-logic/index.d.ts.map +1 -0
  53. package/dist/logic/profiles/default-logic/index.js.map +1 -0
  54. package/dist/logic/profiles/default-logic/types.d.ts.map +1 -0
  55. package/dist/logic/profiles/default-logic/types.js.map +1 -0
  56. package/dist/logic/profiles/deontic/standard.d.ts +10 -0
  57. package/dist/logic/profiles/deontic/standard.d.ts.map +1 -0
  58. package/dist/logic/profiles/deontic/standard.js.map +1 -0
  59. package/dist/logic/profiles/description-logic/index.d.ts.map +1 -0
  60. package/dist/logic/profiles/description-logic/index.js.map +1 -0
  61. package/dist/logic/profiles/description-logic/nnf.d.ts.map +1 -0
  62. package/dist/logic/profiles/description-logic/nnf.js.map +1 -0
  63. package/dist/logic/profiles/description-logic/tableau.d.ts.map +1 -0
  64. package/dist/logic/profiles/description-logic/tableau.js.map +1 -0
  65. package/dist/logic/profiles/description-logic/types.d.ts.map +1 -0
  66. package/dist/logic/profiles/description-logic/types.js.map +1 -0
  67. package/dist/logic/profiles/epistemic/s5.d.ts +10 -0
  68. package/dist/logic/profiles/epistemic/s5.d.ts.map +1 -0
  69. package/dist/logic/profiles/epistemic/s5.js.map +1 -0
  70. package/dist/logic/profiles/hybrid-logic/index.d.ts.map +1 -0
  71. package/dist/logic/profiles/hybrid-logic/index.js.map +1 -0
  72. package/dist/logic/profiles/hybrid-logic/sat.d.ts.map +1 -0
  73. package/dist/logic/profiles/hybrid-logic/sat.js.map +1 -0
  74. package/dist/logic/profiles/hybrid-logic/semantics.d.ts.map +1 -0
  75. package/dist/logic/profiles/hybrid-logic/semantics.js.map +1 -0
  76. package/dist/logic/profiles/hybrid-logic/types.d.ts.map +1 -0
  77. package/dist/logic/profiles/hybrid-logic/types.js.map +1 -0
  78. package/dist/logic/profiles/index.d.ts.map +1 -0
  79. package/dist/logic/profiles/index.js.map +1 -0
  80. package/dist/logic/profiles/interface.d.ts +11 -0
  81. package/dist/logic/profiles/interface.d.ts.map +1 -0
  82. package/dist/logic/profiles/interface.js.map +1 -0
  83. package/dist/logic/profiles/intuitionistic/propositional.d.ts +14 -0
  84. package/dist/logic/profiles/intuitionistic/propositional.d.ts.map +1 -0
  85. package/dist/logic/profiles/intuitionistic/propositional.js.map +1 -0
  86. package/dist/logic/profiles/intuitionistic-nj/formula.d.ts.map +1 -0
  87. package/dist/logic/profiles/intuitionistic-nj/formula.js.map +1 -0
  88. package/dist/logic/profiles/intuitionistic-nj/index.d.ts.map +1 -0
  89. package/dist/logic/profiles/intuitionistic-nj/index.js.map +1 -0
  90. package/dist/logic/profiles/intuitionistic-nj/kripke.d.ts.map +1 -0
  91. package/dist/logic/profiles/intuitionistic-nj/kripke.js.map +1 -0
  92. package/dist/logic/profiles/intuitionistic-nj/prover.d.ts.map +1 -0
  93. package/dist/logic/profiles/intuitionistic-nj/prover.js.map +1 -0
  94. package/dist/logic/profiles/intuitionistic-nj/types.d.ts.map +1 -0
  95. package/dist/logic/profiles/intuitionistic-nj/types.js.map +1 -0
  96. package/dist/logic/profiles/ltl-sat/index.d.ts.map +1 -0
  97. package/dist/logic/profiles/ltl-sat/index.js.map +1 -0
  98. package/dist/logic/profiles/ltl-sat/sat.d.ts.map +1 -0
  99. package/dist/logic/profiles/ltl-sat/sat.js.map +1 -0
  100. package/dist/logic/profiles/ltl-sat/tableau.d.ts.map +1 -0
  101. package/dist/logic/profiles/ltl-sat/tableau.js.map +1 -0
  102. package/dist/logic/profiles/ltl-sat/types.d.ts.map +1 -0
  103. package/dist/logic/profiles/ltl-sat/types.js.map +1 -0
  104. package/dist/logic/profiles/many-valued/index.d.ts.map +1 -0
  105. package/dist/logic/profiles/many-valued/index.js.map +1 -0
  106. package/dist/logic/profiles/modal/k.d.ts +10 -0
  107. package/dist/logic/profiles/modal/k.d.ts.map +1 -0
  108. package/dist/logic/profiles/modal/k.js.map +1 -0
  109. package/dist/logic/profiles/modal-frame-axioms/formula.d.ts.map +1 -0
  110. package/dist/logic/profiles/modal-frame-axioms/formula.js.map +1 -0
  111. package/dist/logic/profiles/modal-frame-axioms/index.d.ts.map +1 -0
  112. package/dist/logic/profiles/modal-frame-axioms/index.js.map +1 -0
  113. package/dist/logic/profiles/modal-frame-axioms/systems.d.ts.map +1 -0
  114. package/dist/logic/profiles/modal-frame-axioms/systems.js.map +1 -0
  115. package/dist/logic/profiles/modal-frame-axioms/tableau.d.ts.map +1 -0
  116. package/dist/logic/profiles/modal-frame-axioms/tableau.js.map +1 -0
  117. package/dist/logic/profiles/modal-frame-axioms/types.d.ts.map +1 -0
  118. package/dist/logic/profiles/modal-frame-axioms/types.js.map +1 -0
  119. package/dist/logic/profiles/mu-calculus/check.d.ts.map +1 -0
  120. package/dist/logic/profiles/mu-calculus/check.js.map +1 -0
  121. package/dist/logic/profiles/mu-calculus/ctl-translate.d.ts.map +1 -0
  122. package/dist/logic/profiles/mu-calculus/ctl-translate.js.map +1 -0
  123. package/dist/logic/profiles/mu-calculus/index.d.ts.map +1 -0
  124. package/dist/logic/profiles/mu-calculus/index.js.map +1 -0
  125. package/dist/logic/profiles/mu-calculus/types.d.ts.map +1 -0
  126. package/dist/logic/profiles/mu-calculus/types.js.map +1 -0
  127. package/dist/logic/profiles/mu-calculus/wellformed.d.ts.map +1 -0
  128. package/dist/logic/profiles/mu-calculus/wellformed.js.map +1 -0
  129. package/dist/logic/profiles/paraconsistent/belnap.d.ts +28 -0
  130. package/dist/logic/profiles/paraconsistent/belnap.d.ts.map +1 -0
  131. package/dist/logic/profiles/paraconsistent/belnap.js.map +1 -0
  132. package/dist/logic/profiles/probabilistic/basic.d.ts +18 -0
  133. package/dist/logic/profiles/probabilistic/basic.d.ts.map +1 -0
  134. package/dist/logic/profiles/probabilistic/basic.js.map +1 -0
  135. package/dist/logic/profiles/sequent-g3/index.d.ts.map +1 -0
  136. package/dist/logic/profiles/sequent-g3/index.js.map +1 -0
  137. package/dist/logic/profiles/sequent-g3/latex.d.ts.map +1 -0
  138. package/dist/logic/profiles/sequent-g3/latex.js.map +1 -0
  139. package/dist/logic/profiles/sequent-g3/normalize.d.ts +15 -0
  140. package/dist/logic/profiles/sequent-g3/normalize.d.ts.map +1 -0
  141. package/dist/logic/profiles/sequent-g3/normalize.js.map +1 -0
  142. package/dist/logic/profiles/sequent-g3/prover.d.ts +16 -0
  143. package/dist/logic/profiles/sequent-g3/prover.d.ts.map +1 -0
  144. package/dist/logic/profiles/sequent-g3/prover.js.map +1 -0
  145. package/dist/logic/profiles/sequent-g3/types.d.ts +30 -0
  146. package/dist/logic/profiles/sequent-g3/types.d.ts.map +1 -0
  147. package/dist/logic/profiles/sequent-g3/types.js.map +1 -0
  148. package/dist/logic/profiles/sequent-lk/cut-elimination.d.ts.map +1 -0
  149. package/dist/logic/profiles/sequent-lk/cut-elimination.js.map +1 -0
  150. package/dist/logic/profiles/sequent-lk/index.d.ts.map +1 -0
  151. package/dist/logic/profiles/sequent-lk/index.js.map +1 -0
  152. package/dist/logic/profiles/sequent-lk/prover.d.ts.map +1 -0
  153. package/dist/logic/profiles/sequent-lk/prover.js.map +1 -0
  154. package/dist/logic/profiles/sequent-lk/types.d.ts.map +1 -0
  155. package/dist/logic/profiles/sequent-lk/types.js.map +1 -0
  156. package/dist/logic/profiles/sequent-lk/util.d.ts.map +1 -0
  157. package/dist/logic/profiles/sequent-lk/util.js.map +1 -0
  158. package/dist/logic/profiles/shared/base-profile.d.ts +22 -0
  159. package/dist/logic/profiles/shared/base-profile.d.ts.map +1 -0
  160. package/dist/logic/profiles/shared/base-profile.js +219 -0
  161. package/dist/logic/profiles/shared/base-profile.js.map +1 -0
  162. package/dist/logic/profiles/shared/tableau-engine.d.ts +73 -0
  163. package/dist/logic/profiles/shared/tableau-engine.d.ts.map +1 -0
  164. package/dist/logic/profiles/shared/tableau-engine.js +684 -0
  165. package/dist/logic/profiles/shared/tableau-engine.js.map +1 -0
  166. package/dist/logic/profiles/substructural/index.d.ts.map +1 -0
  167. package/dist/logic/profiles/substructural/index.js.map +1 -0
  168. package/dist/logic/profiles/substructural/prover.d.ts.map +1 -0
  169. package/dist/logic/profiles/substructural/prover.js.map +1 -0
  170. package/dist/logic/profiles/substructural/types.d.ts.map +1 -0
  171. package/dist/logic/profiles/substructural/types.js.map +1 -0
  172. package/dist/logic/profiles/temporal/ltl.d.ts +12 -0
  173. package/dist/logic/profiles/temporal/ltl.d.ts.map +1 -0
  174. package/dist/logic/profiles/temporal/ltl.js.map +1 -0
  175. package/dist/namespaces/logic.d.ts +28 -28
  176. package/dist/namespaces/logic.d.ts.map +1 -1
  177. package/dist/namespaces/logic.js +27 -27
  178. package/dist/namespaces/logic.js.map +1 -1
  179. package/dist/namespaces/proof-systems.d.ts +6 -6
  180. package/dist/namespaces/proof-systems.d.ts.map +1 -1
  181. package/dist/namespaces/proof-systems.js +6 -6
  182. package/dist/namespaces/proof-systems.js.map +1 -1
  183. package/dist/namespaces/reasoning.d.ts +9 -8
  184. package/dist/namespaces/reasoning.d.ts.map +1 -1
  185. package/dist/namespaces/reasoning.js +10 -8
  186. package/dist/namespaces/reasoning.js.map +1 -1
  187. package/dist/namespaces/semantics.d.ts +5 -5
  188. package/dist/namespaces/semantics.d.ts.map +1 -1
  189. package/dist/namespaces/semantics.js +5 -5
  190. package/dist/namespaces/semantics.js.map +1 -1
  191. package/dist/namespaces/solvers.d.ts +3 -3
  192. package/dist/namespaces/solvers.d.ts.map +1 -1
  193. package/dist/namespaces/solvers.js +3 -3
  194. package/dist/namespaces/solvers.js.map +1 -1
  195. package/dist/namespaces/type-theory.d.ts +8 -8
  196. package/dist/namespaces/type-theory.d.ts.map +1 -1
  197. package/dist/namespaces/type-theory.js +8 -8
  198. package/dist/namespaces/type-theory.js.map +1 -1
  199. package/dist/proof-systems/fol-prover/cnf.d.ts +10 -0
  200. package/dist/proof-systems/fol-prover/cnf.d.ts.map +1 -0
  201. package/dist/proof-systems/fol-prover/cnf.js.map +1 -0
  202. package/dist/proof-systems/fol-prover/index.d.ts.map +1 -0
  203. package/dist/proof-systems/fol-prover/index.js.map +1 -0
  204. package/dist/proof-systems/fol-prover/prove.d.ts +4 -0
  205. package/dist/proof-systems/fol-prover/prove.d.ts.map +1 -0
  206. package/dist/proof-systems/fol-prover/prove.js.map +1 -0
  207. package/dist/proof-systems/fol-prover/resolve.d.ts.map +1 -0
  208. package/dist/proof-systems/fol-prover/resolve.js.map +1 -0
  209. package/dist/proof-systems/fol-prover/types.d.ts.map +1 -0
  210. package/dist/proof-systems/fol-prover/types.js.map +1 -0
  211. package/dist/proof-systems/fol-prover/unify.d.ts.map +1 -0
  212. package/dist/proof-systems/fol-prover/unify.js.map +1 -0
  213. package/dist/proof-systems/fol-prover-equality/demodulate.d.ts.map +1 -0
  214. package/dist/proof-systems/fol-prover-equality/demodulate.js.map +1 -0
  215. package/dist/proof-systems/fol-prover-equality/index.d.ts.map +1 -0
  216. package/dist/proof-systems/fol-prover-equality/index.js.map +1 -0
  217. package/dist/proof-systems/fol-prover-equality/paramodulate.d.ts.map +1 -0
  218. package/dist/proof-systems/fol-prover-equality/paramodulate.js.map +1 -0
  219. package/dist/proof-systems/fol-prover-equality/prove.d.ts +7 -0
  220. package/dist/proof-systems/fol-prover-equality/prove.d.ts.map +1 -0
  221. package/dist/proof-systems/fol-prover-equality/prove.js.map +1 -0
  222. package/dist/proof-systems/fol-prover-equality/term-utils.d.ts.map +1 -0
  223. package/dist/proof-systems/fol-prover-equality/term-utils.js.map +1 -0
  224. package/dist/proof-systems/fol-prover-equality/types.d.ts.map +1 -0
  225. package/dist/proof-systems/fol-prover-equality/types.js.map +1 -0
  226. package/dist/proof-systems/higher-order-unify/index.d.ts.map +1 -0
  227. package/dist/proof-systems/higher-order-unify/index.js.map +1 -0
  228. package/dist/proof-systems/higher-order-unify/normalize.d.ts.map +1 -0
  229. package/dist/proof-systems/higher-order-unify/normalize.js.map +1 -0
  230. package/dist/proof-systems/higher-order-unify/pattern.d.ts.map +1 -0
  231. package/dist/proof-systems/higher-order-unify/pattern.js.map +1 -0
  232. package/dist/proof-systems/higher-order-unify/types.d.ts.map +1 -0
  233. package/dist/proof-systems/higher-order-unify/types.js.map +1 -0
  234. package/dist/proof-systems/higher-order-unify/unify.d.ts.map +1 -0
  235. package/dist/proof-systems/higher-order-unify/unify.js.map +1 -0
  236. package/dist/proof-systems/proof-exchange/index.d.ts +24 -0
  237. package/dist/proof-systems/proof-exchange/index.d.ts.map +1 -0
  238. package/dist/proof-systems/proof-exchange/index.js.map +1 -0
  239. package/dist/proof-systems/proof-minify/index.d.ts.map +1 -0
  240. package/dist/proof-systems/proof-minify/index.js.map +1 -0
  241. package/dist/proof-systems/proof-minify/minify.d.ts.map +1 -0
  242. package/dist/proof-systems/proof-minify/minify.js.map +1 -0
  243. package/dist/proof-systems/proof-minify/types.d.ts.map +1 -0
  244. package/dist/proof-systems/proof-minify/types.js.map +1 -0
  245. package/dist/proof-systems/proof-nets/construct.d.ts.map +1 -0
  246. package/dist/proof-systems/proof-nets/construct.js.map +1 -0
  247. package/dist/proof-systems/proof-nets/correctness.d.ts.map +1 -0
  248. package/dist/proof-systems/proof-nets/correctness.js.map +1 -0
  249. package/dist/proof-systems/proof-nets/cut-elim.d.ts.map +1 -0
  250. package/dist/proof-systems/proof-nets/cut-elim.js.map +1 -0
  251. package/dist/proof-systems/proof-nets/index.d.ts.map +1 -0
  252. package/dist/proof-systems/proof-nets/index.js.map +1 -0
  253. package/dist/proof-systems/proof-nets/types.d.ts.map +1 -0
  254. package/dist/proof-systems/proof-nets/types.js.map +1 -0
  255. package/dist/proof-systems/tableau-framework/TableauProver.d.ts.map +1 -0
  256. package/dist/proof-systems/tableau-framework/TableauProver.js.map +1 -0
  257. package/dist/proof-systems/tableau-framework/index.d.ts.map +1 -0
  258. package/dist/proof-systems/tableau-framework/index.js.map +1 -0
  259. package/dist/proof-systems/tableau-framework/propositional.d.ts.map +1 -0
  260. package/dist/proof-systems/tableau-framework/propositional.js.map +1 -0
  261. package/dist/proof-systems/tableau-framework/types.d.ts.map +1 -0
  262. package/dist/proof-systems/tableau-framework/types.js.map +1 -0
  263. package/dist/protocol/handler.js +1 -1
  264. package/dist/protocol/handler.js.map +1 -1
  265. package/dist/reasoning/abduction/entails.d.ts.map +1 -0
  266. package/dist/reasoning/abduction/entails.js.map +1 -0
  267. package/dist/reasoning/abduction/find.d.ts.map +1 -0
  268. package/dist/reasoning/abduction/find.js.map +1 -0
  269. package/dist/reasoning/abduction/index.d.ts.map +1 -0
  270. package/dist/reasoning/abduction/index.js.map +1 -0
  271. package/dist/reasoning/abduction/types.d.ts.map +1 -0
  272. package/dist/reasoning/abduction/types.js.map +1 -0
  273. package/dist/reasoning/argumentation/dot.d.ts.map +1 -0
  274. package/dist/reasoning/argumentation/dot.js.map +1 -0
  275. package/dist/reasoning/argumentation/extensions.d.ts.map +1 -0
  276. package/dist/reasoning/argumentation/extensions.js.map +1 -0
  277. package/dist/reasoning/argumentation/framework.d.ts.map +1 -0
  278. package/dist/reasoning/argumentation/framework.js.map +1 -0
  279. package/dist/reasoning/argumentation/index.d.ts.map +1 -0
  280. package/dist/reasoning/argumentation/index.js.map +1 -0
  281. package/dist/reasoning/argumentation/types.d.ts.map +1 -0
  282. package/dist/reasoning/argumentation/types.js.map +1 -0
  283. package/dist/reasoning/bayesian/factor.d.ts.map +1 -0
  284. package/dist/reasoning/bayesian/factor.js.map +1 -0
  285. package/dist/reasoning/bayesian/index.d.ts.map +1 -0
  286. package/dist/reasoning/bayesian/index.js.map +1 -0
  287. package/dist/reasoning/bayesian/inference.d.ts.map +1 -0
  288. package/dist/reasoning/bayesian/inference.js.map +1 -0
  289. package/dist/reasoning/bayesian/types.d.ts.map +1 -0
  290. package/dist/reasoning/bayesian/types.js.map +1 -0
  291. package/dist/reasoning/belief-revision/agm.d.ts.map +1 -0
  292. package/dist/reasoning/belief-revision/agm.js.map +1 -0
  293. package/dist/reasoning/belief-revision/index.d.ts.map +1 -0
  294. package/dist/reasoning/belief-revision/index.js.map +1 -0
  295. package/dist/reasoning/belief-revision/parser.d.ts.map +1 -0
  296. package/dist/reasoning/belief-revision/parser.js.map +1 -0
  297. package/dist/reasoning/belief-revision/sat.d.ts.map +1 -0
  298. package/dist/reasoning/belief-revision/sat.js.map +1 -0
  299. package/dist/reasoning/belief-revision/types.d.ts.map +1 -0
  300. package/dist/reasoning/belief-revision/types.js.map +1 -0
  301. package/dist/reasoning/citation-reasoning/derive.d.ts.map +1 -0
  302. package/dist/reasoning/citation-reasoning/derive.js.map +1 -0
  303. package/dist/reasoning/citation-reasoning/index.d.ts.map +1 -0
  304. package/dist/reasoning/citation-reasoning/index.js.map +1 -0
  305. package/dist/reasoning/citation-reasoning/types.d.ts.map +1 -0
  306. package/dist/reasoning/citation-reasoning/types.js.map +1 -0
  307. package/dist/reasoning/combinatorial-games/index.d.ts +105 -0
  308. package/dist/reasoning/combinatorial-games/index.d.ts.map +1 -0
  309. package/dist/reasoning/combinatorial-games/index.js +377 -0
  310. package/dist/reasoning/combinatorial-games/index.js.map +1 -0
  311. package/dist/reasoning/constructive-reals/index.d.ts.map +1 -0
  312. package/dist/reasoning/constructive-reals/index.js.map +1 -0
  313. package/dist/reasoning/fca/context.d.ts.map +1 -0
  314. package/dist/reasoning/fca/context.js.map +1 -0
  315. package/dist/reasoning/fca/implications.d.ts.map +1 -0
  316. package/dist/reasoning/fca/implications.js.map +1 -0
  317. package/dist/reasoning/fca/index.d.ts.map +1 -0
  318. package/dist/reasoning/fca/index.js.map +1 -0
  319. package/dist/reasoning/fca/lattice.d.ts.map +1 -0
  320. package/dist/reasoning/fca/lattice.js.map +1 -0
  321. package/dist/reasoning/fca/next-closure.d.ts.map +1 -0
  322. package/dist/reasoning/fca/next-closure.js.map +1 -0
  323. package/dist/reasoning/fca/types.d.ts.map +1 -0
  324. package/dist/reasoning/fca/types.js.map +1 -0
  325. package/dist/reasoning/game-theory/common-games.d.ts.map +1 -0
  326. package/dist/reasoning/game-theory/common-games.js.map +1 -0
  327. package/dist/reasoning/game-theory/dominance.d.ts.map +1 -0
  328. package/dist/reasoning/game-theory/dominance.js.map +1 -0
  329. package/dist/reasoning/game-theory/index.d.ts.map +1 -0
  330. package/dist/reasoning/game-theory/index.js.map +1 -0
  331. package/dist/reasoning/game-theory/lemke-howson.d.ts.map +1 -0
  332. package/dist/reasoning/game-theory/lemke-howson.js.map +1 -0
  333. package/dist/reasoning/game-theory/linalg.d.ts.map +1 -0
  334. package/dist/reasoning/game-theory/linalg.js.map +1 -0
  335. package/dist/reasoning/game-theory/pure-nash.d.ts.map +1 -0
  336. package/dist/reasoning/game-theory/pure-nash.js.map +1 -0
  337. package/dist/reasoning/game-theory/support-enumeration.d.ts.map +1 -0
  338. package/dist/reasoning/game-theory/support-enumeration.js.map +1 -0
  339. package/dist/reasoning/game-theory/types.d.ts.map +1 -0
  340. package/dist/reasoning/game-theory/types.js.map +1 -0
  341. package/dist/reasoning/hyperreal/index.d.ts.map +1 -0
  342. package/dist/reasoning/hyperreal/index.js.map +1 -0
  343. package/dist/reasoning/information-theory/index.d.ts.map +1 -0
  344. package/dist/reasoning/information-theory/index.js.map +1 -0
  345. package/dist/reasoning/lemma-synthesis/index.d.ts.map +1 -0
  346. package/dist/reasoning/lemma-synthesis/index.js.map +1 -0
  347. package/dist/reasoning/markov-logic/grounding.d.ts.map +1 -0
  348. package/dist/reasoning/markov-logic/grounding.js.map +1 -0
  349. package/dist/reasoning/markov-logic/index.d.ts.map +1 -0
  350. package/dist/reasoning/markov-logic/index.js.map +1 -0
  351. package/dist/reasoning/markov-logic/inference.d.ts.map +1 -0
  352. package/dist/reasoning/markov-logic/inference.js.map +1 -0
  353. package/dist/reasoning/markov-logic/parser.d.ts.map +1 -0
  354. package/dist/reasoning/markov-logic/parser.js.map +1 -0
  355. package/dist/reasoning/markov-logic/types.d.ts.map +1 -0
  356. package/dist/reasoning/markov-logic/types.js.map +1 -0
  357. package/dist/reasoning/mechanism-design/auctions.d.ts +49 -0
  358. package/dist/reasoning/mechanism-design/auctions.d.ts.map +1 -0
  359. package/dist/reasoning/mechanism-design/auctions.js +179 -0
  360. package/dist/reasoning/mechanism-design/auctions.js.map +1 -0
  361. package/dist/reasoning/mechanism-design/index.d.ts +5 -0
  362. package/dist/reasoning/mechanism-design/index.d.ts.map +1 -0
  363. package/dist/reasoning/mechanism-design/index.js +39 -0
  364. package/dist/reasoning/mechanism-design/index.js.map +1 -0
  365. package/dist/reasoning/mechanism-design/myerson.d.ts +64 -0
  366. package/dist/reasoning/mechanism-design/myerson.d.ts.map +1 -0
  367. package/dist/reasoning/mechanism-design/myerson.js +253 -0
  368. package/dist/reasoning/mechanism-design/myerson.js.map +1 -0
  369. package/dist/reasoning/mechanism-design/types.d.ts +44 -0
  370. package/dist/reasoning/mechanism-design/types.d.ts.map +1 -0
  371. package/dist/reasoning/mechanism-design/types.js +22 -0
  372. package/dist/reasoning/mechanism-design/types.js.map +1 -0
  373. package/dist/reasoning/mechanism-design/vcg.d.ts +29 -0
  374. package/dist/reasoning/mechanism-design/vcg.d.ts.map +1 -0
  375. package/dist/reasoning/mechanism-design/vcg.js +305 -0
  376. package/dist/reasoning/mechanism-design/vcg.js.map +1 -0
  377. package/dist/reasoning/optimization/branch-and-bound.d.ts.map +1 -0
  378. package/dist/reasoning/optimization/branch-and-bound.js.map +1 -0
  379. package/dist/reasoning/optimization/index.d.ts.map +1 -0
  380. package/dist/reasoning/optimization/index.js.map +1 -0
  381. package/dist/reasoning/optimization/simplex.d.ts.map +1 -0
  382. package/dist/reasoning/optimization/simplex.js.map +1 -0
  383. package/dist/reasoning/optimization/standard-form.d.ts.map +1 -0
  384. package/dist/reasoning/optimization/standard-form.js.map +1 -0
  385. package/dist/reasoning/optimization/types.d.ts.map +1 -0
  386. package/dist/reasoning/optimization/types.js.map +1 -0
  387. package/dist/reasoning/planning/astar.d.ts.map +1 -0
  388. package/dist/reasoning/planning/astar.js.map +1 -0
  389. package/dist/reasoning/planning/bfs.d.ts.map +1 -0
  390. package/dist/reasoning/planning/bfs.js.map +1 -0
  391. package/dist/reasoning/planning/ground.d.ts.map +1 -0
  392. package/dist/reasoning/planning/ground.js.map +1 -0
  393. package/dist/reasoning/planning/heuristic.d.ts.map +1 -0
  394. package/dist/reasoning/planning/heuristic.js.map +1 -0
  395. package/dist/reasoning/planning/index.d.ts.map +1 -0
  396. package/dist/reasoning/planning/index.js.map +1 -0
  397. package/dist/reasoning/planning/types.d.ts.map +1 -0
  398. package/dist/reasoning/planning/types.js.map +1 -0
  399. package/dist/reasoning/probabilistic/distributions.d.ts +44 -0
  400. package/dist/reasoning/probabilistic/distributions.d.ts.map +1 -0
  401. package/dist/reasoning/probabilistic/distributions.js +207 -0
  402. package/dist/reasoning/probabilistic/distributions.js.map +1 -0
  403. package/dist/reasoning/probabilistic/examples.d.ts +31 -0
  404. package/dist/reasoning/probabilistic/examples.d.ts.map +1 -0
  405. package/dist/reasoning/probabilistic/examples.js +85 -0
  406. package/dist/reasoning/probabilistic/examples.js.map +1 -0
  407. package/dist/reasoning/probabilistic/index.d.ts +6 -0
  408. package/dist/reasoning/probabilistic/index.d.ts.map +1 -0
  409. package/dist/reasoning/probabilistic/index.js +42 -0
  410. package/dist/reasoning/probabilistic/index.js.map +1 -0
  411. package/dist/reasoning/probabilistic/inference.d.ts +45 -0
  412. package/dist/reasoning/probabilistic/inference.d.ts.map +1 -0
  413. package/dist/reasoning/probabilistic/inference.js +579 -0
  414. package/dist/reasoning/probabilistic/inference.js.map +1 -0
  415. package/dist/reasoning/probabilistic/types.d.ts +153 -0
  416. package/dist/reasoning/probabilistic/types.d.ts.map +1 -0
  417. package/dist/reasoning/probabilistic/types.js +37 -0
  418. package/dist/reasoning/probabilistic/types.js.map +1 -0
  419. package/dist/reasoning/tactic-dsl/combinators.d.ts.map +1 -0
  420. package/dist/reasoning/tactic-dsl/combinators.js.map +1 -0
  421. package/dist/reasoning/tactic-dsl/index.d.ts.map +1 -0
  422. package/dist/reasoning/tactic-dsl/index.js.map +1 -0
  423. package/dist/reasoning/tactic-dsl/tactics.d.ts.map +1 -0
  424. package/dist/reasoning/tactic-dsl/tactics.js.map +1 -0
  425. package/dist/reasoning/tactic-dsl/types.d.ts.map +1 -0
  426. package/dist/reasoning/tactic-dsl/types.js.map +1 -0
  427. package/dist/repl/repl.js +2 -2
  428. package/dist/repl/repl.js.map +1 -1
  429. package/dist/runtime/bdd/index.d.ts.map +1 -0
  430. package/dist/runtime/bdd/index.js.map +1 -0
  431. package/dist/runtime/bdd/manager.d.ts.map +1 -0
  432. package/dist/runtime/bdd/manager.js.map +1 -0
  433. package/dist/runtime/bdd/types.d.ts.map +1 -0
  434. package/dist/runtime/bdd/types.js.map +1 -0
  435. package/dist/runtime/cross-system-compare.d.ts +1 -1
  436. package/dist/runtime/cross-system-compare.d.ts.map +1 -1
  437. package/dist/runtime/csp-hoare/analysis.d.ts.map +1 -0
  438. package/dist/runtime/csp-hoare/analysis.js.map +1 -0
  439. package/dist/runtime/csp-hoare/examples.d.ts.map +1 -0
  440. package/dist/runtime/csp-hoare/examples.js.map +1 -0
  441. package/dist/runtime/csp-hoare/index.d.ts.map +1 -0
  442. package/dist/runtime/csp-hoare/index.js.map +1 -0
  443. package/dist/runtime/csp-hoare/semantics.d.ts.map +1 -0
  444. package/dist/runtime/csp-hoare/semantics.js.map +1 -0
  445. package/dist/runtime/csp-hoare/types.d.ts.map +1 -0
  446. package/dist/runtime/csp-hoare/types.js.map +1 -0
  447. package/dist/runtime/fallacies.d.ts +1 -1
  448. package/dist/runtime/fallacies.d.ts.map +1 -1
  449. package/dist/runtime/interpreter.d.ts +1 -1
  450. package/dist/runtime/interpreter.d.ts.map +1 -1
  451. package/dist/runtime/interpreter.js +5 -5
  452. package/dist/runtime/interpreter.js.map +1 -1
  453. package/dist/runtime/parallel/index.d.ts +1 -1
  454. package/dist/runtime/parallel/index.d.ts.map +1 -1
  455. package/dist/runtime/parallel/index.js +2 -2
  456. package/dist/runtime/parallel/index.js.map +1 -1
  457. package/dist/runtime/parallel/worker.d.ts +1 -1
  458. package/dist/runtime/parallel/worker.d.ts.map +1 -1
  459. package/dist/runtime/parallel/worker.js +2 -2
  460. package/dist/runtime/parallel/worker.js.map +1 -1
  461. package/dist/runtime/streaming/stream-eval.d.ts +1 -1
  462. package/dist/runtime/streaming/stream-eval.d.ts.map +1 -1
  463. package/dist/runtime/streaming/stream-eval.js +3 -3
  464. package/dist/runtime/streaming/stream-eval.js.map +1 -1
  465. package/dist/semantics/categorical/fin-set.d.ts.map +1 -0
  466. package/dist/semantics/categorical/fin-set.js.map +1 -0
  467. package/dist/semantics/categorical/free.d.ts.map +1 -0
  468. package/dist/semantics/categorical/free.js.map +1 -0
  469. package/dist/semantics/categorical/functor.d.ts.map +1 -0
  470. package/dist/semantics/categorical/functor.js.map +1 -0
  471. package/dist/semantics/categorical/index.d.ts.map +1 -0
  472. package/dist/semantics/categorical/index.js.map +1 -0
  473. package/dist/semantics/categorical/limits.d.ts.map +1 -0
  474. package/dist/semantics/categorical/limits.js.map +1 -0
  475. package/dist/semantics/categorical/monoidal.d.ts.map +1 -0
  476. package/dist/semantics/categorical/monoidal.js.map +1 -0
  477. package/dist/semantics/categorical/poset.d.ts.map +1 -0
  478. package/dist/semantics/categorical/poset.js.map +1 -0
  479. package/dist/semantics/categorical/types.d.ts.map +1 -0
  480. package/dist/semantics/categorical/types.js.map +1 -0
  481. package/dist/semantics/coinduction/index.d.ts.map +1 -0
  482. package/dist/semantics/coinduction/index.js.map +1 -0
  483. package/dist/semantics/game-semantics/convert.d.ts +4 -0
  484. package/dist/semantics/game-semantics/convert.d.ts.map +1 -0
  485. package/dist/semantics/game-semantics/convert.js +28 -0
  486. package/dist/semantics/game-semantics/convert.js.map +1 -0
  487. package/dist/semantics/game-semantics/index.d.ts.map +1 -0
  488. package/dist/semantics/game-semantics/index.js.map +1 -0
  489. package/dist/semantics/game-semantics/strategy.d.ts.map +1 -0
  490. package/dist/semantics/game-semantics/strategy.js +336 -0
  491. package/dist/semantics/game-semantics/strategy.js.map +1 -0
  492. package/dist/semantics/game-semantics/types.d.ts.map +1 -0
  493. package/dist/semantics/game-semantics/types.js.map +1 -0
  494. package/dist/semantics/text-layer/compiler.d.ts +18 -0
  495. package/dist/semantics/text-layer/compiler.d.ts.map +1 -0
  496. package/dist/semantics/text-layer/compiler.js.map +1 -0
  497. package/dist/semantics/text-layer/v2/claim-graph.d.ts.map +1 -0
  498. package/dist/semantics/text-layer/v2/claim-graph.js.map +1 -0
  499. package/dist/semantics/text-layer/v2/index.d.ts.map +1 -0
  500. package/dist/semantics/text-layer/v2/index.js.map +1 -0
  501. package/dist/semantics/text-layer/v2/mdx-bridge/diff.d.ts.map +1 -0
  502. package/dist/semantics/text-layer/v2/mdx-bridge/diff.js.map +1 -0
  503. package/dist/semantics/text-layer/v2/mdx-bridge/index.d.ts.map +1 -0
  504. package/dist/semantics/text-layer/v2/mdx-bridge/index.js.map +1 -0
  505. package/dist/semantics/text-layer/v2/mdx-bridge/parser.d.ts.map +1 -0
  506. package/dist/semantics/text-layer/v2/mdx-bridge/parser.js.map +1 -0
  507. package/dist/semantics/text-layer/v2/mdx-bridge/serializer.d.ts.map +1 -0
  508. package/dist/semantics/text-layer/v2/mdx-bridge/serializer.js.map +1 -0
  509. package/dist/semantics/text-layer/v2/mdx-bridge/types.d.ts.map +1 -0
  510. package/dist/semantics/text-layer/v2/mdx-bridge/types.js.map +1 -0
  511. package/dist/semantics/text-layer/v2/types.d.ts.map +1 -0
  512. package/dist/semantics/text-layer/v2/types.js.map +1 -0
  513. package/dist/solver/csp/ac3.d.ts.map +1 -0
  514. package/dist/solver/csp/ac3.js.map +1 -0
  515. package/dist/solver/csp/backtrack.d.ts.map +1 -0
  516. package/dist/solver/csp/backtrack.js.map +1 -0
  517. package/dist/solver/csp/builtins.d.ts.map +1 -0
  518. package/dist/solver/csp/builtins.js.map +1 -0
  519. package/dist/solver/csp/index.d.ts.map +1 -0
  520. package/dist/solver/csp/index.js.map +1 -0
  521. package/dist/solver/csp/types.d.ts.map +1 -0
  522. package/dist/solver/csp/types.js.map +1 -0
  523. package/dist/solver/mus/extract.d.ts.map +1 -0
  524. package/dist/solver/mus/extract.js.map +1 -0
  525. package/dist/solver/mus/index.d.ts.map +1 -0
  526. package/dist/solver/mus/index.js.map +1 -0
  527. package/dist/solver/mus/quickxplain.d.ts.map +1 -0
  528. package/dist/solver/mus/quickxplain.js.map +1 -0
  529. package/dist/solver/mus/types.d.ts.map +1 -0
  530. package/dist/solver/mus/types.js.map +1 -0
  531. package/dist/solver/smt/index.d.ts.map +1 -0
  532. package/dist/solver/smt/index.js.map +1 -0
  533. package/dist/solver/smt/mock-backend.d.ts.map +1 -0
  534. package/dist/solver/smt/mock-backend.js.map +1 -0
  535. package/dist/solver/smt/serializer.d.ts.map +1 -0
  536. package/dist/solver/smt/serializer.js.map +1 -0
  537. package/dist/solver/smt/subprocess-backend.d.ts.map +1 -0
  538. package/dist/solver/smt/subprocess-backend.js.map +1 -0
  539. package/dist/solver/smt/types.d.ts.map +1 -0
  540. package/dist/solver/smt/types.js.map +1 -0
  541. package/dist/solver/smt-lib/ast.d.ts.map +1 -0
  542. package/dist/solver/smt-lib/ast.js.map +1 -0
  543. package/dist/solver/smt-lib/emitter.d.ts.map +1 -0
  544. package/dist/solver/smt-lib/emitter.js.map +1 -0
  545. package/dist/solver/smt-lib/index.d.ts.map +1 -0
  546. package/dist/solver/smt-lib/index.js.map +1 -0
  547. package/dist/solver/smt-lib/parser.d.ts.map +1 -0
  548. package/dist/solver/smt-lib/parser.js.map +1 -0
  549. package/dist/solver/smt-lib/tokenizer.d.ts.map +1 -0
  550. package/dist/solver/smt-lib/tokenizer.js.map +1 -0
  551. package/dist/solver/smt-z3/index.d.ts +3 -0
  552. package/dist/solver/smt-z3/index.d.ts.map +1 -0
  553. package/dist/solver/smt-z3/index.js +11 -0
  554. package/dist/solver/smt-z3/index.js.map +1 -0
  555. package/dist/solver/smt-z3/types.d.ts +52 -0
  556. package/dist/solver/smt-z3/types.d.ts.map +1 -0
  557. package/dist/solver/smt-z3/types.js +6 -0
  558. package/dist/solver/smt-z3/types.js.map +1 -0
  559. package/dist/solver/smt-z3/z3-wasm-backend.d.ts +88 -0
  560. package/dist/solver/smt-z3/z3-wasm-backend.d.ts.map +1 -0
  561. package/dist/solver/smt-z3/z3-wasm-backend.js +437 -0
  562. package/dist/solver/smt-z3/z3-wasm-backend.js.map +1 -0
  563. package/dist/tests/api/namespaces.test.js +1 -1
  564. package/dist/tests/api/namespaces.test.js.map +1 -1
  565. package/dist/tests/arithmetic.test.js +2 -2
  566. package/dist/tests/arithmetic.test.js.map +1 -1
  567. package/dist/tests/benchmark-cdcl.test.js +2 -2
  568. package/dist/tests/benchmark-cdcl.test.js.map +1 -1
  569. package/dist/tests/cli.test.js +1 -1
  570. package/dist/tests/cli.test.js.map +1 -1
  571. package/dist/tests/core.test.js +1 -1
  572. package/dist/tests/core.test.js.map +1 -1
  573. package/dist/tests/coverage-95/api-and-interpreter-e2e.test.js +1 -1
  574. package/dist/tests/coverage-95/api-and-interpreter-e2e.test.js.map +1 -1
  575. package/dist/tests/coverage-95/argumentation.test.js +1 -1
  576. package/dist/tests/coverage-95/argumentation.test.js.map +1 -1
  577. package/dist/tests/coverage-95/arithmetic.test.js +1 -1
  578. package/dist/tests/coverage-95/arithmetic.test.js.map +1 -1
  579. package/dist/tests/coverage-95/belnap.test.js +1 -1
  580. package/dist/tests/coverage-95/belnap.test.js.map +1 -1
  581. package/dist/tests/coverage-95/classical-propositional-direct.test.js +1 -1
  582. package/dist/tests/coverage-95/classical-propositional-direct.test.js.map +1 -1
  583. package/dist/tests/coverage-95/first-order.test.js +1 -1
  584. package/dist/tests/coverage-95/first-order.test.js.map +1 -1
  585. package/dist/tests/coverage-95/fol-prover.test.js +3 -3
  586. package/dist/tests/coverage-95/fol-prover.test.js.map +1 -1
  587. package/dist/tests/coverage-95/lsp-server.test.js +1 -1
  588. package/dist/tests/coverage-95/lsp-server.test.js.map +1 -1
  589. package/dist/tests/coverage-95/modal-tableau-profiles.test.js +5 -5
  590. package/dist/tests/coverage-95/modal-tableau-profiles.test.js.map +1 -1
  591. package/dist/tests/coverage-95/parallel-sat.test.js +1 -1
  592. package/dist/tests/coverage-95/parallel-sat.test.js.map +1 -1
  593. package/dist/tests/coverage-95/propositional-utilities.test.js +1 -1
  594. package/dist/tests/coverage-95/propositional-utilities.test.js.map +1 -1
  595. package/dist/tests/coverage-95/smt-mock-backend.test.js +1 -1
  596. package/dist/tests/coverage-95/smt-mock-backend.test.js.map +1 -1
  597. package/dist/tests/coverage-95/smt-serializer.test.js +1 -1
  598. package/dist/tests/coverage-95/smt-serializer.test.js.map +1 -1
  599. package/dist/tests/coverage-95/smt-subprocess.test.js +1 -1
  600. package/dist/tests/coverage-95/smt-subprocess.test.js.map +1 -1
  601. package/dist/tests/coverage-95/tableau-engine.test.js +1 -1
  602. package/dist/tests/coverage-95/tableau-engine.test.js.map +1 -1
  603. package/dist/tests/coverage-95/temporal-ltl.test.js +1 -1
  604. package/dist/tests/coverage-95/temporal-ltl.test.js.map +1 -1
  605. package/dist/tests/coverage-95/undecidability-detector.test.js +1 -1
  606. package/dist/tests/coverage-95/undecidability-detector.test.js.map +1 -1
  607. package/dist/tests/coverage-fill-aristotelian.test.js +1 -1
  608. package/dist/tests/coverage-fill-aristotelian.test.js.map +1 -1
  609. package/dist/tests/coverage-fill-belnap.test.js +1 -1
  610. package/dist/tests/coverage-fill-belnap.test.js.map +1 -1
  611. package/dist/tests/coverage-fill-cross-system.test.js +1 -1
  612. package/dist/tests/coverage-fill-cross-system.test.js.map +1 -1
  613. package/dist/tests/coverage-fill-intuitionistic.test.js +1 -1
  614. package/dist/tests/coverage-fill-intuitionistic.test.js.map +1 -1
  615. package/dist/tests/coverage-fill-probabilistic.test.js +1 -1
  616. package/dist/tests/coverage-fill-probabilistic.test.js.map +1 -1
  617. package/dist/tests/integration/cross-modules.test.js +13 -13
  618. package/dist/tests/integration/cross-modules.test.js.map +1 -1
  619. package/dist/tests/logic/ctl/check.test.d.ts.map +1 -0
  620. package/dist/tests/logic/ctl/check.test.js +337 -0
  621. package/dist/tests/logic/ctl/check.test.js.map +1 -0
  622. package/dist/tests/logic/default-logic/extensions.test.d.ts.map +1 -0
  623. package/dist/tests/logic/default-logic/extensions.test.js +323 -0
  624. package/dist/tests/logic/default-logic/extensions.test.js.map +1 -0
  625. package/dist/tests/logic/description-logic/alc.test.d.ts.map +1 -0
  626. package/dist/tests/logic/description-logic/alc.test.js +253 -0
  627. package/dist/tests/logic/description-logic/alc.test.js.map +1 -0
  628. package/dist/tests/logic/hybrid-logic/semantics.test.d.ts.map +1 -0
  629. package/dist/tests/logic/hybrid-logic/semantics.test.js +169 -0
  630. package/dist/tests/logic/hybrid-logic/semantics.test.js.map +1 -0
  631. package/dist/tests/logic/intuitionistic-nj/nj.test.d.ts.map +1 -0
  632. package/dist/tests/logic/intuitionistic-nj/nj.test.js +216 -0
  633. package/dist/tests/logic/intuitionistic-nj/nj.test.js.map +1 -0
  634. package/dist/tests/logic/ltl-sat/sat.test.d.ts.map +1 -0
  635. package/dist/tests/logic/ltl-sat/sat.test.js +160 -0
  636. package/dist/tests/logic/ltl-sat/sat.test.js.map +1 -0
  637. package/dist/tests/logic/many-valued/many-valued.test.d.ts.map +1 -0
  638. package/dist/tests/logic/many-valued/many-valued.test.js +150 -0
  639. package/dist/tests/logic/many-valued/many-valued.test.js.map +1 -0
  640. package/dist/tests/logic/modal-frame-axioms/frame-axioms.test.d.ts.map +1 -0
  641. package/dist/tests/logic/modal-frame-axioms/frame-axioms.test.js +236 -0
  642. package/dist/tests/logic/modal-frame-axioms/frame-axioms.test.js.map +1 -0
  643. package/dist/tests/logic/mu-calculus/check.test.d.ts.map +1 -0
  644. package/dist/tests/logic/mu-calculus/check.test.js +234 -0
  645. package/dist/tests/logic/mu-calculus/check.test.js.map +1 -0
  646. package/dist/tests/logic/profile-bridge/translations.test.d.ts.map +1 -0
  647. package/dist/tests/logic/profile-bridge/translations.test.js +266 -0
  648. package/dist/tests/logic/profile-bridge/translations.test.js.map +1 -0
  649. package/dist/tests/logic/profiles.test.d.ts.map +1 -0
  650. package/dist/tests/logic/profiles.test.js +393 -0
  651. package/dist/tests/logic/profiles.test.js.map +1 -0
  652. package/dist/tests/logic/sequent-g3/prover.test.d.ts.map +1 -0
  653. package/dist/tests/logic/sequent-g3/prover.test.js +205 -0
  654. package/dist/tests/logic/sequent-g3/prover.test.js.map +1 -0
  655. package/dist/tests/logic/sequent-lk/prover.test.d.ts.map +1 -0
  656. package/dist/tests/logic/sequent-lk/prover.test.js +317 -0
  657. package/dist/tests/logic/sequent-lk/prover.test.js.map +1 -0
  658. package/dist/tests/logic/substructural/prover.test.d.ts.map +1 -0
  659. package/dist/tests/logic/substructural/prover.test.js +271 -0
  660. package/dist/tests/logic/substructural/prover.test.js.map +1 -0
  661. package/dist/tests/natural-deduction-workshop.test.js +1 -1
  662. package/dist/tests/natural-deduction-workshop.test.js.map +1 -1
  663. package/dist/tests/parallel/parallel-pool.test.d.ts +1 -1
  664. package/dist/tests/parallel/parallel-pool.test.d.ts.map +1 -1
  665. package/dist/tests/parallel/parallel-pool.test.js +2 -2
  666. package/dist/tests/parallel/parallel-pool.test.js.map +1 -1
  667. package/dist/tests/parallel-sat.test.js +3 -3
  668. package/dist/tests/parallel-sat.test.js.map +1 -1
  669. package/dist/tests/proof-systems/fol-prover/cnf.test.d.ts.map +1 -0
  670. package/dist/tests/proof-systems/fol-prover/cnf.test.js +74 -0
  671. package/dist/tests/proof-systems/fol-prover/cnf.test.js.map +1 -0
  672. package/dist/tests/proof-systems/fol-prover/prove.test.d.ts.map +1 -0
  673. package/dist/tests/proof-systems/fol-prover/prove.test.js +106 -0
  674. package/dist/tests/proof-systems/fol-prover/prove.test.js.map +1 -0
  675. package/dist/tests/proof-systems/fol-prover/unify.test.d.ts.map +1 -0
  676. package/dist/tests/proof-systems/fol-prover/unify.test.js +66 -0
  677. package/dist/tests/proof-systems/fol-prover/unify.test.js.map +1 -0
  678. package/dist/tests/proof-systems/fol-prover-equality/prove.test.d.ts.map +1 -0
  679. package/dist/tests/proof-systems/fol-prover-equality/prove.test.js +179 -0
  680. package/dist/tests/proof-systems/fol-prover-equality/prove.test.js.map +1 -0
  681. package/dist/tests/proof-systems/higher-order-unify/ho-unify.test.d.ts.map +1 -0
  682. package/dist/tests/proof-systems/higher-order-unify/ho-unify.test.js +264 -0
  683. package/dist/tests/proof-systems/higher-order-unify/ho-unify.test.js.map +1 -0
  684. package/dist/tests/proof-systems/proof-exchange/proof-exchange.test.d.ts.map +1 -0
  685. package/dist/tests/proof-systems/proof-exchange/proof-exchange.test.js +161 -0
  686. package/dist/tests/proof-systems/proof-exchange/proof-exchange.test.js.map +1 -0
  687. package/dist/tests/proof-systems/proof-minify/minify.test.d.ts.map +1 -0
  688. package/dist/tests/proof-systems/proof-minify/minify.test.js +281 -0
  689. package/dist/tests/proof-systems/proof-minify/minify.test.js.map +1 -0
  690. package/dist/tests/proof-systems/proof-nets/proof-nets.test.d.ts.map +1 -0
  691. package/dist/tests/proof-systems/proof-nets/proof-nets.test.js +263 -0
  692. package/dist/tests/proof-systems/proof-nets/proof-nets.test.js.map +1 -0
  693. package/dist/tests/proof-systems/tableau-framework/tableau.test.d.ts.map +1 -0
  694. package/dist/tests/proof-systems/tableau-framework/tableau.test.js +196 -0
  695. package/dist/tests/proof-systems/tableau-framework/tableau.test.js.map +1 -0
  696. package/dist/tests/properties/agm.property.test.js +3 -3
  697. package/dist/tests/properties/agm.property.test.js.map +1 -1
  698. package/dist/tests/properties/argumentation.property.test.js +1 -1
  699. package/dist/tests/properties/argumentation.property.test.js.map +1 -1
  700. package/dist/tests/properties/bayesian.property.test.js +1 -1
  701. package/dist/tests/properties/bayesian.property.test.js.map +1 -1
  702. package/dist/tests/properties/coinduction.property.test.js +1 -1
  703. package/dist/tests/properties/coinduction.property.test.js.map +1 -1
  704. package/dist/tests/properties/constructive-reals.property.test.js +1 -1
  705. package/dist/tests/properties/constructive-reals.property.test.js.map +1 -1
  706. package/dist/tests/properties/csp.property.test.js +1 -1
  707. package/dist/tests/properties/csp.property.test.js.map +1 -1
  708. package/dist/tests/properties/generators.d.ts +5 -5
  709. package/dist/tests/properties/generators.d.ts.map +1 -1
  710. package/dist/tests/properties/ho-unify.property.test.js +1 -1
  711. package/dist/tests/properties/ho-unify.property.test.js.map +1 -1
  712. package/dist/tests/properties/hyperreal.property.test.js +1 -1
  713. package/dist/tests/properties/hyperreal.property.test.js.map +1 -1
  714. package/dist/tests/properties/intuit-nj.property.test.js +2 -2
  715. package/dist/tests/properties/intuit-nj.property.test.js.map +1 -1
  716. package/dist/tests/properties/lambda-calc.property.test.js +1 -1
  717. package/dist/tests/properties/lambda-calc.property.test.js.map +1 -1
  718. package/dist/tests/properties/mln.property.test.js +1 -1
  719. package/dist/tests/properties/mln.property.test.js.map +1 -1
  720. package/dist/tests/properties/mltt.property.test.js +3 -3
  721. package/dist/tests/properties/mltt.property.test.js.map +1 -1
  722. package/dist/tests/properties/nbe.property.test.js +1 -1
  723. package/dist/tests/properties/nbe.property.test.js.map +1 -1
  724. package/dist/tests/properties/planning.property.test.js +1 -1
  725. package/dist/tests/properties/planning.property.test.js.map +1 -1
  726. package/dist/tests/properties/profile-bridge.property.test.js +3 -3
  727. package/dist/tests/properties/profile-bridge.property.test.js.map +1 -1
  728. package/dist/tests/properties/refinement-types.property.test.js +1 -1
  729. package/dist/tests/properties/refinement-types.property.test.js.map +1 -1
  730. package/dist/tests/properties/sequent-g3.property.test.js +1 -1
  731. package/dist/tests/properties/sequent-g3.property.test.js.map +1 -1
  732. package/dist/tests/properties/system-f.property.test.js +1 -1
  733. package/dist/tests/properties/system-f.property.test.js.map +1 -1
  734. package/dist/tests/propositional-nd-audit.test.js +1 -1
  735. package/dist/tests/propositional-nd-audit.test.js.map +1 -1
  736. package/dist/tests/protocol-text-layer.test.js +1 -1
  737. package/dist/tests/protocol-text-layer.test.js.map +1 -1
  738. package/dist/tests/reasoning/abduction/abduction.test.d.ts.map +1 -0
  739. package/dist/tests/reasoning/abduction/abduction.test.js +380 -0
  740. package/dist/tests/reasoning/abduction/abduction.test.js.map +1 -0
  741. package/dist/tests/reasoning/argumentation/dung.test.d.ts.map +1 -0
  742. package/dist/tests/reasoning/argumentation/dung.test.js +219 -0
  743. package/dist/tests/reasoning/argumentation/dung.test.js.map +1 -0
  744. package/dist/tests/reasoning/bayesian/bayesian.test.d.ts.map +1 -0
  745. package/dist/tests/reasoning/bayesian/bayesian.test.js +328 -0
  746. package/dist/tests/reasoning/bayesian/bayesian.test.js.map +1 -0
  747. package/dist/tests/reasoning/belief-revision/agm.test.d.ts.map +1 -0
  748. package/dist/tests/reasoning/belief-revision/agm.test.js +173 -0
  749. package/dist/tests/reasoning/belief-revision/agm.test.js.map +1 -0
  750. package/dist/tests/reasoning/citation-reasoning/citation-reasoning.test.d.ts.map +1 -0
  751. package/dist/tests/reasoning/citation-reasoning/citation-reasoning.test.js +240 -0
  752. package/dist/tests/reasoning/citation-reasoning/citation-reasoning.test.js.map +1 -0
  753. package/dist/tests/reasoning/combinatorial-games/combinatorial-games.test.d.ts +2 -0
  754. package/dist/tests/reasoning/combinatorial-games/combinatorial-games.test.d.ts.map +1 -0
  755. package/dist/tests/reasoning/combinatorial-games/combinatorial-games.test.js +203 -0
  756. package/dist/tests/reasoning/combinatorial-games/combinatorial-games.test.js.map +1 -0
  757. package/dist/tests/reasoning/constructive-reals/constructive-reals.test.d.ts.map +1 -0
  758. package/dist/tests/reasoning/constructive-reals/constructive-reals.test.js +357 -0
  759. package/dist/tests/reasoning/constructive-reals/constructive-reals.test.js.map +1 -0
  760. package/dist/tests/reasoning/fca/fca.test.d.ts.map +1 -0
  761. package/dist/tests/reasoning/fca/fca.test.js +317 -0
  762. package/dist/tests/reasoning/fca/fca.test.js.map +1 -0
  763. package/dist/tests/reasoning/game-theory/game-theory.test.d.ts.map +1 -0
  764. package/dist/tests/reasoning/game-theory/game-theory.test.js +252 -0
  765. package/dist/tests/reasoning/game-theory/game-theory.test.js.map +1 -0
  766. package/dist/tests/reasoning/hyperreal/hyperreal.test.d.ts.map +1 -0
  767. package/dist/tests/reasoning/hyperreal/hyperreal.test.js +219 -0
  768. package/dist/tests/reasoning/hyperreal/hyperreal.test.js.map +1 -0
  769. package/dist/tests/reasoning/information-theory/information-theory.test.d.ts.map +1 -0
  770. package/dist/tests/reasoning/information-theory/information-theory.test.js +291 -0
  771. package/dist/tests/reasoning/information-theory/information-theory.test.js.map +1 -0
  772. package/dist/tests/reasoning/lemma-synthesis/lemma-synthesis.test.d.ts.map +1 -0
  773. package/dist/tests/reasoning/lemma-synthesis/lemma-synthesis.test.js +460 -0
  774. package/dist/tests/reasoning/lemma-synthesis/lemma-synthesis.test.js.map +1 -0
  775. package/dist/tests/reasoning/markov-logic/markov-logic.test.d.ts.map +1 -0
  776. package/dist/tests/reasoning/markov-logic/markov-logic.test.js +349 -0
  777. package/dist/tests/reasoning/markov-logic/markov-logic.test.js.map +1 -0
  778. package/dist/tests/reasoning/mechanism-design/mechanism-design.test.d.ts +2 -0
  779. package/dist/tests/reasoning/mechanism-design/mechanism-design.test.d.ts.map +1 -0
  780. package/dist/tests/reasoning/mechanism-design/mechanism-design.test.js +290 -0
  781. package/dist/tests/reasoning/mechanism-design/mechanism-design.test.js.map +1 -0
  782. package/dist/tests/reasoning/optimization/ilp.test.d.ts.map +1 -0
  783. package/dist/tests/reasoning/optimization/ilp.test.js +204 -0
  784. package/dist/tests/reasoning/optimization/ilp.test.js.map +1 -0
  785. package/dist/tests/reasoning/optimization/lp.test.d.ts.map +1 -0
  786. package/dist/tests/reasoning/optimization/lp.test.js +224 -0
  787. package/dist/tests/reasoning/optimization/lp.test.js.map +1 -0
  788. package/dist/tests/reasoning/planning/planning.test.d.ts.map +1 -0
  789. package/dist/tests/reasoning/planning/planning.test.js +397 -0
  790. package/dist/tests/reasoning/planning/planning.test.js.map +1 -0
  791. package/dist/tests/reasoning/probabilistic/probabilistic.test.d.ts +2 -0
  792. package/dist/tests/reasoning/probabilistic/probabilistic.test.d.ts.map +1 -0
  793. package/dist/tests/reasoning/probabilistic/probabilistic.test.js +370 -0
  794. package/dist/tests/reasoning/probabilistic/probabilistic.test.js.map +1 -0
  795. package/dist/tests/reasoning/tactic-dsl/tactic-dsl.test.d.ts.map +1 -0
  796. package/dist/tests/reasoning/tactic-dsl/tactic-dsl.test.js +259 -0
  797. package/dist/tests/reasoning/tactic-dsl/tactic-dsl.test.js.map +1 -0
  798. package/dist/tests/result-bindings.test.js +1 -1
  799. package/dist/tests/result-bindings.test.js.map +1 -1
  800. package/dist/tests/runtime/bdd/manager.test.d.ts.map +1 -0
  801. package/dist/tests/runtime/bdd/manager.test.js +472 -0
  802. package/dist/tests/runtime/bdd/manager.test.js.map +1 -0
  803. package/dist/tests/runtime/csp-hoare/csp-hoare.test.d.ts.map +1 -0
  804. package/dist/tests/runtime/csp-hoare/csp-hoare.test.js +313 -0
  805. package/dist/tests/runtime/csp-hoare/csp-hoare.test.js.map +1 -0
  806. package/dist/tests/semantics/categorical/categorical.test.d.ts.map +1 -0
  807. package/dist/tests/semantics/categorical/categorical.test.js +300 -0
  808. package/dist/tests/semantics/categorical/categorical.test.js.map +1 -0
  809. package/dist/tests/semantics/coinduction/coinduction.test.d.ts.map +1 -0
  810. package/dist/tests/semantics/coinduction/coinduction.test.js +217 -0
  811. package/dist/tests/semantics/coinduction/coinduction.test.js.map +1 -0
  812. package/dist/tests/semantics/game-semantics/game-semantics.test.d.ts.map +1 -0
  813. package/dist/tests/semantics/game-semantics/game-semantics.test.js +143 -0
  814. package/dist/tests/semantics/game-semantics/game-semantics.test.js.map +1 -0
  815. package/dist/tests/semantics/text-layer-v2/claim-graph.test.d.ts.map +1 -0
  816. package/dist/tests/semantics/text-layer-v2/claim-graph.test.js +255 -0
  817. package/dist/tests/semantics/text-layer-v2/claim-graph.test.js.map +1 -0
  818. package/dist/tests/semantics/text-layer-v2/mdx-bridge/mdx-bridge.test.d.ts.map +1 -0
  819. package/dist/tests/semantics/text-layer-v2/mdx-bridge/mdx-bridge.test.js +200 -0
  820. package/dist/tests/semantics/text-layer-v2/mdx-bridge/mdx-bridge.test.js.map +1 -0
  821. package/dist/tests/solver/csp/csp.test.d.ts.map +1 -0
  822. package/dist/tests/solver/csp/csp.test.js +292 -0
  823. package/dist/tests/solver/csp/csp.test.js.map +1 -0
  824. package/dist/tests/solver/mus/extract.test.d.ts.map +1 -0
  825. package/dist/tests/solver/mus/extract.test.js +352 -0
  826. package/dist/tests/solver/mus/extract.test.js.map +1 -0
  827. package/dist/tests/solver/sat-v2/clause-learning.test.d.ts.map +1 -0
  828. package/dist/tests/solver/sat-v2/clause-learning.test.js +73 -0
  829. package/dist/tests/solver/sat-v2/clause-learning.test.js.map +1 -0
  830. package/dist/tests/solver/sat-v2/lbd.test.d.ts.map +1 -0
  831. package/dist/tests/solver/sat-v2/lbd.test.js +82 -0
  832. package/dist/tests/solver/sat-v2/lbd.test.js.map +1 -0
  833. package/dist/tests/solver/sat-v2/luby.test.d.ts.map +1 -0
  834. package/dist/tests/solver/sat-v2/luby.test.js +58 -0
  835. package/dist/tests/solver/sat-v2/luby.test.js.map +1 -0
  836. package/dist/tests/solver/sat-v2/phase-saving.test.d.ts.map +1 -0
  837. package/dist/tests/solver/sat-v2/phase-saving.test.js +38 -0
  838. package/dist/tests/solver/sat-v2/phase-saving.test.js.map +1 -0
  839. package/dist/tests/solver/sat-v2/solver-end-to-end.test.d.ts.map +1 -0
  840. package/dist/tests/solver/sat-v2/solver-end-to-end.test.js +199 -0
  841. package/dist/tests/solver/sat-v2/solver-end-to-end.test.js.map +1 -0
  842. package/dist/tests/solver/sat-v2/vsids.test.d.ts.map +1 -0
  843. package/dist/tests/solver/sat-v2/vsids.test.js +69 -0
  844. package/dist/tests/solver/sat-v2/vsids.test.js.map +1 -0
  845. package/dist/tests/solver/sat-v2-incremental/basic.test.d.ts.map +1 -0
  846. package/dist/tests/solver/sat-v2-incremental/basic.test.js +352 -0
  847. package/dist/tests/solver/sat-v2-incremental/basic.test.js.map +1 -0
  848. package/dist/tests/solver/smt/mock-backend.test.d.ts.map +1 -0
  849. package/dist/tests/solver/smt/mock-backend.test.js +129 -0
  850. package/dist/tests/solver/smt/mock-backend.test.js.map +1 -0
  851. package/dist/tests/solver/smt/serializer.test.d.ts.map +1 -0
  852. package/dist/tests/solver/smt/serializer.test.js +94 -0
  853. package/dist/tests/solver/smt/serializer.test.js.map +1 -0
  854. package/dist/tests/solver/smt/subprocess-backend.test.d.ts.map +1 -0
  855. package/dist/tests/solver/smt/subprocess-backend.test.js +89 -0
  856. package/dist/tests/solver/smt/subprocess-backend.test.js.map +1 -0
  857. package/dist/tests/solver/smt-lib/emitter.test.d.ts.map +1 -0
  858. package/dist/tests/solver/smt-lib/emitter.test.js +155 -0
  859. package/dist/tests/solver/smt-lib/emitter.test.js.map +1 -0
  860. package/dist/tests/solver/smt-lib/parser.test.d.ts.map +1 -0
  861. package/dist/tests/solver/smt-lib/parser.test.js +164 -0
  862. package/dist/tests/solver/smt-lib/parser.test.js.map +1 -0
  863. package/dist/tests/solver/smt-lib/tokenizer.test.d.ts.map +1 -0
  864. package/dist/tests/solver/smt-lib/tokenizer.test.js +59 -0
  865. package/dist/tests/solver/smt-lib/tokenizer.test.js.map +1 -0
  866. package/dist/tests/solver/smt-z3/z3-wasm-backend.test.d.ts +2 -0
  867. package/dist/tests/solver/smt-z3/z3-wasm-backend.test.d.ts.map +1 -0
  868. package/dist/tests/solver/smt-z3/z3-wasm-backend.test.js +394 -0
  869. package/dist/tests/solver/smt-z3/z3-wasm-backend.test.js.map +1 -0
  870. package/dist/tests/stress-cdcl.test.js +2 -2
  871. package/dist/tests/stress-cdcl.test.js.map +1 -1
  872. package/dist/tests/stress-extreme.test.js +1 -1
  873. package/dist/tests/stress-extreme.test.js.map +1 -1
  874. package/dist/tests/tooling/educational/checker.test.d.ts.map +1 -0
  875. package/dist/tests/tooling/educational/checker.test.js +212 -0
  876. package/dist/tests/tooling/educational/checker.test.js.map +1 -0
  877. package/dist/tests/tooling/educational/generator.test.d.ts.map +1 -0
  878. package/dist/tests/tooling/educational/generator.test.js +137 -0
  879. package/dist/tests/tooling/educational/generator.test.js.map +1 -0
  880. package/dist/tests/tooling/exporters/coq/coq-exporter.test.d.ts.map +1 -0
  881. package/dist/tests/tooling/exporters/coq/coq-exporter.test.js +353 -0
  882. package/dist/tests/tooling/exporters/coq/coq-exporter.test.js.map +1 -0
  883. package/dist/tests/tooling/lsp/server.test.d.ts.map +1 -0
  884. package/dist/tests/tooling/lsp/server.test.js +406 -0
  885. package/dist/tests/tooling/lsp/server.test.js.map +1 -0
  886. package/dist/tests/tooling/plugin-system/demo-min-logic.test.d.ts.map +1 -0
  887. package/dist/tests/tooling/plugin-system/demo-min-logic.test.js +85 -0
  888. package/dist/tests/tooling/plugin-system/demo-min-logic.test.js.map +1 -0
  889. package/dist/tests/tooling/plugin-system/registry.test.d.ts.map +1 -0
  890. package/dist/tests/tooling/plugin-system/registry.test.js +88 -0
  891. package/dist/tests/tooling/plugin-system/registry.test.js.map +1 -0
  892. package/dist/tests/tooling/plugin-system/validate.test.d.ts.map +1 -0
  893. package/dist/tests/tooling/plugin-system/validate.test.js +101 -0
  894. package/dist/tests/tooling/plugin-system/validate.test.js.map +1 -0
  895. package/dist/tests/tooling/proof-guidance/features.test.d.ts +2 -0
  896. package/dist/tests/tooling/proof-guidance/features.test.d.ts.map +1 -0
  897. package/dist/tests/tooling/proof-guidance/features.test.js +72 -0
  898. package/dist/tests/tooling/proof-guidance/features.test.js.map +1 -0
  899. package/dist/tests/tooling/proof-guidance/model.test.d.ts +2 -0
  900. package/dist/tests/tooling/proof-guidance/model.test.d.ts.map +1 -0
  901. package/dist/tests/tooling/proof-guidance/model.test.js +165 -0
  902. package/dist/tests/tooling/proof-guidance/model.test.js.map +1 -0
  903. package/dist/tests/tooling/proof-guidance/search.test.d.ts +2 -0
  904. package/dist/tests/tooling/proof-guidance/search.test.d.ts.map +1 -0
  905. package/dist/tests/tooling/proof-guidance/search.test.js +238 -0
  906. package/dist/tests/tooling/proof-guidance/search.test.js.map +1 -0
  907. package/dist/tests/tooling/time-travel/snapshot.test.d.ts.map +1 -0
  908. package/dist/tests/tooling/time-travel/snapshot.test.js +75 -0
  909. package/dist/tests/tooling/time-travel/snapshot.test.js.map +1 -0
  910. package/dist/tests/tooling/time-travel/store.test.d.ts.map +1 -0
  911. package/dist/tests/tooling/time-travel/store.test.js +242 -0
  912. package/dist/tests/tooling/time-travel/store.test.js.map +1 -0
  913. package/dist/tests/tooling/tptp/bridge.test.d.ts.map +1 -0
  914. package/dist/tests/tooling/tptp/bridge.test.js +154 -0
  915. package/dist/tests/tooling/tptp/bridge.test.js.map +1 -0
  916. package/dist/tests/tooling/tptp/emitter.test.d.ts.map +1 -0
  917. package/dist/tests/tooling/tptp/emitter.test.js +128 -0
  918. package/dist/tests/tooling/tptp/emitter.test.js.map +1 -0
  919. package/dist/tests/tooling/tptp/parser.test.d.ts.map +1 -0
  920. package/dist/tests/tooling/tptp/parser.test.js +192 -0
  921. package/dist/tests/tooling/tptp/parser.test.js.map +1 -0
  922. package/dist/tests/tooling/tptp/tokenizer.test.d.ts.map +1 -0
  923. package/dist/tests/tooling/tptp/tokenizer.test.js +60 -0
  924. package/dist/tests/tooling/tptp/tokenizer.test.js.map +1 -0
  925. package/dist/tests/type-theory/combinators-ski/combinators-ski.test.d.ts.map +1 -0
  926. package/dist/tests/type-theory/combinators-ski/combinators-ski.test.js +211 -0
  927. package/dist/tests/type-theory/combinators-ski/combinators-ski.test.js.map +1 -0
  928. package/dist/tests/type-theory/cubical/cubical.test.d.ts +2 -0
  929. package/dist/tests/type-theory/cubical/cubical.test.d.ts.map +1 -0
  930. package/dist/tests/type-theory/cubical/cubical.test.js +207 -0
  931. package/dist/tests/type-theory/cubical/cubical.test.js.map +1 -0
  932. package/dist/tests/type-theory/curry-howard/infer.test.d.ts.map +1 -0
  933. package/dist/tests/type-theory/curry-howard/infer.test.js +93 -0
  934. package/dist/tests/type-theory/curry-howard/infer.test.js.map +1 -0
  935. package/dist/tests/type-theory/curry-howard/proof.test.d.ts.map +1 -0
  936. package/dist/tests/type-theory/curry-howard/proof.test.js +105 -0
  937. package/dist/tests/type-theory/curry-howard/proof.test.js.map +1 -0
  938. package/dist/tests/type-theory/curry-howard/reduce.test.d.ts.map +1 -0
  939. package/dist/tests/type-theory/curry-howard/reduce.test.js +109 -0
  940. package/dist/tests/type-theory/curry-howard/reduce.test.js.map +1 -0
  941. package/dist/tests/type-theory/hindley-milner/hindley-milner.test.d.ts.map +1 -0
  942. package/dist/tests/type-theory/hindley-milner/hindley-milner.test.js +327 -0
  943. package/dist/tests/type-theory/hindley-milner/hindley-milner.test.js.map +1 -0
  944. package/dist/tests/type-theory/hol/hol.test.d.ts.map +1 -0
  945. package/dist/tests/type-theory/hol/hol.test.js +340 -0
  946. package/dist/tests/type-theory/hol/hol.test.js.map +1 -0
  947. package/dist/tests/type-theory/hott/hott.test.d.ts.map +1 -0
  948. package/dist/tests/type-theory/hott/hott.test.js +271 -0
  949. package/dist/tests/type-theory/hott/hott.test.js.map +1 -0
  950. package/dist/tests/type-theory/lambda-calc/lambda-calc.test.d.ts.map +1 -0
  951. package/dist/tests/type-theory/lambda-calc/lambda-calc.test.js +164 -0
  952. package/dist/tests/type-theory/lambda-calc/lambda-calc.test.js.map +1 -0
  953. package/dist/tests/type-theory/mltt/mltt.test.d.ts.map +1 -0
  954. package/dist/tests/type-theory/mltt/mltt.test.js +181 -0
  955. package/dist/tests/type-theory/mltt/mltt.test.js.map +1 -0
  956. package/dist/tests/type-theory/nbe/nbe.test.d.ts.map +1 -0
  957. package/dist/tests/type-theory/nbe/nbe.test.js +121 -0
  958. package/dist/tests/type-theory/nbe/nbe.test.js.map +1 -0
  959. package/dist/tests/type-theory/refinement-types/refinement-types.test.d.ts.map +1 -0
  960. package/dist/tests/type-theory/refinement-types/refinement-types.test.js +174 -0
  961. package/dist/tests/type-theory/refinement-types/refinement-types.test.js.map +1 -0
  962. package/dist/tests/type-theory/system-f/system-f.test.d.ts.map +1 -0
  963. package/dist/tests/type-theory/system-f/system-f.test.js +217 -0
  964. package/dist/tests/type-theory/system-f/system-f.test.js.map +1 -0
  965. package/dist/tests/v1-features.test.js +2 -2
  966. package/dist/tests/v1-features.test.js.map +1 -1
  967. package/dist/tooling/educational/checker.d.ts.map +1 -0
  968. package/dist/tooling/educational/checker.js +244 -0
  969. package/dist/tooling/educational/checker.js.map +1 -0
  970. package/dist/tooling/educational/generator.d.ts.map +1 -0
  971. package/dist/tooling/educational/generator.js.map +1 -0
  972. package/dist/tooling/educational/index.d.ts.map +1 -0
  973. package/dist/tooling/educational/index.js.map +1 -0
  974. package/dist/tooling/educational/normalize.d.ts.map +1 -0
  975. package/dist/tooling/educational/normalize.js.map +1 -0
  976. package/dist/tooling/educational/rng.d.ts.map +1 -0
  977. package/dist/tooling/educational/rng.js.map +1 -0
  978. package/dist/tooling/educational/templates.d.ts.map +1 -0
  979. package/dist/tooling/educational/templates.js.map +1 -0
  980. package/dist/tooling/educational/types.d.ts.map +1 -0
  981. package/dist/tooling/educational/types.js.map +1 -0
  982. package/dist/tooling/exporters/coq/index.d.ts +35 -0
  983. package/dist/tooling/exporters/coq/index.d.ts.map +1 -0
  984. package/dist/tooling/exporters/coq/index.js.map +1 -0
  985. package/dist/tooling/lsp/index.d.ts.map +1 -0
  986. package/dist/tooling/lsp/index.js.map +1 -0
  987. package/dist/tooling/lsp/protocol.d.ts.map +1 -0
  988. package/dist/tooling/lsp/protocol.js.map +1 -0
  989. package/dist/tooling/lsp/server.d.ts.map +1 -0
  990. package/dist/tooling/lsp/server.js +529 -0
  991. package/dist/tooling/lsp/server.js.map +1 -0
  992. package/dist/tooling/lsp/types.d.ts.map +1 -0
  993. package/dist/tooling/lsp/types.js.map +1 -0
  994. package/dist/tooling/plugin-system/demo-min-logic.d.ts.map +1 -0
  995. package/dist/tooling/plugin-system/demo-min-logic.js.map +1 -0
  996. package/dist/tooling/plugin-system/errors.d.ts.map +1 -0
  997. package/dist/tooling/plugin-system/errors.js.map +1 -0
  998. package/dist/tooling/plugin-system/index.d.ts.map +1 -0
  999. package/dist/tooling/plugin-system/index.js.map +1 -0
  1000. package/dist/tooling/plugin-system/registry.d.ts.map +1 -0
  1001. package/dist/tooling/plugin-system/registry.js.map +1 -0
  1002. package/dist/tooling/plugin-system/types.d.ts +23 -0
  1003. package/dist/tooling/plugin-system/types.d.ts.map +1 -0
  1004. package/dist/tooling/plugin-system/types.js.map +1 -0
  1005. package/dist/tooling/plugin-system/validate.d.ts.map +1 -0
  1006. package/dist/tooling/plugin-system/validate.js.map +1 -0
  1007. package/dist/tooling/proof-guidance/features.d.ts +10 -0
  1008. package/dist/tooling/proof-guidance/features.d.ts.map +1 -0
  1009. package/dist/tooling/proof-guidance/features.js +97 -0
  1010. package/dist/tooling/proof-guidance/features.js.map +1 -0
  1011. package/dist/tooling/proof-guidance/index.d.ts +5 -0
  1012. package/dist/tooling/proof-guidance/index.d.ts.map +1 -0
  1013. package/dist/tooling/proof-guidance/index.js +25 -0
  1014. package/dist/tooling/proof-guidance/index.js.map +1 -0
  1015. package/dist/tooling/proof-guidance/model.d.ts +42 -0
  1016. package/dist/tooling/proof-guidance/model.d.ts.map +1 -0
  1017. package/dist/tooling/proof-guidance/model.js +149 -0
  1018. package/dist/tooling/proof-guidance/model.js.map +1 -0
  1019. package/dist/tooling/proof-guidance/search.d.ts +7 -0
  1020. package/dist/tooling/proof-guidance/search.d.ts.map +1 -0
  1021. package/dist/tooling/proof-guidance/search.js +102 -0
  1022. package/dist/tooling/proof-guidance/search.js.map +1 -0
  1023. package/dist/tooling/proof-guidance/types.d.ts +77 -0
  1024. package/dist/tooling/proof-guidance/types.d.ts.map +1 -0
  1025. package/dist/tooling/proof-guidance/types.js +8 -0
  1026. package/dist/tooling/proof-guidance/types.js.map +1 -0
  1027. package/dist/tooling/time-travel/index.d.ts.map +1 -0
  1028. package/dist/tooling/time-travel/index.js.map +1 -0
  1029. package/dist/tooling/time-travel/snapshot.d.ts.map +1 -0
  1030. package/dist/tooling/time-travel/snapshot.js.map +1 -0
  1031. package/dist/tooling/time-travel/store.d.ts.map +1 -0
  1032. package/dist/tooling/time-travel/store.js.map +1 -0
  1033. package/dist/tooling/time-travel/types.d.ts.map +1 -0
  1034. package/dist/tooling/time-travel/types.js.map +1 -0
  1035. package/dist/tooling/tptp/ast.d.ts.map +1 -0
  1036. package/dist/tooling/tptp/ast.js.map +1 -0
  1037. package/dist/tooling/tptp/bridge.d.ts +14 -0
  1038. package/dist/tooling/tptp/bridge.d.ts.map +1 -0
  1039. package/dist/tooling/tptp/bridge.js.map +1 -0
  1040. package/dist/tooling/tptp/emitter.d.ts.map +1 -0
  1041. package/dist/tooling/tptp/emitter.js.map +1 -0
  1042. package/dist/tooling/tptp/index.d.ts.map +1 -0
  1043. package/dist/tooling/tptp/index.js.map +1 -0
  1044. package/dist/tooling/tptp/parser.d.ts.map +1 -0
  1045. package/dist/tooling/tptp/parser.js.map +1 -0
  1046. package/dist/tooling/tptp/tokenizer.d.ts.map +1 -0
  1047. package/dist/tooling/tptp/tokenizer.js.map +1 -0
  1048. package/dist/type-theory/combinators-ski/abstract.d.ts.map +1 -0
  1049. package/dist/type-theory/combinators-ski/abstract.js.map +1 -0
  1050. package/dist/type-theory/combinators-ski/index.d.ts.map +1 -0
  1051. package/dist/type-theory/combinators-ski/index.js.map +1 -0
  1052. package/dist/type-theory/combinators-ski/reduce.d.ts.map +1 -0
  1053. package/dist/type-theory/combinators-ski/reduce.js.map +1 -0
  1054. package/dist/type-theory/combinators-ski/types.d.ts.map +1 -0
  1055. package/dist/type-theory/combinators-ski/types.js.map +1 -0
  1056. package/dist/type-theory/cubical/equality.d.ts +4 -0
  1057. package/dist/type-theory/cubical/equality.d.ts.map +1 -0
  1058. package/dist/type-theory/cubical/equality.js +78 -0
  1059. package/dist/type-theory/cubical/equality.js.map +1 -0
  1060. package/dist/type-theory/cubical/index.d.ts +14 -0
  1061. package/dist/type-theory/cubical/index.d.ts.map +1 -0
  1062. package/dist/type-theory/cubical/index.js +71 -0
  1063. package/dist/type-theory/cubical/index.js.map +1 -0
  1064. package/dist/type-theory/cubical/infer.d.ts +18 -0
  1065. package/dist/type-theory/cubical/infer.d.ts.map +1 -0
  1066. package/dist/type-theory/cubical/infer.js +241 -0
  1067. package/dist/type-theory/cubical/infer.js.map +1 -0
  1068. package/dist/type-theory/cubical/interval.d.ts +12 -0
  1069. package/dist/type-theory/cubical/interval.d.ts.map +1 -0
  1070. package/dist/type-theory/cubical/interval.js +118 -0
  1071. package/dist/type-theory/cubical/interval.js.map +1 -0
  1072. package/dist/type-theory/cubical/normalize.d.ts +5 -0
  1073. package/dist/type-theory/cubical/normalize.d.ts.map +1 -0
  1074. package/dist/type-theory/cubical/normalize.js +191 -0
  1075. package/dist/type-theory/cubical/normalize.js.map +1 -0
  1076. package/dist/type-theory/cubical/path-algebra.d.ts +12 -0
  1077. package/dist/type-theory/cubical/path-algebra.d.ts.map +1 -0
  1078. package/dist/type-theory/cubical/path-algebra.js +109 -0
  1079. package/dist/type-theory/cubical/path-algebra.js.map +1 -0
  1080. package/dist/type-theory/cubical/substitute.d.ts +3 -0
  1081. package/dist/type-theory/cubical/substitute.d.ts.map +1 -0
  1082. package/dist/type-theory/cubical/substitute.js +109 -0
  1083. package/dist/type-theory/cubical/substitute.js.map +1 -0
  1084. package/dist/type-theory/cubical/types.d.ts +77 -0
  1085. package/dist/type-theory/cubical/types.d.ts.map +1 -0
  1086. package/dist/type-theory/cubical/types.js +258 -0
  1087. package/dist/type-theory/cubical/types.js.map +1 -0
  1088. package/dist/type-theory/curry-howard/index.d.ts.map +1 -0
  1089. package/dist/type-theory/curry-howard/index.js.map +1 -0
  1090. package/dist/type-theory/curry-howard/infer.d.ts.map +1 -0
  1091. package/dist/type-theory/curry-howard/infer.js.map +1 -0
  1092. package/dist/type-theory/curry-howard/proof.d.ts.map +1 -0
  1093. package/dist/type-theory/curry-howard/proof.js.map +1 -0
  1094. package/dist/type-theory/curry-howard/reduce.d.ts.map +1 -0
  1095. package/dist/type-theory/curry-howard/reduce.js.map +1 -0
  1096. package/dist/type-theory/curry-howard/types.d.ts.map +1 -0
  1097. package/dist/type-theory/curry-howard/types.js.map +1 -0
  1098. package/dist/type-theory/hindley-milner/index.d.ts.map +1 -0
  1099. package/dist/type-theory/hindley-milner/index.js.map +1 -0
  1100. package/dist/type-theory/hindley-milner/infer.d.ts.map +1 -0
  1101. package/dist/type-theory/hindley-milner/infer.js.map +1 -0
  1102. package/dist/type-theory/hindley-milner/substitution.d.ts.map +1 -0
  1103. package/dist/type-theory/hindley-milner/substitution.js.map +1 -0
  1104. package/dist/type-theory/hindley-milner/types.d.ts.map +1 -0
  1105. package/dist/type-theory/hindley-milner/types.js.map +1 -0
  1106. package/dist/type-theory/hol/connectives.d.ts.map +1 -0
  1107. package/dist/type-theory/hol/connectives.js.map +1 -0
  1108. package/dist/type-theory/hol/index.d.ts.map +1 -0
  1109. package/dist/type-theory/hol/index.js.map +1 -0
  1110. package/dist/type-theory/hol/rules.d.ts.map +1 -0
  1111. package/dist/type-theory/hol/rules.js.map +1 -0
  1112. package/dist/type-theory/hol/term.d.ts.map +1 -0
  1113. package/dist/type-theory/hol/term.js.map +1 -0
  1114. package/dist/type-theory/hol/type-system.d.ts.map +1 -0
  1115. package/dist/type-theory/hol/type-system.js.map +1 -0
  1116. package/dist/type-theory/hol/types.d.ts.map +1 -0
  1117. package/dist/type-theory/hol/types.js.map +1 -0
  1118. package/dist/type-theory/hott/equality.d.ts.map +1 -0
  1119. package/dist/type-theory/hott/equality.js.map +1 -0
  1120. package/dist/type-theory/hott/index.d.ts.map +1 -0
  1121. package/dist/type-theory/hott/index.js.map +1 -0
  1122. package/dist/type-theory/hott/infer.d.ts.map +1 -0
  1123. package/dist/type-theory/hott/infer.js.map +1 -0
  1124. package/dist/type-theory/hott/normalize.d.ts.map +1 -0
  1125. package/dist/type-theory/hott/normalize.js.map +1 -0
  1126. package/dist/type-theory/hott/path-algebra.d.ts.map +1 -0
  1127. package/dist/type-theory/hott/path-algebra.js.map +1 -0
  1128. package/dist/type-theory/hott/substitute.d.ts.map +1 -0
  1129. package/dist/type-theory/hott/substitute.js.map +1 -0
  1130. package/dist/type-theory/hott/types.d.ts.map +1 -0
  1131. package/dist/type-theory/hott/types.js.map +1 -0
  1132. package/dist/type-theory/lambda-calc/church.d.ts.map +1 -0
  1133. package/dist/type-theory/lambda-calc/church.js.map +1 -0
  1134. package/dist/type-theory/lambda-calc/combinators.d.ts.map +1 -0
  1135. package/dist/type-theory/lambda-calc/combinators.js.map +1 -0
  1136. package/dist/type-theory/lambda-calc/index.d.ts.map +1 -0
  1137. package/dist/type-theory/lambda-calc/index.js.map +1 -0
  1138. package/dist/type-theory/lambda-calc/reduce.d.ts.map +1 -0
  1139. package/dist/type-theory/lambda-calc/reduce.js.map +1 -0
  1140. package/dist/type-theory/lambda-calc/substitution.d.ts.map +1 -0
  1141. package/dist/type-theory/lambda-calc/substitution.js.map +1 -0
  1142. package/dist/type-theory/lambda-calc/types.d.ts.map +1 -0
  1143. package/dist/type-theory/lambda-calc/types.js.map +1 -0
  1144. package/dist/type-theory/mltt/equality.d.ts.map +1 -0
  1145. package/dist/type-theory/mltt/equality.js.map +1 -0
  1146. package/dist/type-theory/mltt/index.d.ts.map +1 -0
  1147. package/dist/type-theory/mltt/index.js.map +1 -0
  1148. package/dist/type-theory/mltt/infer.d.ts.map +1 -0
  1149. package/dist/type-theory/mltt/infer.js.map +1 -0
  1150. package/dist/type-theory/mltt/normalize.d.ts.map +1 -0
  1151. package/dist/type-theory/mltt/normalize.js.map +1 -0
  1152. package/dist/type-theory/mltt/substitute.d.ts.map +1 -0
  1153. package/dist/type-theory/mltt/substitute.js.map +1 -0
  1154. package/dist/type-theory/mltt/types.d.ts.map +1 -0
  1155. package/dist/type-theory/mltt/types.js.map +1 -0
  1156. package/dist/type-theory/nbe/index.d.ts.map +1 -0
  1157. package/dist/type-theory/nbe/index.js.map +1 -0
  1158. package/dist/type-theory/nbe/nbe.d.ts.map +1 -0
  1159. package/dist/type-theory/nbe/nbe.js.map +1 -0
  1160. package/dist/type-theory/nbe/types.d.ts.map +1 -0
  1161. package/dist/type-theory/nbe/types.js.map +1 -0
  1162. package/dist/type-theory/refinement-types/checker.d.ts.map +1 -0
  1163. package/dist/type-theory/refinement-types/checker.js.map +1 -0
  1164. package/dist/type-theory/refinement-types/index.d.ts.map +1 -0
  1165. package/dist/type-theory/refinement-types/index.js.map +1 -0
  1166. package/dist/type-theory/refinement-types/predicate.d.ts.map +1 -0
  1167. package/dist/type-theory/refinement-types/predicate.js.map +1 -0
  1168. package/dist/type-theory/refinement-types/solver.d.ts.map +1 -0
  1169. package/dist/type-theory/refinement-types/solver.js.map +1 -0
  1170. package/dist/type-theory/refinement-types/subtype.d.ts.map +1 -0
  1171. package/dist/type-theory/refinement-types/subtype.js.map +1 -0
  1172. package/dist/type-theory/refinement-types/types.d.ts.map +1 -0
  1173. package/dist/type-theory/refinement-types/types.js.map +1 -0
  1174. package/dist/type-theory/system-f/index.d.ts.map +1 -0
  1175. package/dist/type-theory/system-f/index.js.map +1 -0
  1176. package/dist/type-theory/system-f/infer.d.ts.map +1 -0
  1177. package/dist/type-theory/system-f/infer.js.map +1 -0
  1178. package/dist/type-theory/system-f/reduce.d.ts.map +1 -0
  1179. package/dist/type-theory/system-f/reduce.js.map +1 -0
  1180. package/dist/type-theory/system-f/types.d.ts.map +1 -0
  1181. package/dist/type-theory/system-f/types.js.map +1 -0
  1182. package/package.json +4 -3
  1183. package/dist/argumentation/dot.d.ts.map +0 -1
  1184. package/dist/argumentation/dot.js.map +0 -1
  1185. package/dist/argumentation/extensions.d.ts.map +0 -1
  1186. package/dist/argumentation/extensions.js.map +0 -1
  1187. package/dist/argumentation/framework.d.ts.map +0 -1
  1188. package/dist/argumentation/framework.js.map +0 -1
  1189. package/dist/argumentation/index.d.ts.map +0 -1
  1190. package/dist/argumentation/index.js.map +0 -1
  1191. package/dist/argumentation/types.d.ts.map +0 -1
  1192. package/dist/argumentation/types.js.map +0 -1
  1193. package/dist/bdd/index.d.ts.map +0 -1
  1194. package/dist/bdd/index.js.map +0 -1
  1195. package/dist/bdd/manager.d.ts.map +0 -1
  1196. package/dist/bdd/manager.js.map +0 -1
  1197. package/dist/bdd/types.d.ts.map +0 -1
  1198. package/dist/bdd/types.js.map +0 -1
  1199. package/dist/belief-revision/agm.d.ts.map +0 -1
  1200. package/dist/belief-revision/agm.js.map +0 -1
  1201. package/dist/belief-revision/index.d.ts.map +0 -1
  1202. package/dist/belief-revision/index.js.map +0 -1
  1203. package/dist/belief-revision/parser.d.ts.map +0 -1
  1204. package/dist/belief-revision/parser.js.map +0 -1
  1205. package/dist/belief-revision/sat.d.ts.map +0 -1
  1206. package/dist/belief-revision/sat.js.map +0 -1
  1207. package/dist/belief-revision/types.d.ts.map +0 -1
  1208. package/dist/belief-revision/types.js.map +0 -1
  1209. package/dist/categorical/fin-set.d.ts.map +0 -1
  1210. package/dist/categorical/fin-set.js.map +0 -1
  1211. package/dist/categorical/free.d.ts.map +0 -1
  1212. package/dist/categorical/free.js.map +0 -1
  1213. package/dist/categorical/functor.d.ts.map +0 -1
  1214. package/dist/categorical/functor.js.map +0 -1
  1215. package/dist/categorical/index.d.ts.map +0 -1
  1216. package/dist/categorical/index.js.map +0 -1
  1217. package/dist/categorical/limits.d.ts.map +0 -1
  1218. package/dist/categorical/limits.js.map +0 -1
  1219. package/dist/categorical/monoidal.d.ts.map +0 -1
  1220. package/dist/categorical/monoidal.js.map +0 -1
  1221. package/dist/categorical/poset.d.ts.map +0 -1
  1222. package/dist/categorical/poset.js.map +0 -1
  1223. package/dist/categorical/types.d.ts.map +0 -1
  1224. package/dist/categorical/types.js.map +0 -1
  1225. package/dist/citation-reasoning/derive.d.ts.map +0 -1
  1226. package/dist/citation-reasoning/derive.js.map +0 -1
  1227. package/dist/citation-reasoning/index.d.ts.map +0 -1
  1228. package/dist/citation-reasoning/index.js.map +0 -1
  1229. package/dist/citation-reasoning/types.d.ts.map +0 -1
  1230. package/dist/citation-reasoning/types.js.map +0 -1
  1231. package/dist/coinduction/index.d.ts.map +0 -1
  1232. package/dist/coinduction/index.js.map +0 -1
  1233. package/dist/combinators-ski/abstract.d.ts.map +0 -1
  1234. package/dist/combinators-ski/abstract.js.map +0 -1
  1235. package/dist/combinators-ski/index.d.ts.map +0 -1
  1236. package/dist/combinators-ski/index.js.map +0 -1
  1237. package/dist/combinators-ski/reduce.d.ts.map +0 -1
  1238. package/dist/combinators-ski/reduce.js.map +0 -1
  1239. package/dist/combinators-ski/types.d.ts.map +0 -1
  1240. package/dist/combinators-ski/types.js.map +0 -1
  1241. package/dist/constructive-reals/index.d.ts.map +0 -1
  1242. package/dist/constructive-reals/index.js.map +0 -1
  1243. package/dist/csp-hoare/analysis.d.ts.map +0 -1
  1244. package/dist/csp-hoare/analysis.js.map +0 -1
  1245. package/dist/csp-hoare/examples.d.ts.map +0 -1
  1246. package/dist/csp-hoare/examples.js.map +0 -1
  1247. package/dist/csp-hoare/index.d.ts.map +0 -1
  1248. package/dist/csp-hoare/index.js.map +0 -1
  1249. package/dist/csp-hoare/semantics.d.ts.map +0 -1
  1250. package/dist/csp-hoare/semantics.js.map +0 -1
  1251. package/dist/csp-hoare/types.d.ts.map +0 -1
  1252. package/dist/csp-hoare/types.js.map +0 -1
  1253. package/dist/curry-howard/index.d.ts.map +0 -1
  1254. package/dist/curry-howard/index.js.map +0 -1
  1255. package/dist/curry-howard/infer.d.ts.map +0 -1
  1256. package/dist/curry-howard/infer.js.map +0 -1
  1257. package/dist/curry-howard/proof.d.ts.map +0 -1
  1258. package/dist/curry-howard/proof.js.map +0 -1
  1259. package/dist/curry-howard/reduce.d.ts.map +0 -1
  1260. package/dist/curry-howard/reduce.js.map +0 -1
  1261. package/dist/curry-howard/types.d.ts.map +0 -1
  1262. package/dist/curry-howard/types.js.map +0 -1
  1263. package/dist/educational/checker.d.ts.map +0 -1
  1264. package/dist/educational/checker.js +0 -244
  1265. package/dist/educational/checker.js.map +0 -1
  1266. package/dist/educational/generator.d.ts.map +0 -1
  1267. package/dist/educational/generator.js.map +0 -1
  1268. package/dist/educational/index.d.ts.map +0 -1
  1269. package/dist/educational/index.js.map +0 -1
  1270. package/dist/educational/normalize.d.ts.map +0 -1
  1271. package/dist/educational/normalize.js.map +0 -1
  1272. package/dist/educational/rng.d.ts.map +0 -1
  1273. package/dist/educational/rng.js.map +0 -1
  1274. package/dist/educational/templates.d.ts.map +0 -1
  1275. package/dist/educational/templates.js.map +0 -1
  1276. package/dist/educational/types.d.ts.map +0 -1
  1277. package/dist/educational/types.js.map +0 -1
  1278. package/dist/exporters/coq/index.d.ts +0 -35
  1279. package/dist/exporters/coq/index.d.ts.map +0 -1
  1280. package/dist/exporters/coq/index.js.map +0 -1
  1281. package/dist/fol-prover/cnf.d.ts +0 -10
  1282. package/dist/fol-prover/cnf.d.ts.map +0 -1
  1283. package/dist/fol-prover/cnf.js.map +0 -1
  1284. package/dist/fol-prover/index.d.ts.map +0 -1
  1285. package/dist/fol-prover/index.js.map +0 -1
  1286. package/dist/fol-prover/prove.d.ts +0 -4
  1287. package/dist/fol-prover/prove.d.ts.map +0 -1
  1288. package/dist/fol-prover/prove.js.map +0 -1
  1289. package/dist/fol-prover/resolve.d.ts.map +0 -1
  1290. package/dist/fol-prover/resolve.js.map +0 -1
  1291. package/dist/fol-prover/types.d.ts.map +0 -1
  1292. package/dist/fol-prover/types.js.map +0 -1
  1293. package/dist/fol-prover/unify.d.ts.map +0 -1
  1294. package/dist/fol-prover/unify.js.map +0 -1
  1295. package/dist/fol-prover-equality/demodulate.d.ts.map +0 -1
  1296. package/dist/fol-prover-equality/demodulate.js.map +0 -1
  1297. package/dist/fol-prover-equality/index.d.ts.map +0 -1
  1298. package/dist/fol-prover-equality/index.js.map +0 -1
  1299. package/dist/fol-prover-equality/paramodulate.d.ts.map +0 -1
  1300. package/dist/fol-prover-equality/paramodulate.js.map +0 -1
  1301. package/dist/fol-prover-equality/prove.d.ts +0 -7
  1302. package/dist/fol-prover-equality/prove.d.ts.map +0 -1
  1303. package/dist/fol-prover-equality/prove.js.map +0 -1
  1304. package/dist/fol-prover-equality/term-utils.d.ts.map +0 -1
  1305. package/dist/fol-prover-equality/term-utils.js.map +0 -1
  1306. package/dist/fol-prover-equality/types.d.ts.map +0 -1
  1307. package/dist/fol-prover-equality/types.js.map +0 -1
  1308. package/dist/game-semantics/convert.d.ts +0 -4
  1309. package/dist/game-semantics/convert.d.ts.map +0 -1
  1310. package/dist/game-semantics/convert.js +0 -28
  1311. package/dist/game-semantics/convert.js.map +0 -1
  1312. package/dist/game-semantics/index.d.ts.map +0 -1
  1313. package/dist/game-semantics/index.js.map +0 -1
  1314. package/dist/game-semantics/strategy.d.ts.map +0 -1
  1315. package/dist/game-semantics/strategy.js +0 -336
  1316. package/dist/game-semantics/strategy.js.map +0 -1
  1317. package/dist/game-semantics/types.d.ts.map +0 -1
  1318. package/dist/game-semantics/types.js.map +0 -1
  1319. package/dist/game-theory/common-games.d.ts.map +0 -1
  1320. package/dist/game-theory/common-games.js.map +0 -1
  1321. package/dist/game-theory/dominance.d.ts.map +0 -1
  1322. package/dist/game-theory/dominance.js.map +0 -1
  1323. package/dist/game-theory/index.d.ts.map +0 -1
  1324. package/dist/game-theory/index.js.map +0 -1
  1325. package/dist/game-theory/lemke-howson.d.ts.map +0 -1
  1326. package/dist/game-theory/lemke-howson.js.map +0 -1
  1327. package/dist/game-theory/linalg.d.ts.map +0 -1
  1328. package/dist/game-theory/linalg.js.map +0 -1
  1329. package/dist/game-theory/pure-nash.d.ts.map +0 -1
  1330. package/dist/game-theory/pure-nash.js.map +0 -1
  1331. package/dist/game-theory/support-enumeration.d.ts.map +0 -1
  1332. package/dist/game-theory/support-enumeration.js.map +0 -1
  1333. package/dist/game-theory/types.d.ts.map +0 -1
  1334. package/dist/game-theory/types.js.map +0 -1
  1335. package/dist/higher-order-unify/index.d.ts.map +0 -1
  1336. package/dist/higher-order-unify/index.js.map +0 -1
  1337. package/dist/higher-order-unify/normalize.d.ts.map +0 -1
  1338. package/dist/higher-order-unify/normalize.js.map +0 -1
  1339. package/dist/higher-order-unify/pattern.d.ts.map +0 -1
  1340. package/dist/higher-order-unify/pattern.js.map +0 -1
  1341. package/dist/higher-order-unify/types.d.ts.map +0 -1
  1342. package/dist/higher-order-unify/types.js.map +0 -1
  1343. package/dist/higher-order-unify/unify.d.ts.map +0 -1
  1344. package/dist/higher-order-unify/unify.js.map +0 -1
  1345. package/dist/hindley-milner/index.d.ts.map +0 -1
  1346. package/dist/hindley-milner/index.js.map +0 -1
  1347. package/dist/hindley-milner/infer.d.ts.map +0 -1
  1348. package/dist/hindley-milner/infer.js.map +0 -1
  1349. package/dist/hindley-milner/substitution.d.ts.map +0 -1
  1350. package/dist/hindley-milner/substitution.js.map +0 -1
  1351. package/dist/hindley-milner/types.d.ts.map +0 -1
  1352. package/dist/hindley-milner/types.js.map +0 -1
  1353. package/dist/hott/equality.d.ts.map +0 -1
  1354. package/dist/hott/equality.js.map +0 -1
  1355. package/dist/hott/index.d.ts.map +0 -1
  1356. package/dist/hott/index.js.map +0 -1
  1357. package/dist/hott/infer.d.ts.map +0 -1
  1358. package/dist/hott/infer.js.map +0 -1
  1359. package/dist/hott/normalize.d.ts.map +0 -1
  1360. package/dist/hott/normalize.js.map +0 -1
  1361. package/dist/hott/path-algebra.d.ts.map +0 -1
  1362. package/dist/hott/path-algebra.js.map +0 -1
  1363. package/dist/hott/substitute.d.ts.map +0 -1
  1364. package/dist/hott/substitute.js.map +0 -1
  1365. package/dist/hott/types.d.ts.map +0 -1
  1366. package/dist/hott/types.js.map +0 -1
  1367. package/dist/hyperreal/index.d.ts.map +0 -1
  1368. package/dist/hyperreal/index.js.map +0 -1
  1369. package/dist/information-theory/index.d.ts.map +0 -1
  1370. package/dist/information-theory/index.js.map +0 -1
  1371. package/dist/lambda-calc/church.d.ts.map +0 -1
  1372. package/dist/lambda-calc/church.js.map +0 -1
  1373. package/dist/lambda-calc/combinators.d.ts.map +0 -1
  1374. package/dist/lambda-calc/combinators.js.map +0 -1
  1375. package/dist/lambda-calc/index.d.ts.map +0 -1
  1376. package/dist/lambda-calc/index.js.map +0 -1
  1377. package/dist/lambda-calc/reduce.d.ts.map +0 -1
  1378. package/dist/lambda-calc/reduce.js.map +0 -1
  1379. package/dist/lambda-calc/substitution.d.ts.map +0 -1
  1380. package/dist/lambda-calc/substitution.js.map +0 -1
  1381. package/dist/lambda-calc/types.d.ts.map +0 -1
  1382. package/dist/lambda-calc/types.js.map +0 -1
  1383. package/dist/lemma-synthesis/index.d.ts.map +0 -1
  1384. package/dist/lemma-synthesis/index.js.map +0 -1
  1385. package/dist/lsp/index.d.ts.map +0 -1
  1386. package/dist/lsp/index.js.map +0 -1
  1387. package/dist/lsp/protocol.d.ts.map +0 -1
  1388. package/dist/lsp/protocol.js.map +0 -1
  1389. package/dist/lsp/server.d.ts.map +0 -1
  1390. package/dist/lsp/server.js +0 -529
  1391. package/dist/lsp/server.js.map +0 -1
  1392. package/dist/lsp/types.d.ts.map +0 -1
  1393. package/dist/lsp/types.js.map +0 -1
  1394. package/dist/mltt/equality.d.ts.map +0 -1
  1395. package/dist/mltt/equality.js.map +0 -1
  1396. package/dist/mltt/index.d.ts.map +0 -1
  1397. package/dist/mltt/index.js.map +0 -1
  1398. package/dist/mltt/infer.d.ts.map +0 -1
  1399. package/dist/mltt/infer.js.map +0 -1
  1400. package/dist/mltt/normalize.d.ts.map +0 -1
  1401. package/dist/mltt/normalize.js.map +0 -1
  1402. package/dist/mltt/substitute.d.ts.map +0 -1
  1403. package/dist/mltt/substitute.js.map +0 -1
  1404. package/dist/mltt/types.d.ts.map +0 -1
  1405. package/dist/mltt/types.js.map +0 -1
  1406. package/dist/nbe/index.d.ts.map +0 -1
  1407. package/dist/nbe/index.js.map +0 -1
  1408. package/dist/nbe/nbe.d.ts.map +0 -1
  1409. package/dist/nbe/nbe.js.map +0 -1
  1410. package/dist/nbe/types.d.ts.map +0 -1
  1411. package/dist/nbe/types.js.map +0 -1
  1412. package/dist/optimization/branch-and-bound.d.ts.map +0 -1
  1413. package/dist/optimization/branch-and-bound.js.map +0 -1
  1414. package/dist/optimization/index.d.ts.map +0 -1
  1415. package/dist/optimization/index.js.map +0 -1
  1416. package/dist/optimization/simplex.d.ts.map +0 -1
  1417. package/dist/optimization/simplex.js.map +0 -1
  1418. package/dist/optimization/standard-form.d.ts.map +0 -1
  1419. package/dist/optimization/standard-form.js.map +0 -1
  1420. package/dist/optimization/types.d.ts.map +0 -1
  1421. package/dist/optimization/types.js.map +0 -1
  1422. package/dist/plugin-system/demo-min-logic.d.ts.map +0 -1
  1423. package/dist/plugin-system/demo-min-logic.js.map +0 -1
  1424. package/dist/plugin-system/errors.d.ts.map +0 -1
  1425. package/dist/plugin-system/errors.js.map +0 -1
  1426. package/dist/plugin-system/index.d.ts.map +0 -1
  1427. package/dist/plugin-system/index.js.map +0 -1
  1428. package/dist/plugin-system/registry.d.ts.map +0 -1
  1429. package/dist/plugin-system/registry.js.map +0 -1
  1430. package/dist/plugin-system/types.d.ts +0 -23
  1431. package/dist/plugin-system/types.d.ts.map +0 -1
  1432. package/dist/plugin-system/types.js.map +0 -1
  1433. package/dist/plugin-system/validate.d.ts.map +0 -1
  1434. package/dist/plugin-system/validate.js.map +0 -1
  1435. package/dist/profile-bridge/index.d.ts +0 -64
  1436. package/dist/profile-bridge/index.d.ts.map +0 -1
  1437. package/dist/profile-bridge/index.js.map +0 -1
  1438. package/dist/profiles/aristotelian/syllogistic.d.ts +0 -14
  1439. package/dist/profiles/aristotelian/syllogistic.d.ts.map +0 -1
  1440. package/dist/profiles/aristotelian/syllogistic.js.map +0 -1
  1441. package/dist/profiles/arithmetic/index.d.ts +0 -15
  1442. package/dist/profiles/arithmetic/index.d.ts.map +0 -1
  1443. package/dist/profiles/arithmetic/index.js.map +0 -1
  1444. package/dist/profiles/classical/cdcl.d.ts +0 -34
  1445. package/dist/profiles/classical/cdcl.d.ts.map +0 -1
  1446. package/dist/profiles/classical/cdcl.js.map +0 -1
  1447. package/dist/profiles/classical/dpll.d.ts +0 -20
  1448. package/dist/profiles/classical/dpll.d.ts.map +0 -1
  1449. package/dist/profiles/classical/dpll.js.map +0 -1
  1450. package/dist/profiles/classical/first-order.d.ts +0 -20
  1451. package/dist/profiles/classical/first-order.d.ts.map +0 -1
  1452. package/dist/profiles/classical/first-order.js.map +0 -1
  1453. package/dist/profiles/classical/parallel-sat.d.ts.map +0 -1
  1454. package/dist/profiles/classical/parallel-sat.js.map +0 -1
  1455. package/dist/profiles/classical/propositional.d.ts +0 -30
  1456. package/dist/profiles/classical/propositional.d.ts.map +0 -1
  1457. package/dist/profiles/classical/propositional.js +0 -2868
  1458. package/dist/profiles/classical/propositional.js.map +0 -1
  1459. package/dist/profiles/classical/sat-preprocess.d.ts.map +0 -1
  1460. package/dist/profiles/classical/sat-preprocess.js.map +0 -1
  1461. package/dist/profiles/classical/undecidability-detector.d.ts +0 -13
  1462. package/dist/profiles/classical/undecidability-detector.d.ts.map +0 -1
  1463. package/dist/profiles/classical/undecidability-detector.js.map +0 -1
  1464. package/dist/profiles/ctl/check.d.ts.map +0 -1
  1465. package/dist/profiles/ctl/check.js.map +0 -1
  1466. package/dist/profiles/ctl/index.d.ts.map +0 -1
  1467. package/dist/profiles/ctl/index.js.map +0 -1
  1468. package/dist/profiles/ctl/types.d.ts.map +0 -1
  1469. package/dist/profiles/ctl/types.js.map +0 -1
  1470. package/dist/profiles/ctl/witness.d.ts.map +0 -1
  1471. package/dist/profiles/ctl/witness.js.map +0 -1
  1472. package/dist/profiles/default-logic/entailment.d.ts.map +0 -1
  1473. package/dist/profiles/default-logic/entailment.js.map +0 -1
  1474. package/dist/profiles/default-logic/extensions.d.ts.map +0 -1
  1475. package/dist/profiles/default-logic/extensions.js.map +0 -1
  1476. package/dist/profiles/default-logic/index.d.ts.map +0 -1
  1477. package/dist/profiles/default-logic/index.js.map +0 -1
  1478. package/dist/profiles/default-logic/types.d.ts.map +0 -1
  1479. package/dist/profiles/default-logic/types.js.map +0 -1
  1480. package/dist/profiles/deontic/standard.d.ts +0 -10
  1481. package/dist/profiles/deontic/standard.d.ts.map +0 -1
  1482. package/dist/profiles/deontic/standard.js.map +0 -1
  1483. package/dist/profiles/description-logic/index.d.ts.map +0 -1
  1484. package/dist/profiles/description-logic/index.js.map +0 -1
  1485. package/dist/profiles/description-logic/nnf.d.ts.map +0 -1
  1486. package/dist/profiles/description-logic/nnf.js.map +0 -1
  1487. package/dist/profiles/description-logic/tableau.d.ts.map +0 -1
  1488. package/dist/profiles/description-logic/tableau.js.map +0 -1
  1489. package/dist/profiles/description-logic/types.d.ts.map +0 -1
  1490. package/dist/profiles/description-logic/types.js.map +0 -1
  1491. package/dist/profiles/epistemic/s5.d.ts +0 -10
  1492. package/dist/profiles/epistemic/s5.d.ts.map +0 -1
  1493. package/dist/profiles/epistemic/s5.js.map +0 -1
  1494. package/dist/profiles/hol/connectives.d.ts.map +0 -1
  1495. package/dist/profiles/hol/connectives.js.map +0 -1
  1496. package/dist/profiles/hol/index.d.ts.map +0 -1
  1497. package/dist/profiles/hol/index.js.map +0 -1
  1498. package/dist/profiles/hol/rules.d.ts.map +0 -1
  1499. package/dist/profiles/hol/rules.js.map +0 -1
  1500. package/dist/profiles/hol/term.d.ts.map +0 -1
  1501. package/dist/profiles/hol/term.js.map +0 -1
  1502. package/dist/profiles/hol/type-system.d.ts.map +0 -1
  1503. package/dist/profiles/hol/type-system.js.map +0 -1
  1504. package/dist/profiles/hol/types.d.ts.map +0 -1
  1505. package/dist/profiles/hol/types.js.map +0 -1
  1506. package/dist/profiles/hybrid-logic/index.d.ts.map +0 -1
  1507. package/dist/profiles/hybrid-logic/index.js.map +0 -1
  1508. package/dist/profiles/hybrid-logic/sat.d.ts.map +0 -1
  1509. package/dist/profiles/hybrid-logic/sat.js.map +0 -1
  1510. package/dist/profiles/hybrid-logic/semantics.d.ts.map +0 -1
  1511. package/dist/profiles/hybrid-logic/semantics.js.map +0 -1
  1512. package/dist/profiles/hybrid-logic/types.d.ts.map +0 -1
  1513. package/dist/profiles/hybrid-logic/types.js.map +0 -1
  1514. package/dist/profiles/index.d.ts.map +0 -1
  1515. package/dist/profiles/index.js.map +0 -1
  1516. package/dist/profiles/interface.d.ts +0 -11
  1517. package/dist/profiles/interface.d.ts.map +0 -1
  1518. package/dist/profiles/interface.js.map +0 -1
  1519. package/dist/profiles/intuitionistic/propositional.d.ts +0 -14
  1520. package/dist/profiles/intuitionistic/propositional.d.ts.map +0 -1
  1521. package/dist/profiles/intuitionistic/propositional.js.map +0 -1
  1522. package/dist/profiles/intuitionistic-nj/formula.d.ts.map +0 -1
  1523. package/dist/profiles/intuitionistic-nj/formula.js.map +0 -1
  1524. package/dist/profiles/intuitionistic-nj/index.d.ts.map +0 -1
  1525. package/dist/profiles/intuitionistic-nj/index.js.map +0 -1
  1526. package/dist/profiles/intuitionistic-nj/kripke.d.ts.map +0 -1
  1527. package/dist/profiles/intuitionistic-nj/kripke.js.map +0 -1
  1528. package/dist/profiles/intuitionistic-nj/prover.d.ts.map +0 -1
  1529. package/dist/profiles/intuitionistic-nj/prover.js.map +0 -1
  1530. package/dist/profiles/intuitionistic-nj/types.d.ts.map +0 -1
  1531. package/dist/profiles/intuitionistic-nj/types.js.map +0 -1
  1532. package/dist/profiles/ltl-sat/index.d.ts.map +0 -1
  1533. package/dist/profiles/ltl-sat/index.js.map +0 -1
  1534. package/dist/profiles/ltl-sat/sat.d.ts.map +0 -1
  1535. package/dist/profiles/ltl-sat/sat.js.map +0 -1
  1536. package/dist/profiles/ltl-sat/tableau.d.ts.map +0 -1
  1537. package/dist/profiles/ltl-sat/tableau.js.map +0 -1
  1538. package/dist/profiles/ltl-sat/types.d.ts.map +0 -1
  1539. package/dist/profiles/ltl-sat/types.js.map +0 -1
  1540. package/dist/profiles/many-valued/index.d.ts.map +0 -1
  1541. package/dist/profiles/many-valued/index.js.map +0 -1
  1542. package/dist/profiles/modal/k.d.ts +0 -10
  1543. package/dist/profiles/modal/k.d.ts.map +0 -1
  1544. package/dist/profiles/modal/k.js.map +0 -1
  1545. package/dist/profiles/modal-frame-axioms/formula.d.ts.map +0 -1
  1546. package/dist/profiles/modal-frame-axioms/formula.js.map +0 -1
  1547. package/dist/profiles/modal-frame-axioms/index.d.ts.map +0 -1
  1548. package/dist/profiles/modal-frame-axioms/index.js.map +0 -1
  1549. package/dist/profiles/modal-frame-axioms/systems.d.ts.map +0 -1
  1550. package/dist/profiles/modal-frame-axioms/systems.js.map +0 -1
  1551. package/dist/profiles/modal-frame-axioms/tableau.d.ts.map +0 -1
  1552. package/dist/profiles/modal-frame-axioms/tableau.js.map +0 -1
  1553. package/dist/profiles/modal-frame-axioms/types.d.ts.map +0 -1
  1554. package/dist/profiles/modal-frame-axioms/types.js.map +0 -1
  1555. package/dist/profiles/mu-calculus/check.d.ts.map +0 -1
  1556. package/dist/profiles/mu-calculus/check.js.map +0 -1
  1557. package/dist/profiles/mu-calculus/ctl-translate.d.ts.map +0 -1
  1558. package/dist/profiles/mu-calculus/ctl-translate.js.map +0 -1
  1559. package/dist/profiles/mu-calculus/index.d.ts.map +0 -1
  1560. package/dist/profiles/mu-calculus/index.js.map +0 -1
  1561. package/dist/profiles/mu-calculus/types.d.ts.map +0 -1
  1562. package/dist/profiles/mu-calculus/types.js.map +0 -1
  1563. package/dist/profiles/mu-calculus/wellformed.d.ts.map +0 -1
  1564. package/dist/profiles/mu-calculus/wellformed.js.map +0 -1
  1565. package/dist/profiles/paraconsistent/belnap.d.ts +0 -28
  1566. package/dist/profiles/paraconsistent/belnap.d.ts.map +0 -1
  1567. package/dist/profiles/paraconsistent/belnap.js.map +0 -1
  1568. package/dist/profiles/probabilistic/basic.d.ts +0 -18
  1569. package/dist/profiles/probabilistic/basic.d.ts.map +0 -1
  1570. package/dist/profiles/probabilistic/basic.js.map +0 -1
  1571. package/dist/profiles/sequent-g3/index.d.ts.map +0 -1
  1572. package/dist/profiles/sequent-g3/index.js.map +0 -1
  1573. package/dist/profiles/sequent-g3/latex.d.ts.map +0 -1
  1574. package/dist/profiles/sequent-g3/latex.js.map +0 -1
  1575. package/dist/profiles/sequent-g3/normalize.d.ts +0 -15
  1576. package/dist/profiles/sequent-g3/normalize.d.ts.map +0 -1
  1577. package/dist/profiles/sequent-g3/normalize.js.map +0 -1
  1578. package/dist/profiles/sequent-g3/prover.d.ts +0 -16
  1579. package/dist/profiles/sequent-g3/prover.d.ts.map +0 -1
  1580. package/dist/profiles/sequent-g3/prover.js.map +0 -1
  1581. package/dist/profiles/sequent-g3/types.d.ts +0 -30
  1582. package/dist/profiles/sequent-g3/types.d.ts.map +0 -1
  1583. package/dist/profiles/sequent-g3/types.js.map +0 -1
  1584. package/dist/profiles/sequent-lk/cut-elimination.d.ts.map +0 -1
  1585. package/dist/profiles/sequent-lk/cut-elimination.js.map +0 -1
  1586. package/dist/profiles/sequent-lk/index.d.ts.map +0 -1
  1587. package/dist/profiles/sequent-lk/index.js.map +0 -1
  1588. package/dist/profiles/sequent-lk/prover.d.ts.map +0 -1
  1589. package/dist/profiles/sequent-lk/prover.js.map +0 -1
  1590. package/dist/profiles/sequent-lk/types.d.ts.map +0 -1
  1591. package/dist/profiles/sequent-lk/types.js.map +0 -1
  1592. package/dist/profiles/sequent-lk/util.d.ts.map +0 -1
  1593. package/dist/profiles/sequent-lk/util.js.map +0 -1
  1594. package/dist/profiles/shared/base-profile.d.ts +0 -22
  1595. package/dist/profiles/shared/base-profile.d.ts.map +0 -1
  1596. package/dist/profiles/shared/base-profile.js +0 -219
  1597. package/dist/profiles/shared/base-profile.js.map +0 -1
  1598. package/dist/profiles/shared/tableau-engine.d.ts +0 -73
  1599. package/dist/profiles/shared/tableau-engine.d.ts.map +0 -1
  1600. package/dist/profiles/shared/tableau-engine.js +0 -684
  1601. package/dist/profiles/shared/tableau-engine.js.map +0 -1
  1602. package/dist/profiles/substructural/index.d.ts.map +0 -1
  1603. package/dist/profiles/substructural/index.js.map +0 -1
  1604. package/dist/profiles/substructural/prover.d.ts.map +0 -1
  1605. package/dist/profiles/substructural/prover.js.map +0 -1
  1606. package/dist/profiles/substructural/types.d.ts.map +0 -1
  1607. package/dist/profiles/substructural/types.js.map +0 -1
  1608. package/dist/profiles/temporal/ltl.d.ts +0 -12
  1609. package/dist/profiles/temporal/ltl.d.ts.map +0 -1
  1610. package/dist/profiles/temporal/ltl.js.map +0 -1
  1611. package/dist/proof-exchange/index.d.ts +0 -24
  1612. package/dist/proof-exchange/index.d.ts.map +0 -1
  1613. package/dist/proof-exchange/index.js.map +0 -1
  1614. package/dist/proof-nets/construct.d.ts.map +0 -1
  1615. package/dist/proof-nets/construct.js.map +0 -1
  1616. package/dist/proof-nets/correctness.d.ts.map +0 -1
  1617. package/dist/proof-nets/correctness.js.map +0 -1
  1618. package/dist/proof-nets/cut-elim.d.ts.map +0 -1
  1619. package/dist/proof-nets/cut-elim.js.map +0 -1
  1620. package/dist/proof-nets/index.d.ts.map +0 -1
  1621. package/dist/proof-nets/index.js.map +0 -1
  1622. package/dist/proof-nets/types.d.ts.map +0 -1
  1623. package/dist/proof-nets/types.js.map +0 -1
  1624. package/dist/refinement-types/checker.d.ts.map +0 -1
  1625. package/dist/refinement-types/checker.js.map +0 -1
  1626. package/dist/refinement-types/index.d.ts.map +0 -1
  1627. package/dist/refinement-types/index.js.map +0 -1
  1628. package/dist/refinement-types/predicate.d.ts.map +0 -1
  1629. package/dist/refinement-types/predicate.js.map +0 -1
  1630. package/dist/refinement-types/solver.d.ts.map +0 -1
  1631. package/dist/refinement-types/solver.js.map +0 -1
  1632. package/dist/refinement-types/subtype.d.ts.map +0 -1
  1633. package/dist/refinement-types/subtype.js.map +0 -1
  1634. package/dist/refinement-types/types.d.ts.map +0 -1
  1635. package/dist/refinement-types/types.js.map +0 -1
  1636. package/dist/runtime/abduction/entails.d.ts.map +0 -1
  1637. package/dist/runtime/abduction/entails.js.map +0 -1
  1638. package/dist/runtime/abduction/find.d.ts.map +0 -1
  1639. package/dist/runtime/abduction/find.js.map +0 -1
  1640. package/dist/runtime/abduction/index.d.ts.map +0 -1
  1641. package/dist/runtime/abduction/index.js.map +0 -1
  1642. package/dist/runtime/abduction/types.d.ts.map +0 -1
  1643. package/dist/runtime/abduction/types.js.map +0 -1
  1644. package/dist/runtime/bayesian/factor.d.ts.map +0 -1
  1645. package/dist/runtime/bayesian/factor.js.map +0 -1
  1646. package/dist/runtime/bayesian/index.d.ts.map +0 -1
  1647. package/dist/runtime/bayesian/index.js.map +0 -1
  1648. package/dist/runtime/bayesian/inference.d.ts.map +0 -1
  1649. package/dist/runtime/bayesian/inference.js.map +0 -1
  1650. package/dist/runtime/bayesian/types.d.ts.map +0 -1
  1651. package/dist/runtime/bayesian/types.js.map +0 -1
  1652. package/dist/runtime/csp/ac3.d.ts.map +0 -1
  1653. package/dist/runtime/csp/ac3.js.map +0 -1
  1654. package/dist/runtime/csp/backtrack.d.ts.map +0 -1
  1655. package/dist/runtime/csp/backtrack.js.map +0 -1
  1656. package/dist/runtime/csp/builtins.d.ts.map +0 -1
  1657. package/dist/runtime/csp/builtins.js.map +0 -1
  1658. package/dist/runtime/csp/index.d.ts.map +0 -1
  1659. package/dist/runtime/csp/index.js.map +0 -1
  1660. package/dist/runtime/csp/types.d.ts.map +0 -1
  1661. package/dist/runtime/csp/types.js.map +0 -1
  1662. package/dist/runtime/fca/context.d.ts.map +0 -1
  1663. package/dist/runtime/fca/context.js.map +0 -1
  1664. package/dist/runtime/fca/implications.d.ts.map +0 -1
  1665. package/dist/runtime/fca/implications.js.map +0 -1
  1666. package/dist/runtime/fca/index.d.ts.map +0 -1
  1667. package/dist/runtime/fca/index.js.map +0 -1
  1668. package/dist/runtime/fca/lattice.d.ts.map +0 -1
  1669. package/dist/runtime/fca/lattice.js.map +0 -1
  1670. package/dist/runtime/fca/next-closure.d.ts.map +0 -1
  1671. package/dist/runtime/fca/next-closure.js.map +0 -1
  1672. package/dist/runtime/fca/types.d.ts.map +0 -1
  1673. package/dist/runtime/fca/types.js.map +0 -1
  1674. package/dist/runtime/markov-logic/grounding.d.ts.map +0 -1
  1675. package/dist/runtime/markov-logic/grounding.js.map +0 -1
  1676. package/dist/runtime/markov-logic/index.d.ts.map +0 -1
  1677. package/dist/runtime/markov-logic/index.js.map +0 -1
  1678. package/dist/runtime/markov-logic/inference.d.ts.map +0 -1
  1679. package/dist/runtime/markov-logic/inference.js.map +0 -1
  1680. package/dist/runtime/markov-logic/parser.d.ts.map +0 -1
  1681. package/dist/runtime/markov-logic/parser.js.map +0 -1
  1682. package/dist/runtime/markov-logic/types.d.ts.map +0 -1
  1683. package/dist/runtime/markov-logic/types.js.map +0 -1
  1684. package/dist/runtime/mus/extract.d.ts.map +0 -1
  1685. package/dist/runtime/mus/extract.js.map +0 -1
  1686. package/dist/runtime/mus/index.d.ts.map +0 -1
  1687. package/dist/runtime/mus/index.js.map +0 -1
  1688. package/dist/runtime/mus/quickxplain.d.ts.map +0 -1
  1689. package/dist/runtime/mus/quickxplain.js.map +0 -1
  1690. package/dist/runtime/mus/types.d.ts.map +0 -1
  1691. package/dist/runtime/mus/types.js.map +0 -1
  1692. package/dist/runtime/planning/astar.d.ts.map +0 -1
  1693. package/dist/runtime/planning/astar.js.map +0 -1
  1694. package/dist/runtime/planning/bfs.d.ts.map +0 -1
  1695. package/dist/runtime/planning/bfs.js.map +0 -1
  1696. package/dist/runtime/planning/ground.d.ts.map +0 -1
  1697. package/dist/runtime/planning/ground.js.map +0 -1
  1698. package/dist/runtime/planning/heuristic.d.ts.map +0 -1
  1699. package/dist/runtime/planning/heuristic.js.map +0 -1
  1700. package/dist/runtime/planning/index.d.ts.map +0 -1
  1701. package/dist/runtime/planning/index.js.map +0 -1
  1702. package/dist/runtime/planning/types.d.ts.map +0 -1
  1703. package/dist/runtime/planning/types.js.map +0 -1
  1704. package/dist/runtime/proof-minify/index.d.ts.map +0 -1
  1705. package/dist/runtime/proof-minify/index.js.map +0 -1
  1706. package/dist/runtime/proof-minify/minify.d.ts.map +0 -1
  1707. package/dist/runtime/proof-minify/minify.js.map +0 -1
  1708. package/dist/runtime/proof-minify/types.d.ts.map +0 -1
  1709. package/dist/runtime/proof-minify/types.js.map +0 -1
  1710. package/dist/runtime/smt/index.d.ts.map +0 -1
  1711. package/dist/runtime/smt/index.js.map +0 -1
  1712. package/dist/runtime/smt/mock-backend.d.ts.map +0 -1
  1713. package/dist/runtime/smt/mock-backend.js.map +0 -1
  1714. package/dist/runtime/smt/serializer.d.ts.map +0 -1
  1715. package/dist/runtime/smt/serializer.js.map +0 -1
  1716. package/dist/runtime/smt/subprocess-backend.d.ts.map +0 -1
  1717. package/dist/runtime/smt/subprocess-backend.js.map +0 -1
  1718. package/dist/runtime/smt/types.d.ts.map +0 -1
  1719. package/dist/runtime/smt/types.js.map +0 -1
  1720. package/dist/smt-lib/ast.d.ts.map +0 -1
  1721. package/dist/smt-lib/ast.js.map +0 -1
  1722. package/dist/smt-lib/emitter.d.ts.map +0 -1
  1723. package/dist/smt-lib/emitter.js.map +0 -1
  1724. package/dist/smt-lib/index.d.ts.map +0 -1
  1725. package/dist/smt-lib/index.js.map +0 -1
  1726. package/dist/smt-lib/parser.d.ts.map +0 -1
  1727. package/dist/smt-lib/parser.js.map +0 -1
  1728. package/dist/smt-lib/tokenizer.d.ts.map +0 -1
  1729. package/dist/smt-lib/tokenizer.js.map +0 -1
  1730. package/dist/system-f/index.d.ts.map +0 -1
  1731. package/dist/system-f/index.js.map +0 -1
  1732. package/dist/system-f/infer.d.ts.map +0 -1
  1733. package/dist/system-f/infer.js.map +0 -1
  1734. package/dist/system-f/reduce.d.ts.map +0 -1
  1735. package/dist/system-f/reduce.js.map +0 -1
  1736. package/dist/system-f/types.d.ts.map +0 -1
  1737. package/dist/system-f/types.js.map +0 -1
  1738. package/dist/tableau-framework/TableauProver.d.ts.map +0 -1
  1739. package/dist/tableau-framework/TableauProver.js.map +0 -1
  1740. package/dist/tableau-framework/index.d.ts.map +0 -1
  1741. package/dist/tableau-framework/index.js.map +0 -1
  1742. package/dist/tableau-framework/propositional.d.ts.map +0 -1
  1743. package/dist/tableau-framework/propositional.js.map +0 -1
  1744. package/dist/tableau-framework/types.d.ts.map +0 -1
  1745. package/dist/tableau-framework/types.js.map +0 -1
  1746. package/dist/tactic-dsl/combinators.d.ts.map +0 -1
  1747. package/dist/tactic-dsl/combinators.js.map +0 -1
  1748. package/dist/tactic-dsl/index.d.ts.map +0 -1
  1749. package/dist/tactic-dsl/index.js.map +0 -1
  1750. package/dist/tactic-dsl/tactics.d.ts.map +0 -1
  1751. package/dist/tactic-dsl/tactics.js.map +0 -1
  1752. package/dist/tactic-dsl/types.d.ts.map +0 -1
  1753. package/dist/tactic-dsl/types.js.map +0 -1
  1754. package/dist/tests/abduction/abduction.test.d.ts.map +0 -1
  1755. package/dist/tests/abduction/abduction.test.js +0 -380
  1756. package/dist/tests/abduction/abduction.test.js.map +0 -1
  1757. package/dist/tests/argumentation/dung.test.d.ts.map +0 -1
  1758. package/dist/tests/argumentation/dung.test.js +0 -219
  1759. package/dist/tests/argumentation/dung.test.js.map +0 -1
  1760. package/dist/tests/bayesian/bayesian.test.d.ts.map +0 -1
  1761. package/dist/tests/bayesian/bayesian.test.js +0 -328
  1762. package/dist/tests/bayesian/bayesian.test.js.map +0 -1
  1763. package/dist/tests/bdd/manager.test.d.ts.map +0 -1
  1764. package/dist/tests/bdd/manager.test.js +0 -472
  1765. package/dist/tests/bdd/manager.test.js.map +0 -1
  1766. package/dist/tests/belief-revision/agm.test.d.ts.map +0 -1
  1767. package/dist/tests/belief-revision/agm.test.js +0 -173
  1768. package/dist/tests/belief-revision/agm.test.js.map +0 -1
  1769. package/dist/tests/categorical/categorical.test.d.ts.map +0 -1
  1770. package/dist/tests/categorical/categorical.test.js +0 -300
  1771. package/dist/tests/categorical/categorical.test.js.map +0 -1
  1772. package/dist/tests/citation-reasoning/citation-reasoning.test.d.ts.map +0 -1
  1773. package/dist/tests/citation-reasoning/citation-reasoning.test.js +0 -240
  1774. package/dist/tests/citation-reasoning/citation-reasoning.test.js.map +0 -1
  1775. package/dist/tests/coinduction/coinduction.test.d.ts.map +0 -1
  1776. package/dist/tests/coinduction/coinduction.test.js +0 -217
  1777. package/dist/tests/coinduction/coinduction.test.js.map +0 -1
  1778. package/dist/tests/combinators-ski/combinators-ski.test.d.ts.map +0 -1
  1779. package/dist/tests/combinators-ski/combinators-ski.test.js +0 -211
  1780. package/dist/tests/combinators-ski/combinators-ski.test.js.map +0 -1
  1781. package/dist/tests/constructive-reals/constructive-reals.test.d.ts.map +0 -1
  1782. package/dist/tests/constructive-reals/constructive-reals.test.js +0 -357
  1783. package/dist/tests/constructive-reals/constructive-reals.test.js.map +0 -1
  1784. package/dist/tests/csp/csp.test.d.ts.map +0 -1
  1785. package/dist/tests/csp/csp.test.js +0 -292
  1786. package/dist/tests/csp/csp.test.js.map +0 -1
  1787. package/dist/tests/csp-hoare/csp-hoare.test.d.ts.map +0 -1
  1788. package/dist/tests/csp-hoare/csp-hoare.test.js +0 -313
  1789. package/dist/tests/csp-hoare/csp-hoare.test.js.map +0 -1
  1790. package/dist/tests/ctl/check.test.d.ts.map +0 -1
  1791. package/dist/tests/ctl/check.test.js +0 -337
  1792. package/dist/tests/ctl/check.test.js.map +0 -1
  1793. package/dist/tests/curry-howard/infer.test.d.ts.map +0 -1
  1794. package/dist/tests/curry-howard/infer.test.js +0 -93
  1795. package/dist/tests/curry-howard/infer.test.js.map +0 -1
  1796. package/dist/tests/curry-howard/proof.test.d.ts.map +0 -1
  1797. package/dist/tests/curry-howard/proof.test.js +0 -105
  1798. package/dist/tests/curry-howard/proof.test.js.map +0 -1
  1799. package/dist/tests/curry-howard/reduce.test.d.ts.map +0 -1
  1800. package/dist/tests/curry-howard/reduce.test.js +0 -109
  1801. package/dist/tests/curry-howard/reduce.test.js.map +0 -1
  1802. package/dist/tests/default-logic/extensions.test.d.ts.map +0 -1
  1803. package/dist/tests/default-logic/extensions.test.js +0 -323
  1804. package/dist/tests/default-logic/extensions.test.js.map +0 -1
  1805. package/dist/tests/description-logic/alc.test.d.ts.map +0 -1
  1806. package/dist/tests/description-logic/alc.test.js +0 -253
  1807. package/dist/tests/description-logic/alc.test.js.map +0 -1
  1808. package/dist/tests/educational/checker.test.d.ts.map +0 -1
  1809. package/dist/tests/educational/checker.test.js +0 -212
  1810. package/dist/tests/educational/checker.test.js.map +0 -1
  1811. package/dist/tests/educational/generator.test.d.ts.map +0 -1
  1812. package/dist/tests/educational/generator.test.js +0 -137
  1813. package/dist/tests/educational/generator.test.js.map +0 -1
  1814. package/dist/tests/exporters/coq/coq-exporter.test.d.ts.map +0 -1
  1815. package/dist/tests/exporters/coq/coq-exporter.test.js +0 -353
  1816. package/dist/tests/exporters/coq/coq-exporter.test.js.map +0 -1
  1817. package/dist/tests/fca/fca.test.d.ts.map +0 -1
  1818. package/dist/tests/fca/fca.test.js +0 -317
  1819. package/dist/tests/fca/fca.test.js.map +0 -1
  1820. package/dist/tests/fol-prover/cnf.test.d.ts.map +0 -1
  1821. package/dist/tests/fol-prover/cnf.test.js +0 -74
  1822. package/dist/tests/fol-prover/cnf.test.js.map +0 -1
  1823. package/dist/tests/fol-prover/prove.test.d.ts.map +0 -1
  1824. package/dist/tests/fol-prover/prove.test.js +0 -106
  1825. package/dist/tests/fol-prover/prove.test.js.map +0 -1
  1826. package/dist/tests/fol-prover/unify.test.d.ts.map +0 -1
  1827. package/dist/tests/fol-prover/unify.test.js +0 -66
  1828. package/dist/tests/fol-prover/unify.test.js.map +0 -1
  1829. package/dist/tests/fol-prover-equality/prove.test.d.ts.map +0 -1
  1830. package/dist/tests/fol-prover-equality/prove.test.js +0 -179
  1831. package/dist/tests/fol-prover-equality/prove.test.js.map +0 -1
  1832. package/dist/tests/game-semantics/game-semantics.test.d.ts.map +0 -1
  1833. package/dist/tests/game-semantics/game-semantics.test.js +0 -143
  1834. package/dist/tests/game-semantics/game-semantics.test.js.map +0 -1
  1835. package/dist/tests/game-theory/game-theory.test.d.ts.map +0 -1
  1836. package/dist/tests/game-theory/game-theory.test.js +0 -252
  1837. package/dist/tests/game-theory/game-theory.test.js.map +0 -1
  1838. package/dist/tests/higher-order-unify/ho-unify.test.d.ts.map +0 -1
  1839. package/dist/tests/higher-order-unify/ho-unify.test.js +0 -264
  1840. package/dist/tests/higher-order-unify/ho-unify.test.js.map +0 -1
  1841. package/dist/tests/hindley-milner/hindley-milner.test.d.ts.map +0 -1
  1842. package/dist/tests/hindley-milner/hindley-milner.test.js +0 -327
  1843. package/dist/tests/hindley-milner/hindley-milner.test.js.map +0 -1
  1844. package/dist/tests/hol/hol.test.d.ts.map +0 -1
  1845. package/dist/tests/hol/hol.test.js +0 -340
  1846. package/dist/tests/hol/hol.test.js.map +0 -1
  1847. package/dist/tests/hott/hott.test.d.ts.map +0 -1
  1848. package/dist/tests/hott/hott.test.js +0 -271
  1849. package/dist/tests/hott/hott.test.js.map +0 -1
  1850. package/dist/tests/hybrid-logic/semantics.test.d.ts.map +0 -1
  1851. package/dist/tests/hybrid-logic/semantics.test.js +0 -169
  1852. package/dist/tests/hybrid-logic/semantics.test.js.map +0 -1
  1853. package/dist/tests/hyperreal/hyperreal.test.d.ts.map +0 -1
  1854. package/dist/tests/hyperreal/hyperreal.test.js +0 -219
  1855. package/dist/tests/hyperreal/hyperreal.test.js.map +0 -1
  1856. package/dist/tests/information-theory/information-theory.test.d.ts.map +0 -1
  1857. package/dist/tests/information-theory/information-theory.test.js +0 -291
  1858. package/dist/tests/information-theory/information-theory.test.js.map +0 -1
  1859. package/dist/tests/intuitionistic-nj/nj.test.d.ts.map +0 -1
  1860. package/dist/tests/intuitionistic-nj/nj.test.js +0 -216
  1861. package/dist/tests/intuitionistic-nj/nj.test.js.map +0 -1
  1862. package/dist/tests/lambda-calc/lambda-calc.test.d.ts.map +0 -1
  1863. package/dist/tests/lambda-calc/lambda-calc.test.js +0 -164
  1864. package/dist/tests/lambda-calc/lambda-calc.test.js.map +0 -1
  1865. package/dist/tests/lemma-synthesis/lemma-synthesis.test.d.ts.map +0 -1
  1866. package/dist/tests/lemma-synthesis/lemma-synthesis.test.js +0 -460
  1867. package/dist/tests/lemma-synthesis/lemma-synthesis.test.js.map +0 -1
  1868. package/dist/tests/lsp/server.test.d.ts.map +0 -1
  1869. package/dist/tests/lsp/server.test.js +0 -406
  1870. package/dist/tests/lsp/server.test.js.map +0 -1
  1871. package/dist/tests/ltl-sat/sat.test.d.ts.map +0 -1
  1872. package/dist/tests/ltl-sat/sat.test.js +0 -160
  1873. package/dist/tests/ltl-sat/sat.test.js.map +0 -1
  1874. package/dist/tests/many-valued/many-valued.test.d.ts.map +0 -1
  1875. package/dist/tests/many-valued/many-valued.test.js +0 -150
  1876. package/dist/tests/many-valued/many-valued.test.js.map +0 -1
  1877. package/dist/tests/markov-logic/markov-logic.test.d.ts.map +0 -1
  1878. package/dist/tests/markov-logic/markov-logic.test.js +0 -349
  1879. package/dist/tests/markov-logic/markov-logic.test.js.map +0 -1
  1880. package/dist/tests/mltt/mltt.test.d.ts.map +0 -1
  1881. package/dist/tests/mltt/mltt.test.js +0 -181
  1882. package/dist/tests/mltt/mltt.test.js.map +0 -1
  1883. package/dist/tests/modal-frame-axioms/frame-axioms.test.d.ts.map +0 -1
  1884. package/dist/tests/modal-frame-axioms/frame-axioms.test.js +0 -236
  1885. package/dist/tests/modal-frame-axioms/frame-axioms.test.js.map +0 -1
  1886. package/dist/tests/mu-calculus/check.test.d.ts.map +0 -1
  1887. package/dist/tests/mu-calculus/check.test.js +0 -234
  1888. package/dist/tests/mu-calculus/check.test.js.map +0 -1
  1889. package/dist/tests/mus/extract.test.d.ts.map +0 -1
  1890. package/dist/tests/mus/extract.test.js +0 -352
  1891. package/dist/tests/mus/extract.test.js.map +0 -1
  1892. package/dist/tests/nbe/nbe.test.d.ts.map +0 -1
  1893. package/dist/tests/nbe/nbe.test.js +0 -121
  1894. package/dist/tests/nbe/nbe.test.js.map +0 -1
  1895. package/dist/tests/optimization/ilp.test.d.ts.map +0 -1
  1896. package/dist/tests/optimization/ilp.test.js +0 -204
  1897. package/dist/tests/optimization/ilp.test.js.map +0 -1
  1898. package/dist/tests/optimization/lp.test.d.ts.map +0 -1
  1899. package/dist/tests/optimization/lp.test.js +0 -224
  1900. package/dist/tests/optimization/lp.test.js.map +0 -1
  1901. package/dist/tests/planning/planning.test.d.ts.map +0 -1
  1902. package/dist/tests/planning/planning.test.js +0 -397
  1903. package/dist/tests/planning/planning.test.js.map +0 -1
  1904. package/dist/tests/plugin-system/demo-min-logic.test.d.ts.map +0 -1
  1905. package/dist/tests/plugin-system/demo-min-logic.test.js +0 -85
  1906. package/dist/tests/plugin-system/demo-min-logic.test.js.map +0 -1
  1907. package/dist/tests/plugin-system/registry.test.d.ts.map +0 -1
  1908. package/dist/tests/plugin-system/registry.test.js +0 -88
  1909. package/dist/tests/plugin-system/registry.test.js.map +0 -1
  1910. package/dist/tests/plugin-system/validate.test.d.ts.map +0 -1
  1911. package/dist/tests/plugin-system/validate.test.js +0 -101
  1912. package/dist/tests/plugin-system/validate.test.js.map +0 -1
  1913. package/dist/tests/profile-bridge/translations.test.d.ts.map +0 -1
  1914. package/dist/tests/profile-bridge/translations.test.js +0 -266
  1915. package/dist/tests/profile-bridge/translations.test.js.map +0 -1
  1916. package/dist/tests/profiles.test.d.ts.map +0 -1
  1917. package/dist/tests/profiles.test.js +0 -393
  1918. package/dist/tests/profiles.test.js.map +0 -1
  1919. package/dist/tests/proof-exchange/proof-exchange.test.d.ts.map +0 -1
  1920. package/dist/tests/proof-exchange/proof-exchange.test.js +0 -161
  1921. package/dist/tests/proof-exchange/proof-exchange.test.js.map +0 -1
  1922. package/dist/tests/proof-minify/minify.test.d.ts.map +0 -1
  1923. package/dist/tests/proof-minify/minify.test.js +0 -281
  1924. package/dist/tests/proof-minify/minify.test.js.map +0 -1
  1925. package/dist/tests/proof-nets/proof-nets.test.d.ts.map +0 -1
  1926. package/dist/tests/proof-nets/proof-nets.test.js +0 -263
  1927. package/dist/tests/proof-nets/proof-nets.test.js.map +0 -1
  1928. package/dist/tests/refinement-types/refinement-types.test.d.ts.map +0 -1
  1929. package/dist/tests/refinement-types/refinement-types.test.js +0 -174
  1930. package/dist/tests/refinement-types/refinement-types.test.js.map +0 -1
  1931. package/dist/tests/sat-v2/clause-learning.test.d.ts.map +0 -1
  1932. package/dist/tests/sat-v2/clause-learning.test.js +0 -73
  1933. package/dist/tests/sat-v2/clause-learning.test.js.map +0 -1
  1934. package/dist/tests/sat-v2/lbd.test.d.ts.map +0 -1
  1935. package/dist/tests/sat-v2/lbd.test.js +0 -82
  1936. package/dist/tests/sat-v2/lbd.test.js.map +0 -1
  1937. package/dist/tests/sat-v2/luby.test.d.ts.map +0 -1
  1938. package/dist/tests/sat-v2/luby.test.js +0 -58
  1939. package/dist/tests/sat-v2/luby.test.js.map +0 -1
  1940. package/dist/tests/sat-v2/phase-saving.test.d.ts.map +0 -1
  1941. package/dist/tests/sat-v2/phase-saving.test.js +0 -38
  1942. package/dist/tests/sat-v2/phase-saving.test.js.map +0 -1
  1943. package/dist/tests/sat-v2/solver-end-to-end.test.d.ts.map +0 -1
  1944. package/dist/tests/sat-v2/solver-end-to-end.test.js +0 -199
  1945. package/dist/tests/sat-v2/solver-end-to-end.test.js.map +0 -1
  1946. package/dist/tests/sat-v2/vsids.test.d.ts.map +0 -1
  1947. package/dist/tests/sat-v2/vsids.test.js +0 -69
  1948. package/dist/tests/sat-v2/vsids.test.js.map +0 -1
  1949. package/dist/tests/sat-v2-incremental/basic.test.d.ts.map +0 -1
  1950. package/dist/tests/sat-v2-incremental/basic.test.js +0 -352
  1951. package/dist/tests/sat-v2-incremental/basic.test.js.map +0 -1
  1952. package/dist/tests/sequent-g3/prover.test.d.ts.map +0 -1
  1953. package/dist/tests/sequent-g3/prover.test.js +0 -205
  1954. package/dist/tests/sequent-g3/prover.test.js.map +0 -1
  1955. package/dist/tests/sequent-lk/prover.test.d.ts.map +0 -1
  1956. package/dist/tests/sequent-lk/prover.test.js +0 -317
  1957. package/dist/tests/sequent-lk/prover.test.js.map +0 -1
  1958. package/dist/tests/smt/mock-backend.test.d.ts.map +0 -1
  1959. package/dist/tests/smt/mock-backend.test.js +0 -129
  1960. package/dist/tests/smt/mock-backend.test.js.map +0 -1
  1961. package/dist/tests/smt/serializer.test.d.ts.map +0 -1
  1962. package/dist/tests/smt/serializer.test.js +0 -94
  1963. package/dist/tests/smt/serializer.test.js.map +0 -1
  1964. package/dist/tests/smt/subprocess-backend.test.d.ts.map +0 -1
  1965. package/dist/tests/smt/subprocess-backend.test.js +0 -89
  1966. package/dist/tests/smt/subprocess-backend.test.js.map +0 -1
  1967. package/dist/tests/smt-lib/emitter.test.d.ts.map +0 -1
  1968. package/dist/tests/smt-lib/emitter.test.js +0 -155
  1969. package/dist/tests/smt-lib/emitter.test.js.map +0 -1
  1970. package/dist/tests/smt-lib/parser.test.d.ts.map +0 -1
  1971. package/dist/tests/smt-lib/parser.test.js +0 -164
  1972. package/dist/tests/smt-lib/parser.test.js.map +0 -1
  1973. package/dist/tests/smt-lib/tokenizer.test.d.ts.map +0 -1
  1974. package/dist/tests/smt-lib/tokenizer.test.js +0 -59
  1975. package/dist/tests/smt-lib/tokenizer.test.js.map +0 -1
  1976. package/dist/tests/substructural/prover.test.d.ts.map +0 -1
  1977. package/dist/tests/substructural/prover.test.js +0 -271
  1978. package/dist/tests/substructural/prover.test.js.map +0 -1
  1979. package/dist/tests/system-f/system-f.test.d.ts.map +0 -1
  1980. package/dist/tests/system-f/system-f.test.js +0 -217
  1981. package/dist/tests/system-f/system-f.test.js.map +0 -1
  1982. package/dist/tests/tableau-framework/tableau.test.d.ts.map +0 -1
  1983. package/dist/tests/tableau-framework/tableau.test.js +0 -196
  1984. package/dist/tests/tableau-framework/tableau.test.js.map +0 -1
  1985. package/dist/tests/tactic-dsl/tactic-dsl.test.d.ts.map +0 -1
  1986. package/dist/tests/tactic-dsl/tactic-dsl.test.js +0 -259
  1987. package/dist/tests/tactic-dsl/tactic-dsl.test.js.map +0 -1
  1988. package/dist/tests/text-layer-v2/claim-graph.test.d.ts.map +0 -1
  1989. package/dist/tests/text-layer-v2/claim-graph.test.js +0 -255
  1990. package/dist/tests/text-layer-v2/claim-graph.test.js.map +0 -1
  1991. package/dist/tests/text-layer-v2/mdx-bridge/mdx-bridge.test.d.ts.map +0 -1
  1992. package/dist/tests/text-layer-v2/mdx-bridge/mdx-bridge.test.js +0 -200
  1993. package/dist/tests/text-layer-v2/mdx-bridge/mdx-bridge.test.js.map +0 -1
  1994. package/dist/tests/time-travel/snapshot.test.d.ts.map +0 -1
  1995. package/dist/tests/time-travel/snapshot.test.js +0 -75
  1996. package/dist/tests/time-travel/snapshot.test.js.map +0 -1
  1997. package/dist/tests/time-travel/store.test.d.ts.map +0 -1
  1998. package/dist/tests/time-travel/store.test.js +0 -242
  1999. package/dist/tests/time-travel/store.test.js.map +0 -1
  2000. package/dist/tests/tptp/bridge.test.d.ts.map +0 -1
  2001. package/dist/tests/tptp/bridge.test.js +0 -154
  2002. package/dist/tests/tptp/bridge.test.js.map +0 -1
  2003. package/dist/tests/tptp/emitter.test.d.ts.map +0 -1
  2004. package/dist/tests/tptp/emitter.test.js +0 -128
  2005. package/dist/tests/tptp/emitter.test.js.map +0 -1
  2006. package/dist/tests/tptp/parser.test.d.ts.map +0 -1
  2007. package/dist/tests/tptp/parser.test.js +0 -192
  2008. package/dist/tests/tptp/parser.test.js.map +0 -1
  2009. package/dist/tests/tptp/tokenizer.test.d.ts.map +0 -1
  2010. package/dist/tests/tptp/tokenizer.test.js +0 -60
  2011. package/dist/tests/tptp/tokenizer.test.js.map +0 -1
  2012. package/dist/text-layer/compiler.d.ts +0 -18
  2013. package/dist/text-layer/compiler.d.ts.map +0 -1
  2014. package/dist/text-layer/compiler.js.map +0 -1
  2015. package/dist/text-layer/v2/claim-graph.d.ts.map +0 -1
  2016. package/dist/text-layer/v2/claim-graph.js.map +0 -1
  2017. package/dist/text-layer/v2/index.d.ts.map +0 -1
  2018. package/dist/text-layer/v2/index.js.map +0 -1
  2019. package/dist/text-layer/v2/mdx-bridge/diff.d.ts.map +0 -1
  2020. package/dist/text-layer/v2/mdx-bridge/diff.js.map +0 -1
  2021. package/dist/text-layer/v2/mdx-bridge/index.d.ts.map +0 -1
  2022. package/dist/text-layer/v2/mdx-bridge/index.js.map +0 -1
  2023. package/dist/text-layer/v2/mdx-bridge/parser.d.ts.map +0 -1
  2024. package/dist/text-layer/v2/mdx-bridge/parser.js.map +0 -1
  2025. package/dist/text-layer/v2/mdx-bridge/serializer.d.ts.map +0 -1
  2026. package/dist/text-layer/v2/mdx-bridge/serializer.js.map +0 -1
  2027. package/dist/text-layer/v2/mdx-bridge/types.d.ts.map +0 -1
  2028. package/dist/text-layer/v2/mdx-bridge/types.js.map +0 -1
  2029. package/dist/text-layer/v2/types.d.ts.map +0 -1
  2030. package/dist/text-layer/v2/types.js.map +0 -1
  2031. package/dist/time-travel/index.d.ts.map +0 -1
  2032. package/dist/time-travel/index.js.map +0 -1
  2033. package/dist/time-travel/snapshot.d.ts.map +0 -1
  2034. package/dist/time-travel/snapshot.js.map +0 -1
  2035. package/dist/time-travel/store.d.ts.map +0 -1
  2036. package/dist/time-travel/store.js.map +0 -1
  2037. package/dist/time-travel/types.d.ts.map +0 -1
  2038. package/dist/time-travel/types.js.map +0 -1
  2039. package/dist/tptp/ast.d.ts.map +0 -1
  2040. package/dist/tptp/ast.js.map +0 -1
  2041. package/dist/tptp/bridge.d.ts +0 -14
  2042. package/dist/tptp/bridge.d.ts.map +0 -1
  2043. package/dist/tptp/bridge.js.map +0 -1
  2044. package/dist/tptp/emitter.d.ts.map +0 -1
  2045. package/dist/tptp/emitter.js.map +0 -1
  2046. package/dist/tptp/index.d.ts.map +0 -1
  2047. package/dist/tptp/index.js.map +0 -1
  2048. package/dist/tptp/parser.d.ts.map +0 -1
  2049. package/dist/tptp/parser.js.map +0 -1
  2050. package/dist/tptp/tokenizer.d.ts.map +0 -1
  2051. package/dist/tptp/tokenizer.js.map +0 -1
  2052. /package/dist/{profile-bridge → logic/profile-bridge}/index.js +0 -0
  2053. /package/dist/{profiles → logic/profiles}/aristotelian/syllogistic.js +0 -0
  2054. /package/dist/{profiles → logic/profiles}/arithmetic/index.js +0 -0
  2055. /package/dist/{profiles → logic/profiles}/classical/cdcl.js +0 -0
  2056. /package/dist/{profiles → logic/profiles}/classical/dpll.js +0 -0
  2057. /package/dist/{profiles → logic/profiles}/classical/first-order.js +0 -0
  2058. /package/dist/{profiles → logic/profiles}/classical/parallel-sat.d.ts +0 -0
  2059. /package/dist/{profiles → logic/profiles}/classical/parallel-sat.js +0 -0
  2060. /package/dist/{profiles → logic/profiles}/classical/sat-preprocess.d.ts +0 -0
  2061. /package/dist/{profiles → logic/profiles}/classical/sat-preprocess.js +0 -0
  2062. /package/dist/{profiles → logic/profiles}/classical/undecidability-detector.js +0 -0
  2063. /package/dist/{profiles → logic/profiles}/ctl/check.d.ts +0 -0
  2064. /package/dist/{profiles → logic/profiles}/ctl/check.js +0 -0
  2065. /package/dist/{profiles → logic/profiles}/ctl/index.d.ts +0 -0
  2066. /package/dist/{profiles → logic/profiles}/ctl/index.js +0 -0
  2067. /package/dist/{profiles → logic/profiles}/ctl/types.d.ts +0 -0
  2068. /package/dist/{profiles → logic/profiles}/ctl/types.js +0 -0
  2069. /package/dist/{profiles → logic/profiles}/ctl/witness.d.ts +0 -0
  2070. /package/dist/{profiles → logic/profiles}/ctl/witness.js +0 -0
  2071. /package/dist/{profiles → logic/profiles}/default-logic/entailment.d.ts +0 -0
  2072. /package/dist/{profiles → logic/profiles}/default-logic/entailment.js +0 -0
  2073. /package/dist/{profiles → logic/profiles}/default-logic/extensions.d.ts +0 -0
  2074. /package/dist/{profiles → logic/profiles}/default-logic/extensions.js +0 -0
  2075. /package/dist/{profiles → logic/profiles}/default-logic/index.d.ts +0 -0
  2076. /package/dist/{profiles → logic/profiles}/default-logic/index.js +0 -0
  2077. /package/dist/{profiles → logic/profiles}/default-logic/types.d.ts +0 -0
  2078. /package/dist/{profiles → logic/profiles}/default-logic/types.js +0 -0
  2079. /package/dist/{profiles → logic/profiles}/deontic/standard.js +0 -0
  2080. /package/dist/{profiles → logic/profiles}/description-logic/index.d.ts +0 -0
  2081. /package/dist/{profiles → logic/profiles}/description-logic/index.js +0 -0
  2082. /package/dist/{profiles → logic/profiles}/description-logic/nnf.d.ts +0 -0
  2083. /package/dist/{profiles → logic/profiles}/description-logic/nnf.js +0 -0
  2084. /package/dist/{profiles → logic/profiles}/description-logic/tableau.d.ts +0 -0
  2085. /package/dist/{profiles → logic/profiles}/description-logic/tableau.js +0 -0
  2086. /package/dist/{profiles → logic/profiles}/description-logic/types.d.ts +0 -0
  2087. /package/dist/{profiles → logic/profiles}/description-logic/types.js +0 -0
  2088. /package/dist/{profiles → logic/profiles}/epistemic/s5.js +0 -0
  2089. /package/dist/{profiles → logic/profiles}/hybrid-logic/index.d.ts +0 -0
  2090. /package/dist/{profiles → logic/profiles}/hybrid-logic/index.js +0 -0
  2091. /package/dist/{profiles → logic/profiles}/hybrid-logic/sat.d.ts +0 -0
  2092. /package/dist/{profiles → logic/profiles}/hybrid-logic/sat.js +0 -0
  2093. /package/dist/{profiles → logic/profiles}/hybrid-logic/semantics.d.ts +0 -0
  2094. /package/dist/{profiles → logic/profiles}/hybrid-logic/semantics.js +0 -0
  2095. /package/dist/{profiles → logic/profiles}/hybrid-logic/types.d.ts +0 -0
  2096. /package/dist/{profiles → logic/profiles}/hybrid-logic/types.js +0 -0
  2097. /package/dist/{profiles → logic/profiles}/index.d.ts +0 -0
  2098. /package/dist/{profiles → logic/profiles}/index.js +0 -0
  2099. /package/dist/{profiles → logic/profiles}/interface.js +0 -0
  2100. /package/dist/{profiles → logic/profiles}/intuitionistic/propositional.js +0 -0
  2101. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/formula.d.ts +0 -0
  2102. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/formula.js +0 -0
  2103. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/index.d.ts +0 -0
  2104. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/index.js +0 -0
  2105. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/kripke.d.ts +0 -0
  2106. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/kripke.js +0 -0
  2107. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/prover.d.ts +0 -0
  2108. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/prover.js +0 -0
  2109. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/types.d.ts +0 -0
  2110. /package/dist/{profiles → logic/profiles}/intuitionistic-nj/types.js +0 -0
  2111. /package/dist/{profiles → logic/profiles}/ltl-sat/index.d.ts +0 -0
  2112. /package/dist/{profiles → logic/profiles}/ltl-sat/index.js +0 -0
  2113. /package/dist/{profiles → logic/profiles}/ltl-sat/sat.d.ts +0 -0
  2114. /package/dist/{profiles → logic/profiles}/ltl-sat/sat.js +0 -0
  2115. /package/dist/{profiles → logic/profiles}/ltl-sat/tableau.d.ts +0 -0
  2116. /package/dist/{profiles → logic/profiles}/ltl-sat/tableau.js +0 -0
  2117. /package/dist/{profiles → logic/profiles}/ltl-sat/types.d.ts +0 -0
  2118. /package/dist/{profiles → logic/profiles}/ltl-sat/types.js +0 -0
  2119. /package/dist/{profiles → logic/profiles}/many-valued/index.d.ts +0 -0
  2120. /package/dist/{profiles → logic/profiles}/many-valued/index.js +0 -0
  2121. /package/dist/{profiles → logic/profiles}/modal/k.js +0 -0
  2122. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/formula.d.ts +0 -0
  2123. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/formula.js +0 -0
  2124. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/index.d.ts +0 -0
  2125. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/index.js +0 -0
  2126. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/systems.d.ts +0 -0
  2127. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/systems.js +0 -0
  2128. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/tableau.d.ts +0 -0
  2129. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/tableau.js +0 -0
  2130. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/types.d.ts +0 -0
  2131. /package/dist/{profiles → logic/profiles}/modal-frame-axioms/types.js +0 -0
  2132. /package/dist/{profiles → logic/profiles}/mu-calculus/check.d.ts +0 -0
  2133. /package/dist/{profiles → logic/profiles}/mu-calculus/check.js +0 -0
  2134. /package/dist/{profiles → logic/profiles}/mu-calculus/ctl-translate.d.ts +0 -0
  2135. /package/dist/{profiles → logic/profiles}/mu-calculus/ctl-translate.js +0 -0
  2136. /package/dist/{profiles → logic/profiles}/mu-calculus/index.d.ts +0 -0
  2137. /package/dist/{profiles → logic/profiles}/mu-calculus/index.js +0 -0
  2138. /package/dist/{profiles → logic/profiles}/mu-calculus/types.d.ts +0 -0
  2139. /package/dist/{profiles → logic/profiles}/mu-calculus/types.js +0 -0
  2140. /package/dist/{profiles → logic/profiles}/mu-calculus/wellformed.d.ts +0 -0
  2141. /package/dist/{profiles → logic/profiles}/mu-calculus/wellformed.js +0 -0
  2142. /package/dist/{profiles → logic/profiles}/paraconsistent/belnap.js +0 -0
  2143. /package/dist/{profiles → logic/profiles}/probabilistic/basic.js +0 -0
  2144. /package/dist/{profiles → logic/profiles}/sequent-g3/index.d.ts +0 -0
  2145. /package/dist/{profiles → logic/profiles}/sequent-g3/index.js +0 -0
  2146. /package/dist/{profiles → logic/profiles}/sequent-g3/latex.d.ts +0 -0
  2147. /package/dist/{profiles → logic/profiles}/sequent-g3/latex.js +0 -0
  2148. /package/dist/{profiles → logic/profiles}/sequent-g3/normalize.js +0 -0
  2149. /package/dist/{profiles → logic/profiles}/sequent-g3/prover.js +0 -0
  2150. /package/dist/{profiles → logic/profiles}/sequent-g3/types.js +0 -0
  2151. /package/dist/{profiles → logic/profiles}/sequent-lk/cut-elimination.d.ts +0 -0
  2152. /package/dist/{profiles → logic/profiles}/sequent-lk/cut-elimination.js +0 -0
  2153. /package/dist/{profiles → logic/profiles}/sequent-lk/index.d.ts +0 -0
  2154. /package/dist/{profiles → logic/profiles}/sequent-lk/index.js +0 -0
  2155. /package/dist/{profiles → logic/profiles}/sequent-lk/prover.d.ts +0 -0
  2156. /package/dist/{profiles → logic/profiles}/sequent-lk/prover.js +0 -0
  2157. /package/dist/{profiles → logic/profiles}/sequent-lk/types.d.ts +0 -0
  2158. /package/dist/{profiles → logic/profiles}/sequent-lk/types.js +0 -0
  2159. /package/dist/{profiles → logic/profiles}/sequent-lk/util.d.ts +0 -0
  2160. /package/dist/{profiles → logic/profiles}/sequent-lk/util.js +0 -0
  2161. /package/dist/{profiles → logic/profiles}/substructural/index.d.ts +0 -0
  2162. /package/dist/{profiles → logic/profiles}/substructural/index.js +0 -0
  2163. /package/dist/{profiles → logic/profiles}/substructural/prover.d.ts +0 -0
  2164. /package/dist/{profiles → logic/profiles}/substructural/prover.js +0 -0
  2165. /package/dist/{profiles → logic/profiles}/substructural/types.d.ts +0 -0
  2166. /package/dist/{profiles → logic/profiles}/substructural/types.js +0 -0
  2167. /package/dist/{profiles → logic/profiles}/temporal/ltl.js +0 -0
  2168. /package/dist/{fol-prover → proof-systems/fol-prover}/cnf.js +0 -0
  2169. /package/dist/{fol-prover → proof-systems/fol-prover}/index.d.ts +0 -0
  2170. /package/dist/{fol-prover → proof-systems/fol-prover}/index.js +0 -0
  2171. /package/dist/{fol-prover → proof-systems/fol-prover}/prove.js +0 -0
  2172. /package/dist/{fol-prover → proof-systems/fol-prover}/resolve.d.ts +0 -0
  2173. /package/dist/{fol-prover → proof-systems/fol-prover}/resolve.js +0 -0
  2174. /package/dist/{fol-prover → proof-systems/fol-prover}/types.d.ts +0 -0
  2175. /package/dist/{fol-prover → proof-systems/fol-prover}/types.js +0 -0
  2176. /package/dist/{fol-prover → proof-systems/fol-prover}/unify.d.ts +0 -0
  2177. /package/dist/{fol-prover → proof-systems/fol-prover}/unify.js +0 -0
  2178. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/demodulate.d.ts +0 -0
  2179. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/demodulate.js +0 -0
  2180. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/index.d.ts +0 -0
  2181. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/index.js +0 -0
  2182. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/paramodulate.d.ts +0 -0
  2183. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/paramodulate.js +0 -0
  2184. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/prove.js +0 -0
  2185. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/term-utils.d.ts +0 -0
  2186. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/term-utils.js +0 -0
  2187. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/types.d.ts +0 -0
  2188. /package/dist/{fol-prover-equality → proof-systems/fol-prover-equality}/types.js +0 -0
  2189. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/index.d.ts +0 -0
  2190. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/index.js +0 -0
  2191. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/normalize.d.ts +0 -0
  2192. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/normalize.js +0 -0
  2193. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/pattern.d.ts +0 -0
  2194. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/pattern.js +0 -0
  2195. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/types.d.ts +0 -0
  2196. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/types.js +0 -0
  2197. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/unify.d.ts +0 -0
  2198. /package/dist/{higher-order-unify → proof-systems/higher-order-unify}/unify.js +0 -0
  2199. /package/dist/{proof-exchange → proof-systems/proof-exchange}/index.js +0 -0
  2200. /package/dist/{runtime → proof-systems}/proof-minify/index.d.ts +0 -0
  2201. /package/dist/{runtime → proof-systems}/proof-minify/index.js +0 -0
  2202. /package/dist/{runtime → proof-systems}/proof-minify/minify.d.ts +0 -0
  2203. /package/dist/{runtime → proof-systems}/proof-minify/minify.js +0 -0
  2204. /package/dist/{runtime → proof-systems}/proof-minify/types.d.ts +0 -0
  2205. /package/dist/{runtime → proof-systems}/proof-minify/types.js +0 -0
  2206. /package/dist/{proof-nets → proof-systems/proof-nets}/construct.d.ts +0 -0
  2207. /package/dist/{proof-nets → proof-systems/proof-nets}/construct.js +0 -0
  2208. /package/dist/{proof-nets → proof-systems/proof-nets}/correctness.d.ts +0 -0
  2209. /package/dist/{proof-nets → proof-systems/proof-nets}/correctness.js +0 -0
  2210. /package/dist/{proof-nets → proof-systems/proof-nets}/cut-elim.d.ts +0 -0
  2211. /package/dist/{proof-nets → proof-systems/proof-nets}/cut-elim.js +0 -0
  2212. /package/dist/{proof-nets → proof-systems/proof-nets}/index.d.ts +0 -0
  2213. /package/dist/{proof-nets → proof-systems/proof-nets}/index.js +0 -0
  2214. /package/dist/{proof-nets → proof-systems/proof-nets}/types.d.ts +0 -0
  2215. /package/dist/{proof-nets → proof-systems/proof-nets}/types.js +0 -0
  2216. /package/dist/{tableau-framework → proof-systems/tableau-framework}/TableauProver.d.ts +0 -0
  2217. /package/dist/{tableau-framework → proof-systems/tableau-framework}/TableauProver.js +0 -0
  2218. /package/dist/{tableau-framework → proof-systems/tableau-framework}/index.d.ts +0 -0
  2219. /package/dist/{tableau-framework → proof-systems/tableau-framework}/index.js +0 -0
  2220. /package/dist/{tableau-framework → proof-systems/tableau-framework}/propositional.d.ts +0 -0
  2221. /package/dist/{tableau-framework → proof-systems/tableau-framework}/propositional.js +0 -0
  2222. /package/dist/{tableau-framework → proof-systems/tableau-framework}/types.d.ts +0 -0
  2223. /package/dist/{tableau-framework → proof-systems/tableau-framework}/types.js +0 -0
  2224. /package/dist/{runtime → reasoning}/abduction/entails.d.ts +0 -0
  2225. /package/dist/{runtime → reasoning}/abduction/entails.js +0 -0
  2226. /package/dist/{runtime → reasoning}/abduction/find.d.ts +0 -0
  2227. /package/dist/{runtime → reasoning}/abduction/find.js +0 -0
  2228. /package/dist/{runtime → reasoning}/abduction/index.d.ts +0 -0
  2229. /package/dist/{runtime → reasoning}/abduction/index.js +0 -0
  2230. /package/dist/{runtime → reasoning}/abduction/types.d.ts +0 -0
  2231. /package/dist/{runtime → reasoning}/abduction/types.js +0 -0
  2232. /package/dist/{argumentation → reasoning/argumentation}/dot.d.ts +0 -0
  2233. /package/dist/{argumentation → reasoning/argumentation}/dot.js +0 -0
  2234. /package/dist/{argumentation → reasoning/argumentation}/extensions.d.ts +0 -0
  2235. /package/dist/{argumentation → reasoning/argumentation}/extensions.js +0 -0
  2236. /package/dist/{argumentation → reasoning/argumentation}/framework.d.ts +0 -0
  2237. /package/dist/{argumentation → reasoning/argumentation}/framework.js +0 -0
  2238. /package/dist/{argumentation → reasoning/argumentation}/index.d.ts +0 -0
  2239. /package/dist/{argumentation → reasoning/argumentation}/index.js +0 -0
  2240. /package/dist/{argumentation → reasoning/argumentation}/types.d.ts +0 -0
  2241. /package/dist/{argumentation → reasoning/argumentation}/types.js +0 -0
  2242. /package/dist/{runtime → reasoning}/bayesian/factor.d.ts +0 -0
  2243. /package/dist/{runtime → reasoning}/bayesian/factor.js +0 -0
  2244. /package/dist/{runtime → reasoning}/bayesian/index.d.ts +0 -0
  2245. /package/dist/{runtime → reasoning}/bayesian/index.js +0 -0
  2246. /package/dist/{runtime → reasoning}/bayesian/inference.d.ts +0 -0
  2247. /package/dist/{runtime → reasoning}/bayesian/inference.js +0 -0
  2248. /package/dist/{runtime → reasoning}/bayesian/types.d.ts +0 -0
  2249. /package/dist/{runtime → reasoning}/bayesian/types.js +0 -0
  2250. /package/dist/{belief-revision → reasoning/belief-revision}/agm.d.ts +0 -0
  2251. /package/dist/{belief-revision → reasoning/belief-revision}/agm.js +0 -0
  2252. /package/dist/{belief-revision → reasoning/belief-revision}/index.d.ts +0 -0
  2253. /package/dist/{belief-revision → reasoning/belief-revision}/index.js +0 -0
  2254. /package/dist/{belief-revision → reasoning/belief-revision}/parser.d.ts +0 -0
  2255. /package/dist/{belief-revision → reasoning/belief-revision}/parser.js +0 -0
  2256. /package/dist/{belief-revision → reasoning/belief-revision}/sat.d.ts +0 -0
  2257. /package/dist/{belief-revision → reasoning/belief-revision}/sat.js +0 -0
  2258. /package/dist/{belief-revision → reasoning/belief-revision}/types.d.ts +0 -0
  2259. /package/dist/{belief-revision → reasoning/belief-revision}/types.js +0 -0
  2260. /package/dist/{citation-reasoning → reasoning/citation-reasoning}/derive.d.ts +0 -0
  2261. /package/dist/{citation-reasoning → reasoning/citation-reasoning}/derive.js +0 -0
  2262. /package/dist/{citation-reasoning → reasoning/citation-reasoning}/index.d.ts +0 -0
  2263. /package/dist/{citation-reasoning → reasoning/citation-reasoning}/index.js +0 -0
  2264. /package/dist/{citation-reasoning → reasoning/citation-reasoning}/types.d.ts +0 -0
  2265. /package/dist/{citation-reasoning → reasoning/citation-reasoning}/types.js +0 -0
  2266. /package/dist/{constructive-reals → reasoning/constructive-reals}/index.d.ts +0 -0
  2267. /package/dist/{constructive-reals → reasoning/constructive-reals}/index.js +0 -0
  2268. /package/dist/{runtime → reasoning}/fca/context.d.ts +0 -0
  2269. /package/dist/{runtime → reasoning}/fca/context.js +0 -0
  2270. /package/dist/{runtime → reasoning}/fca/implications.d.ts +0 -0
  2271. /package/dist/{runtime → reasoning}/fca/implications.js +0 -0
  2272. /package/dist/{runtime → reasoning}/fca/index.d.ts +0 -0
  2273. /package/dist/{runtime → reasoning}/fca/index.js +0 -0
  2274. /package/dist/{runtime → reasoning}/fca/lattice.d.ts +0 -0
  2275. /package/dist/{runtime → reasoning}/fca/lattice.js +0 -0
  2276. /package/dist/{runtime → reasoning}/fca/next-closure.d.ts +0 -0
  2277. /package/dist/{runtime → reasoning}/fca/next-closure.js +0 -0
  2278. /package/dist/{runtime → reasoning}/fca/types.d.ts +0 -0
  2279. /package/dist/{runtime → reasoning}/fca/types.js +0 -0
  2280. /package/dist/{game-theory → reasoning/game-theory}/common-games.d.ts +0 -0
  2281. /package/dist/{game-theory → reasoning/game-theory}/common-games.js +0 -0
  2282. /package/dist/{game-theory → reasoning/game-theory}/dominance.d.ts +0 -0
  2283. /package/dist/{game-theory → reasoning/game-theory}/dominance.js +0 -0
  2284. /package/dist/{game-theory → reasoning/game-theory}/index.d.ts +0 -0
  2285. /package/dist/{game-theory → reasoning/game-theory}/index.js +0 -0
  2286. /package/dist/{game-theory → reasoning/game-theory}/lemke-howson.d.ts +0 -0
  2287. /package/dist/{game-theory → reasoning/game-theory}/lemke-howson.js +0 -0
  2288. /package/dist/{game-theory → reasoning/game-theory}/linalg.d.ts +0 -0
  2289. /package/dist/{game-theory → reasoning/game-theory}/linalg.js +0 -0
  2290. /package/dist/{game-theory → reasoning/game-theory}/pure-nash.d.ts +0 -0
  2291. /package/dist/{game-theory → reasoning/game-theory}/pure-nash.js +0 -0
  2292. /package/dist/{game-theory → reasoning/game-theory}/support-enumeration.d.ts +0 -0
  2293. /package/dist/{game-theory → reasoning/game-theory}/support-enumeration.js +0 -0
  2294. /package/dist/{game-theory → reasoning/game-theory}/types.d.ts +0 -0
  2295. /package/dist/{game-theory → reasoning/game-theory}/types.js +0 -0
  2296. /package/dist/{hyperreal → reasoning/hyperreal}/index.d.ts +0 -0
  2297. /package/dist/{hyperreal → reasoning/hyperreal}/index.js +0 -0
  2298. /package/dist/{information-theory → reasoning/information-theory}/index.d.ts +0 -0
  2299. /package/dist/{information-theory → reasoning/information-theory}/index.js +0 -0
  2300. /package/dist/{lemma-synthesis → reasoning/lemma-synthesis}/index.d.ts +0 -0
  2301. /package/dist/{lemma-synthesis → reasoning/lemma-synthesis}/index.js +0 -0
  2302. /package/dist/{runtime → reasoning}/markov-logic/grounding.d.ts +0 -0
  2303. /package/dist/{runtime → reasoning}/markov-logic/grounding.js +0 -0
  2304. /package/dist/{runtime → reasoning}/markov-logic/index.d.ts +0 -0
  2305. /package/dist/{runtime → reasoning}/markov-logic/index.js +0 -0
  2306. /package/dist/{runtime → reasoning}/markov-logic/inference.d.ts +0 -0
  2307. /package/dist/{runtime → reasoning}/markov-logic/inference.js +0 -0
  2308. /package/dist/{runtime → reasoning}/markov-logic/parser.d.ts +0 -0
  2309. /package/dist/{runtime → reasoning}/markov-logic/parser.js +0 -0
  2310. /package/dist/{runtime → reasoning}/markov-logic/types.d.ts +0 -0
  2311. /package/dist/{runtime → reasoning}/markov-logic/types.js +0 -0
  2312. /package/dist/{optimization → reasoning/optimization}/branch-and-bound.d.ts +0 -0
  2313. /package/dist/{optimization → reasoning/optimization}/branch-and-bound.js +0 -0
  2314. /package/dist/{optimization → reasoning/optimization}/index.d.ts +0 -0
  2315. /package/dist/{optimization → reasoning/optimization}/index.js +0 -0
  2316. /package/dist/{optimization → reasoning/optimization}/simplex.d.ts +0 -0
  2317. /package/dist/{optimization → reasoning/optimization}/simplex.js +0 -0
  2318. /package/dist/{optimization → reasoning/optimization}/standard-form.d.ts +0 -0
  2319. /package/dist/{optimization → reasoning/optimization}/standard-form.js +0 -0
  2320. /package/dist/{optimization → reasoning/optimization}/types.d.ts +0 -0
  2321. /package/dist/{optimization → reasoning/optimization}/types.js +0 -0
  2322. /package/dist/{runtime → reasoning}/planning/astar.d.ts +0 -0
  2323. /package/dist/{runtime → reasoning}/planning/astar.js +0 -0
  2324. /package/dist/{runtime → reasoning}/planning/bfs.d.ts +0 -0
  2325. /package/dist/{runtime → reasoning}/planning/bfs.js +0 -0
  2326. /package/dist/{runtime → reasoning}/planning/ground.d.ts +0 -0
  2327. /package/dist/{runtime → reasoning}/planning/ground.js +0 -0
  2328. /package/dist/{runtime → reasoning}/planning/heuristic.d.ts +0 -0
  2329. /package/dist/{runtime → reasoning}/planning/heuristic.js +0 -0
  2330. /package/dist/{runtime → reasoning}/planning/index.d.ts +0 -0
  2331. /package/dist/{runtime → reasoning}/planning/index.js +0 -0
  2332. /package/dist/{runtime → reasoning}/planning/types.d.ts +0 -0
  2333. /package/dist/{runtime → reasoning}/planning/types.js +0 -0
  2334. /package/dist/{tactic-dsl → reasoning/tactic-dsl}/combinators.d.ts +0 -0
  2335. /package/dist/{tactic-dsl → reasoning/tactic-dsl}/combinators.js +0 -0
  2336. /package/dist/{tactic-dsl → reasoning/tactic-dsl}/index.d.ts +0 -0
  2337. /package/dist/{tactic-dsl → reasoning/tactic-dsl}/index.js +0 -0
  2338. /package/dist/{tactic-dsl → reasoning/tactic-dsl}/tactics.d.ts +0 -0
  2339. /package/dist/{tactic-dsl → reasoning/tactic-dsl}/tactics.js +0 -0
  2340. /package/dist/{tactic-dsl → reasoning/tactic-dsl}/types.d.ts +0 -0
  2341. /package/dist/{tactic-dsl → reasoning/tactic-dsl}/types.js +0 -0
  2342. /package/dist/{bdd → runtime/bdd}/index.d.ts +0 -0
  2343. /package/dist/{bdd → runtime/bdd}/index.js +0 -0
  2344. /package/dist/{bdd → runtime/bdd}/manager.d.ts +0 -0
  2345. /package/dist/{bdd → runtime/bdd}/manager.js +0 -0
  2346. /package/dist/{bdd → runtime/bdd}/types.d.ts +0 -0
  2347. /package/dist/{bdd → runtime/bdd}/types.js +0 -0
  2348. /package/dist/{csp-hoare → runtime/csp-hoare}/analysis.d.ts +0 -0
  2349. /package/dist/{csp-hoare → runtime/csp-hoare}/analysis.js +0 -0
  2350. /package/dist/{csp-hoare → runtime/csp-hoare}/examples.d.ts +0 -0
  2351. /package/dist/{csp-hoare → runtime/csp-hoare}/examples.js +0 -0
  2352. /package/dist/{csp-hoare → runtime/csp-hoare}/index.d.ts +0 -0
  2353. /package/dist/{csp-hoare → runtime/csp-hoare}/index.js +0 -0
  2354. /package/dist/{csp-hoare → runtime/csp-hoare}/semantics.d.ts +0 -0
  2355. /package/dist/{csp-hoare → runtime/csp-hoare}/semantics.js +0 -0
  2356. /package/dist/{csp-hoare → runtime/csp-hoare}/types.d.ts +0 -0
  2357. /package/dist/{csp-hoare → runtime/csp-hoare}/types.js +0 -0
  2358. /package/dist/{categorical → semantics/categorical}/fin-set.d.ts +0 -0
  2359. /package/dist/{categorical → semantics/categorical}/fin-set.js +0 -0
  2360. /package/dist/{categorical → semantics/categorical}/free.d.ts +0 -0
  2361. /package/dist/{categorical → semantics/categorical}/free.js +0 -0
  2362. /package/dist/{categorical → semantics/categorical}/functor.d.ts +0 -0
  2363. /package/dist/{categorical → semantics/categorical}/functor.js +0 -0
  2364. /package/dist/{categorical → semantics/categorical}/index.d.ts +0 -0
  2365. /package/dist/{categorical → semantics/categorical}/index.js +0 -0
  2366. /package/dist/{categorical → semantics/categorical}/limits.d.ts +0 -0
  2367. /package/dist/{categorical → semantics/categorical}/limits.js +0 -0
  2368. /package/dist/{categorical → semantics/categorical}/monoidal.d.ts +0 -0
  2369. /package/dist/{categorical → semantics/categorical}/monoidal.js +0 -0
  2370. /package/dist/{categorical → semantics/categorical}/poset.d.ts +0 -0
  2371. /package/dist/{categorical → semantics/categorical}/poset.js +0 -0
  2372. /package/dist/{categorical → semantics/categorical}/types.d.ts +0 -0
  2373. /package/dist/{categorical → semantics/categorical}/types.js +0 -0
  2374. /package/dist/{coinduction → semantics/coinduction}/index.d.ts +0 -0
  2375. /package/dist/{coinduction → semantics/coinduction}/index.js +0 -0
  2376. /package/dist/{game-semantics → semantics/game-semantics}/index.d.ts +0 -0
  2377. /package/dist/{game-semantics → semantics/game-semantics}/index.js +0 -0
  2378. /package/dist/{game-semantics → semantics/game-semantics}/strategy.d.ts +0 -0
  2379. /package/dist/{game-semantics → semantics/game-semantics}/types.d.ts +0 -0
  2380. /package/dist/{game-semantics → semantics/game-semantics}/types.js +0 -0
  2381. /package/dist/{text-layer → semantics/text-layer}/compiler.js +0 -0
  2382. /package/dist/{text-layer → semantics/text-layer}/v2/claim-graph.d.ts +0 -0
  2383. /package/dist/{text-layer → semantics/text-layer}/v2/claim-graph.js +0 -0
  2384. /package/dist/{text-layer → semantics/text-layer}/v2/index.d.ts +0 -0
  2385. /package/dist/{text-layer → semantics/text-layer}/v2/index.js +0 -0
  2386. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/diff.d.ts +0 -0
  2387. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/diff.js +0 -0
  2388. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/index.d.ts +0 -0
  2389. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/index.js +0 -0
  2390. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/parser.d.ts +0 -0
  2391. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/parser.js +0 -0
  2392. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/serializer.d.ts +0 -0
  2393. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/serializer.js +0 -0
  2394. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/types.d.ts +0 -0
  2395. /package/dist/{text-layer → semantics/text-layer}/v2/mdx-bridge/types.js +0 -0
  2396. /package/dist/{text-layer → semantics/text-layer}/v2/types.d.ts +0 -0
  2397. /package/dist/{text-layer → semantics/text-layer}/v2/types.js +0 -0
  2398. /package/dist/{runtime → solver}/csp/ac3.d.ts +0 -0
  2399. /package/dist/{runtime → solver}/csp/ac3.js +0 -0
  2400. /package/dist/{runtime → solver}/csp/backtrack.d.ts +0 -0
  2401. /package/dist/{runtime → solver}/csp/backtrack.js +0 -0
  2402. /package/dist/{runtime → solver}/csp/builtins.d.ts +0 -0
  2403. /package/dist/{runtime → solver}/csp/builtins.js +0 -0
  2404. /package/dist/{runtime → solver}/csp/index.d.ts +0 -0
  2405. /package/dist/{runtime → solver}/csp/index.js +0 -0
  2406. /package/dist/{runtime → solver}/csp/types.d.ts +0 -0
  2407. /package/dist/{runtime → solver}/csp/types.js +0 -0
  2408. /package/dist/{runtime → solver}/mus/extract.d.ts +0 -0
  2409. /package/dist/{runtime → solver}/mus/extract.js +0 -0
  2410. /package/dist/{runtime → solver}/mus/index.d.ts +0 -0
  2411. /package/dist/{runtime → solver}/mus/index.js +0 -0
  2412. /package/dist/{runtime → solver}/mus/quickxplain.d.ts +0 -0
  2413. /package/dist/{runtime → solver}/mus/quickxplain.js +0 -0
  2414. /package/dist/{runtime → solver}/mus/types.d.ts +0 -0
  2415. /package/dist/{runtime → solver}/mus/types.js +0 -0
  2416. /package/dist/{runtime → solver}/smt/index.d.ts +0 -0
  2417. /package/dist/{runtime → solver}/smt/index.js +0 -0
  2418. /package/dist/{runtime → solver}/smt/mock-backend.d.ts +0 -0
  2419. /package/dist/{runtime → solver}/smt/mock-backend.js +0 -0
  2420. /package/dist/{runtime → solver}/smt/serializer.d.ts +0 -0
  2421. /package/dist/{runtime → solver}/smt/serializer.js +0 -0
  2422. /package/dist/{runtime → solver}/smt/subprocess-backend.d.ts +0 -0
  2423. /package/dist/{runtime → solver}/smt/subprocess-backend.js +0 -0
  2424. /package/dist/{runtime → solver}/smt/types.d.ts +0 -0
  2425. /package/dist/{runtime → solver}/smt/types.js +0 -0
  2426. /package/dist/{smt-lib → solver/smt-lib}/ast.d.ts +0 -0
  2427. /package/dist/{smt-lib → solver/smt-lib}/ast.js +0 -0
  2428. /package/dist/{smt-lib → solver/smt-lib}/emitter.d.ts +0 -0
  2429. /package/dist/{smt-lib → solver/smt-lib}/emitter.js +0 -0
  2430. /package/dist/{smt-lib → solver/smt-lib}/index.d.ts +0 -0
  2431. /package/dist/{smt-lib → solver/smt-lib}/index.js +0 -0
  2432. /package/dist/{smt-lib → solver/smt-lib}/parser.d.ts +0 -0
  2433. /package/dist/{smt-lib → solver/smt-lib}/parser.js +0 -0
  2434. /package/dist/{smt-lib → solver/smt-lib}/tokenizer.d.ts +0 -0
  2435. /package/dist/{smt-lib → solver/smt-lib}/tokenizer.js +0 -0
  2436. /package/dist/tests/{ctl → logic/ctl}/check.test.d.ts +0 -0
  2437. /package/dist/tests/{default-logic → logic/default-logic}/extensions.test.d.ts +0 -0
  2438. /package/dist/tests/{description-logic → logic/description-logic}/alc.test.d.ts +0 -0
  2439. /package/dist/tests/{hybrid-logic → logic/hybrid-logic}/semantics.test.d.ts +0 -0
  2440. /package/dist/tests/{intuitionistic-nj → logic/intuitionistic-nj}/nj.test.d.ts +0 -0
  2441. /package/dist/tests/{ltl-sat → logic/ltl-sat}/sat.test.d.ts +0 -0
  2442. /package/dist/tests/{many-valued → logic/many-valued}/many-valued.test.d.ts +0 -0
  2443. /package/dist/tests/{modal-frame-axioms → logic/modal-frame-axioms}/frame-axioms.test.d.ts +0 -0
  2444. /package/dist/tests/{mu-calculus → logic/mu-calculus}/check.test.d.ts +0 -0
  2445. /package/dist/tests/{profile-bridge → logic/profile-bridge}/translations.test.d.ts +0 -0
  2446. /package/dist/tests/{profiles.test.d.ts → logic/profiles.test.d.ts} +0 -0
  2447. /package/dist/tests/{sequent-g3 → logic/sequent-g3}/prover.test.d.ts +0 -0
  2448. /package/dist/tests/{sequent-lk → logic/sequent-lk}/prover.test.d.ts +0 -0
  2449. /package/dist/tests/{substructural → logic/substructural}/prover.test.d.ts +0 -0
  2450. /package/dist/tests/{fol-prover → proof-systems/fol-prover}/cnf.test.d.ts +0 -0
  2451. /package/dist/tests/{fol-prover → proof-systems/fol-prover}/prove.test.d.ts +0 -0
  2452. /package/dist/tests/{fol-prover → proof-systems/fol-prover}/unify.test.d.ts +0 -0
  2453. /package/dist/tests/{fol-prover-equality → proof-systems/fol-prover-equality}/prove.test.d.ts +0 -0
  2454. /package/dist/tests/{higher-order-unify → proof-systems/higher-order-unify}/ho-unify.test.d.ts +0 -0
  2455. /package/dist/tests/{proof-exchange → proof-systems/proof-exchange}/proof-exchange.test.d.ts +0 -0
  2456. /package/dist/tests/{proof-minify → proof-systems/proof-minify}/minify.test.d.ts +0 -0
  2457. /package/dist/tests/{proof-nets → proof-systems/proof-nets}/proof-nets.test.d.ts +0 -0
  2458. /package/dist/tests/{tableau-framework → proof-systems/tableau-framework}/tableau.test.d.ts +0 -0
  2459. /package/dist/tests/{abduction → reasoning/abduction}/abduction.test.d.ts +0 -0
  2460. /package/dist/tests/{argumentation → reasoning/argumentation}/dung.test.d.ts +0 -0
  2461. /package/dist/tests/{bayesian → reasoning/bayesian}/bayesian.test.d.ts +0 -0
  2462. /package/dist/tests/{belief-revision → reasoning/belief-revision}/agm.test.d.ts +0 -0
  2463. /package/dist/tests/{citation-reasoning → reasoning/citation-reasoning}/citation-reasoning.test.d.ts +0 -0
  2464. /package/dist/tests/{constructive-reals → reasoning/constructive-reals}/constructive-reals.test.d.ts +0 -0
  2465. /package/dist/tests/{fca → reasoning/fca}/fca.test.d.ts +0 -0
  2466. /package/dist/tests/{game-theory → reasoning/game-theory}/game-theory.test.d.ts +0 -0
  2467. /package/dist/tests/{hyperreal → reasoning/hyperreal}/hyperreal.test.d.ts +0 -0
  2468. /package/dist/tests/{information-theory → reasoning/information-theory}/information-theory.test.d.ts +0 -0
  2469. /package/dist/tests/{lemma-synthesis → reasoning/lemma-synthesis}/lemma-synthesis.test.d.ts +0 -0
  2470. /package/dist/tests/{markov-logic → reasoning/markov-logic}/markov-logic.test.d.ts +0 -0
  2471. /package/dist/tests/{optimization → reasoning/optimization}/ilp.test.d.ts +0 -0
  2472. /package/dist/tests/{optimization → reasoning/optimization}/lp.test.d.ts +0 -0
  2473. /package/dist/tests/{planning → reasoning/planning}/planning.test.d.ts +0 -0
  2474. /package/dist/tests/{tactic-dsl → reasoning/tactic-dsl}/tactic-dsl.test.d.ts +0 -0
  2475. /package/dist/tests/{bdd → runtime/bdd}/manager.test.d.ts +0 -0
  2476. /package/dist/tests/{csp-hoare → runtime/csp-hoare}/csp-hoare.test.d.ts +0 -0
  2477. /package/dist/tests/{categorical → semantics/categorical}/categorical.test.d.ts +0 -0
  2478. /package/dist/tests/{coinduction → semantics/coinduction}/coinduction.test.d.ts +0 -0
  2479. /package/dist/tests/{game-semantics → semantics/game-semantics}/game-semantics.test.d.ts +0 -0
  2480. /package/dist/tests/{text-layer-v2 → semantics/text-layer-v2}/claim-graph.test.d.ts +0 -0
  2481. /package/dist/tests/{text-layer-v2 → semantics/text-layer-v2}/mdx-bridge/mdx-bridge.test.d.ts +0 -0
  2482. /package/dist/tests/{csp → solver/csp}/csp.test.d.ts +0 -0
  2483. /package/dist/tests/{mus → solver/mus}/extract.test.d.ts +0 -0
  2484. /package/dist/tests/{sat-v2 → solver/sat-v2}/clause-learning.test.d.ts +0 -0
  2485. /package/dist/tests/{sat-v2 → solver/sat-v2}/lbd.test.d.ts +0 -0
  2486. /package/dist/tests/{sat-v2 → solver/sat-v2}/luby.test.d.ts +0 -0
  2487. /package/dist/tests/{sat-v2 → solver/sat-v2}/phase-saving.test.d.ts +0 -0
  2488. /package/dist/tests/{sat-v2 → solver/sat-v2}/solver-end-to-end.test.d.ts +0 -0
  2489. /package/dist/tests/{sat-v2 → solver/sat-v2}/vsids.test.d.ts +0 -0
  2490. /package/dist/tests/{sat-v2-incremental → solver/sat-v2-incremental}/basic.test.d.ts +0 -0
  2491. /package/dist/tests/{smt → solver/smt}/mock-backend.test.d.ts +0 -0
  2492. /package/dist/tests/{smt → solver/smt}/serializer.test.d.ts +0 -0
  2493. /package/dist/tests/{smt → solver/smt}/subprocess-backend.test.d.ts +0 -0
  2494. /package/dist/tests/{smt-lib → solver/smt-lib}/emitter.test.d.ts +0 -0
  2495. /package/dist/tests/{smt-lib → solver/smt-lib}/parser.test.d.ts +0 -0
  2496. /package/dist/tests/{smt-lib → solver/smt-lib}/tokenizer.test.d.ts +0 -0
  2497. /package/dist/tests/{educational → tooling/educational}/checker.test.d.ts +0 -0
  2498. /package/dist/tests/{educational → tooling/educational}/generator.test.d.ts +0 -0
  2499. /package/dist/tests/{exporters → tooling/exporters}/coq/coq-exporter.test.d.ts +0 -0
  2500. /package/dist/tests/{lsp → tooling/lsp}/server.test.d.ts +0 -0
  2501. /package/dist/tests/{plugin-system → tooling/plugin-system}/demo-min-logic.test.d.ts +0 -0
  2502. /package/dist/tests/{plugin-system → tooling/plugin-system}/registry.test.d.ts +0 -0
  2503. /package/dist/tests/{plugin-system → tooling/plugin-system}/validate.test.d.ts +0 -0
  2504. /package/dist/tests/{time-travel → tooling/time-travel}/snapshot.test.d.ts +0 -0
  2505. /package/dist/tests/{time-travel → tooling/time-travel}/store.test.d.ts +0 -0
  2506. /package/dist/tests/{tptp → tooling/tptp}/bridge.test.d.ts +0 -0
  2507. /package/dist/tests/{tptp → tooling/tptp}/emitter.test.d.ts +0 -0
  2508. /package/dist/tests/{tptp → tooling/tptp}/parser.test.d.ts +0 -0
  2509. /package/dist/tests/{tptp → tooling/tptp}/tokenizer.test.d.ts +0 -0
  2510. /package/dist/tests/{combinators-ski → type-theory/combinators-ski}/combinators-ski.test.d.ts +0 -0
  2511. /package/dist/tests/{curry-howard → type-theory/curry-howard}/infer.test.d.ts +0 -0
  2512. /package/dist/tests/{curry-howard → type-theory/curry-howard}/proof.test.d.ts +0 -0
  2513. /package/dist/tests/{curry-howard → type-theory/curry-howard}/reduce.test.d.ts +0 -0
  2514. /package/dist/tests/{hindley-milner → type-theory/hindley-milner}/hindley-milner.test.d.ts +0 -0
  2515. /package/dist/tests/{hol → type-theory/hol}/hol.test.d.ts +0 -0
  2516. /package/dist/tests/{hott → type-theory/hott}/hott.test.d.ts +0 -0
  2517. /package/dist/tests/{lambda-calc → type-theory/lambda-calc}/lambda-calc.test.d.ts +0 -0
  2518. /package/dist/tests/{mltt → type-theory/mltt}/mltt.test.d.ts +0 -0
  2519. /package/dist/tests/{nbe → type-theory/nbe}/nbe.test.d.ts +0 -0
  2520. /package/dist/tests/{refinement-types → type-theory/refinement-types}/refinement-types.test.d.ts +0 -0
  2521. /package/dist/tests/{system-f → type-theory/system-f}/system-f.test.d.ts +0 -0
  2522. /package/dist/{educational → tooling/educational}/checker.d.ts +0 -0
  2523. /package/dist/{educational → tooling/educational}/generator.d.ts +0 -0
  2524. /package/dist/{educational → tooling/educational}/generator.js +0 -0
  2525. /package/dist/{educational → tooling/educational}/index.d.ts +0 -0
  2526. /package/dist/{educational → tooling/educational}/index.js +0 -0
  2527. /package/dist/{educational → tooling/educational}/normalize.d.ts +0 -0
  2528. /package/dist/{educational → tooling/educational}/normalize.js +0 -0
  2529. /package/dist/{educational → tooling/educational}/rng.d.ts +0 -0
  2530. /package/dist/{educational → tooling/educational}/rng.js +0 -0
  2531. /package/dist/{educational → tooling/educational}/templates.d.ts +0 -0
  2532. /package/dist/{educational → tooling/educational}/templates.js +0 -0
  2533. /package/dist/{educational → tooling/educational}/types.d.ts +0 -0
  2534. /package/dist/{educational → tooling/educational}/types.js +0 -0
  2535. /package/dist/{exporters → tooling/exporters}/coq/index.js +0 -0
  2536. /package/dist/{lsp → tooling/lsp}/index.d.ts +0 -0
  2537. /package/dist/{lsp → tooling/lsp}/index.js +0 -0
  2538. /package/dist/{lsp → tooling/lsp}/protocol.d.ts +0 -0
  2539. /package/dist/{lsp → tooling/lsp}/protocol.js +0 -0
  2540. /package/dist/{lsp → tooling/lsp}/server.d.ts +0 -0
  2541. /package/dist/{lsp → tooling/lsp}/types.d.ts +0 -0
  2542. /package/dist/{lsp → tooling/lsp}/types.js +0 -0
  2543. /package/dist/{plugin-system → tooling/plugin-system}/demo-min-logic.d.ts +0 -0
  2544. /package/dist/{plugin-system → tooling/plugin-system}/demo-min-logic.js +0 -0
  2545. /package/dist/{plugin-system → tooling/plugin-system}/errors.d.ts +0 -0
  2546. /package/dist/{plugin-system → tooling/plugin-system}/errors.js +0 -0
  2547. /package/dist/{plugin-system → tooling/plugin-system}/index.d.ts +0 -0
  2548. /package/dist/{plugin-system → tooling/plugin-system}/index.js +0 -0
  2549. /package/dist/{plugin-system → tooling/plugin-system}/registry.d.ts +0 -0
  2550. /package/dist/{plugin-system → tooling/plugin-system}/registry.js +0 -0
  2551. /package/dist/{plugin-system → tooling/plugin-system}/types.js +0 -0
  2552. /package/dist/{plugin-system → tooling/plugin-system}/validate.d.ts +0 -0
  2553. /package/dist/{plugin-system → tooling/plugin-system}/validate.js +0 -0
  2554. /package/dist/{time-travel → tooling/time-travel}/index.d.ts +0 -0
  2555. /package/dist/{time-travel → tooling/time-travel}/index.js +0 -0
  2556. /package/dist/{time-travel → tooling/time-travel}/snapshot.d.ts +0 -0
  2557. /package/dist/{time-travel → tooling/time-travel}/snapshot.js +0 -0
  2558. /package/dist/{time-travel → tooling/time-travel}/store.d.ts +0 -0
  2559. /package/dist/{time-travel → tooling/time-travel}/store.js +0 -0
  2560. /package/dist/{time-travel → tooling/time-travel}/types.d.ts +0 -0
  2561. /package/dist/{time-travel → tooling/time-travel}/types.js +0 -0
  2562. /package/dist/{tptp → tooling/tptp}/ast.d.ts +0 -0
  2563. /package/dist/{tptp → tooling/tptp}/ast.js +0 -0
  2564. /package/dist/{tptp → tooling/tptp}/bridge.js +0 -0
  2565. /package/dist/{tptp → tooling/tptp}/emitter.d.ts +0 -0
  2566. /package/dist/{tptp → tooling/tptp}/emitter.js +0 -0
  2567. /package/dist/{tptp → tooling/tptp}/index.d.ts +0 -0
  2568. /package/dist/{tptp → tooling/tptp}/index.js +0 -0
  2569. /package/dist/{tptp → tooling/tptp}/parser.d.ts +0 -0
  2570. /package/dist/{tptp → tooling/tptp}/parser.js +0 -0
  2571. /package/dist/{tptp → tooling/tptp}/tokenizer.d.ts +0 -0
  2572. /package/dist/{tptp → tooling/tptp}/tokenizer.js +0 -0
  2573. /package/dist/{combinators-ski → type-theory/combinators-ski}/abstract.d.ts +0 -0
  2574. /package/dist/{combinators-ski → type-theory/combinators-ski}/abstract.js +0 -0
  2575. /package/dist/{combinators-ski → type-theory/combinators-ski}/index.d.ts +0 -0
  2576. /package/dist/{combinators-ski → type-theory/combinators-ski}/index.js +0 -0
  2577. /package/dist/{combinators-ski → type-theory/combinators-ski}/reduce.d.ts +0 -0
  2578. /package/dist/{combinators-ski → type-theory/combinators-ski}/reduce.js +0 -0
  2579. /package/dist/{combinators-ski → type-theory/combinators-ski}/types.d.ts +0 -0
  2580. /package/dist/{combinators-ski → type-theory/combinators-ski}/types.js +0 -0
  2581. /package/dist/{curry-howard → type-theory/curry-howard}/index.d.ts +0 -0
  2582. /package/dist/{curry-howard → type-theory/curry-howard}/index.js +0 -0
  2583. /package/dist/{curry-howard → type-theory/curry-howard}/infer.d.ts +0 -0
  2584. /package/dist/{curry-howard → type-theory/curry-howard}/infer.js +0 -0
  2585. /package/dist/{curry-howard → type-theory/curry-howard}/proof.d.ts +0 -0
  2586. /package/dist/{curry-howard → type-theory/curry-howard}/proof.js +0 -0
  2587. /package/dist/{curry-howard → type-theory/curry-howard}/reduce.d.ts +0 -0
  2588. /package/dist/{curry-howard → type-theory/curry-howard}/reduce.js +0 -0
  2589. /package/dist/{curry-howard → type-theory/curry-howard}/types.d.ts +0 -0
  2590. /package/dist/{curry-howard → type-theory/curry-howard}/types.js +0 -0
  2591. /package/dist/{hindley-milner → type-theory/hindley-milner}/index.d.ts +0 -0
  2592. /package/dist/{hindley-milner → type-theory/hindley-milner}/index.js +0 -0
  2593. /package/dist/{hindley-milner → type-theory/hindley-milner}/infer.d.ts +0 -0
  2594. /package/dist/{hindley-milner → type-theory/hindley-milner}/infer.js +0 -0
  2595. /package/dist/{hindley-milner → type-theory/hindley-milner}/substitution.d.ts +0 -0
  2596. /package/dist/{hindley-milner → type-theory/hindley-milner}/substitution.js +0 -0
  2597. /package/dist/{hindley-milner → type-theory/hindley-milner}/types.d.ts +0 -0
  2598. /package/dist/{hindley-milner → type-theory/hindley-milner}/types.js +0 -0
  2599. /package/dist/{profiles → type-theory}/hol/connectives.d.ts +0 -0
  2600. /package/dist/{profiles → type-theory}/hol/connectives.js +0 -0
  2601. /package/dist/{profiles → type-theory}/hol/index.d.ts +0 -0
  2602. /package/dist/{profiles → type-theory}/hol/index.js +0 -0
  2603. /package/dist/{profiles → type-theory}/hol/rules.d.ts +0 -0
  2604. /package/dist/{profiles → type-theory}/hol/rules.js +0 -0
  2605. /package/dist/{profiles → type-theory}/hol/term.d.ts +0 -0
  2606. /package/dist/{profiles → type-theory}/hol/term.js +0 -0
  2607. /package/dist/{profiles → type-theory}/hol/type-system.d.ts +0 -0
  2608. /package/dist/{profiles → type-theory}/hol/type-system.js +0 -0
  2609. /package/dist/{profiles → type-theory}/hol/types.d.ts +0 -0
  2610. /package/dist/{profiles → type-theory}/hol/types.js +0 -0
  2611. /package/dist/{hott → type-theory/hott}/equality.d.ts +0 -0
  2612. /package/dist/{hott → type-theory/hott}/equality.js +0 -0
  2613. /package/dist/{hott → type-theory/hott}/index.d.ts +0 -0
  2614. /package/dist/{hott → type-theory/hott}/index.js +0 -0
  2615. /package/dist/{hott → type-theory/hott}/infer.d.ts +0 -0
  2616. /package/dist/{hott → type-theory/hott}/infer.js +0 -0
  2617. /package/dist/{hott → type-theory/hott}/normalize.d.ts +0 -0
  2618. /package/dist/{hott → type-theory/hott}/normalize.js +0 -0
  2619. /package/dist/{hott → type-theory/hott}/path-algebra.d.ts +0 -0
  2620. /package/dist/{hott → type-theory/hott}/path-algebra.js +0 -0
  2621. /package/dist/{hott → type-theory/hott}/substitute.d.ts +0 -0
  2622. /package/dist/{hott → type-theory/hott}/substitute.js +0 -0
  2623. /package/dist/{hott → type-theory/hott}/types.d.ts +0 -0
  2624. /package/dist/{hott → type-theory/hott}/types.js +0 -0
  2625. /package/dist/{lambda-calc → type-theory/lambda-calc}/church.d.ts +0 -0
  2626. /package/dist/{lambda-calc → type-theory/lambda-calc}/church.js +0 -0
  2627. /package/dist/{lambda-calc → type-theory/lambda-calc}/combinators.d.ts +0 -0
  2628. /package/dist/{lambda-calc → type-theory/lambda-calc}/combinators.js +0 -0
  2629. /package/dist/{lambda-calc → type-theory/lambda-calc}/index.d.ts +0 -0
  2630. /package/dist/{lambda-calc → type-theory/lambda-calc}/index.js +0 -0
  2631. /package/dist/{lambda-calc → type-theory/lambda-calc}/reduce.d.ts +0 -0
  2632. /package/dist/{lambda-calc → type-theory/lambda-calc}/reduce.js +0 -0
  2633. /package/dist/{lambda-calc → type-theory/lambda-calc}/substitution.d.ts +0 -0
  2634. /package/dist/{lambda-calc → type-theory/lambda-calc}/substitution.js +0 -0
  2635. /package/dist/{lambda-calc → type-theory/lambda-calc}/types.d.ts +0 -0
  2636. /package/dist/{lambda-calc → type-theory/lambda-calc}/types.js +0 -0
  2637. /package/dist/{mltt → type-theory/mltt}/equality.d.ts +0 -0
  2638. /package/dist/{mltt → type-theory/mltt}/equality.js +0 -0
  2639. /package/dist/{mltt → type-theory/mltt}/index.d.ts +0 -0
  2640. /package/dist/{mltt → type-theory/mltt}/index.js +0 -0
  2641. /package/dist/{mltt → type-theory/mltt}/infer.d.ts +0 -0
  2642. /package/dist/{mltt → type-theory/mltt}/infer.js +0 -0
  2643. /package/dist/{mltt → type-theory/mltt}/normalize.d.ts +0 -0
  2644. /package/dist/{mltt → type-theory/mltt}/normalize.js +0 -0
  2645. /package/dist/{mltt → type-theory/mltt}/substitute.d.ts +0 -0
  2646. /package/dist/{mltt → type-theory/mltt}/substitute.js +0 -0
  2647. /package/dist/{mltt → type-theory/mltt}/types.d.ts +0 -0
  2648. /package/dist/{mltt → type-theory/mltt}/types.js +0 -0
  2649. /package/dist/{nbe → type-theory/nbe}/index.d.ts +0 -0
  2650. /package/dist/{nbe → type-theory/nbe}/index.js +0 -0
  2651. /package/dist/{nbe → type-theory/nbe}/nbe.d.ts +0 -0
  2652. /package/dist/{nbe → type-theory/nbe}/nbe.js +0 -0
  2653. /package/dist/{nbe → type-theory/nbe}/types.d.ts +0 -0
  2654. /package/dist/{nbe → type-theory/nbe}/types.js +0 -0
  2655. /package/dist/{refinement-types → type-theory/refinement-types}/checker.d.ts +0 -0
  2656. /package/dist/{refinement-types → type-theory/refinement-types}/checker.js +0 -0
  2657. /package/dist/{refinement-types → type-theory/refinement-types}/index.d.ts +0 -0
  2658. /package/dist/{refinement-types → type-theory/refinement-types}/index.js +0 -0
  2659. /package/dist/{refinement-types → type-theory/refinement-types}/predicate.d.ts +0 -0
  2660. /package/dist/{refinement-types → type-theory/refinement-types}/predicate.js +0 -0
  2661. /package/dist/{refinement-types → type-theory/refinement-types}/solver.d.ts +0 -0
  2662. /package/dist/{refinement-types → type-theory/refinement-types}/solver.js +0 -0
  2663. /package/dist/{refinement-types → type-theory/refinement-types}/subtype.d.ts +0 -0
  2664. /package/dist/{refinement-types → type-theory/refinement-types}/subtype.js +0 -0
  2665. /package/dist/{refinement-types → type-theory/refinement-types}/types.d.ts +0 -0
  2666. /package/dist/{refinement-types → type-theory/refinement-types}/types.js +0 -0
  2667. /package/dist/{system-f → type-theory/system-f}/index.d.ts +0 -0
  2668. /package/dist/{system-f → type-theory/system-f}/index.js +0 -0
  2669. /package/dist/{system-f → type-theory/system-f}/infer.d.ts +0 -0
  2670. /package/dist/{system-f → type-theory/system-f}/infer.js +0 -0
  2671. /package/dist/{system-f → type-theory/system-f}/reduce.d.ts +0 -0
  2672. /package/dist/{system-f → type-theory/system-f}/reduce.js +0 -0
  2673. /package/dist/{system-f → type-theory/system-f}/types.d.ts +0 -0
  2674. /package/dist/{system-f → type-theory/system-f}/types.js +0 -0
@@ -1,2868 +0,0 @@
1
- "use strict";
2
- // ============================================================
3
- // ST Classical Propositional — Motor completo
4
- // ============================================================
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ClassicalPropositional = void 0;
7
- exports.collectAtoms = collectAtoms;
8
- exports.evaluateClassical = evaluateClassical;
9
- exports.generateValuationsLazy = generateValuationsLazy;
10
- exports.formulaToString = formulaToString;
11
- exports.toNNF = toNNF;
12
- exports.toCNF = toCNF;
13
- exports.toDNF = toDNF;
14
- exports.extractClauses = extractClauses;
15
- const formula_classifier_1 = require("../../runtime/formula-classifier");
16
- const format_1 = require("../../runtime/format");
17
- const educational_notes_1 = require("../../runtime/educational-notes");
18
- const memo_1 = require("../../utils/memo");
19
- const dpll_1 = require("./dpll");
20
- // --- Utilidades de fórmulas ---
21
- function collectAtoms(f) {
22
- return (0, memo_1.memoizeAtoms)(f, computeCollectAtoms);
23
- }
24
- function computeCollectAtoms(f) {
25
- const atoms = new Set();
26
- function walk(node) {
27
- if (node.kind === 'atom' && node.name) {
28
- atoms.add(node.name);
29
- }
30
- if (node.args) {
31
- for (const arg of node.args) {
32
- walk(arg);
33
- }
34
- }
35
- }
36
- walk(f);
37
- return atoms;
38
- }
39
- function evaluateClassical(f, v) {
40
- switch (f.kind) {
41
- case 'true':
42
- return true;
43
- case 'false':
44
- return false;
45
- case 'atom':
46
- return f.name ? (v[f.name] ?? false) : false;
47
- case 'not':
48
- return f.args && f.args[0] ? !evaluateClassical(f.args[0], v) : false;
49
- case 'and':
50
- return f.args && f.args[0] && f.args[1]
51
- ? evaluateClassical(f.args[0], v) && evaluateClassical(f.args[1], v)
52
- : false;
53
- case 'or':
54
- return f.args && f.args[0] && f.args[1]
55
- ? evaluateClassical(f.args[0], v) || evaluateClassical(f.args[1], v)
56
- : false;
57
- case 'implies':
58
- return f.args && f.args[0] && f.args[1]
59
- ? !evaluateClassical(f.args[0], v) || evaluateClassical(f.args[1], v)
60
- : false;
61
- case 'biconditional':
62
- return f.args && f.args[0] && f.args[1]
63
- ? evaluateClassical(f.args[0], v) === evaluateClassical(f.args[1], v)
64
- : false;
65
- case 'nand':
66
- return f.args && f.args[0] && f.args[1]
67
- ? !(evaluateClassical(f.args[0], v) && evaluateClassical(f.args[1], v))
68
- : false;
69
- case 'nor':
70
- return f.args && f.args[0] && f.args[1]
71
- ? !(evaluateClassical(f.args[0], v) || evaluateClassical(f.args[1], v))
72
- : false;
73
- case 'xor':
74
- return f.args && f.args[0] && f.args[1]
75
- ? evaluateClassical(f.args[0], v) !== evaluateClassical(f.args[1], v)
76
- : false;
77
- default:
78
- throw new Error(`Operador lógico no soportado en evaluación clásica: ${f.kind}`);
79
- }
80
- }
81
- /**
82
- * Optimización: Generar valuaciones de forma más eficiente.
83
- * Usa bitsets implícitos para evitar recrear objetos innecesariamente si fuera posible,
84
- * pero aquí mantenemos la interfaz de Valuation (objeto) por compatibilidad.
85
- */
86
- function generateValuations(atoms) {
87
- const n = atoms.length;
88
- if (n === 0)
89
- return [{}];
90
- if (n > 23)
91
- throw new Error('Demasiadas variables para tabla de verdad (>23)');
92
- const total = 1 << n;
93
- const valuations = new Array(total);
94
- for (let i = 0; i < total; i++) {
95
- const v = {};
96
- for (let j = 0; j < n; j++) {
97
- // Usar bitwise para determinar el valor de verdad
98
- v[atoms[j]] = Boolean((i >> (n - 1 - j)) & 1);
99
- }
100
- valuations[i] = v;
101
- }
102
- return valuations;
103
- }
104
- /**
105
- * Generador lazy de valuaciones para streaming (usado por el intérprete para truth_table masivas).
106
- */
107
- function* generateValuationsLazy(atoms) {
108
- const n = atoms.length;
109
- if (n === 0) {
110
- yield {};
111
- return;
112
- }
113
- if (n > 23)
114
- throw new Error('Demasiadas variables para tabla de verdad (>23)');
115
- const total = 2 ** n;
116
- for (let i = 0; i < total; i++) {
117
- const v = {};
118
- for (let j = 0; j < n; j++) {
119
- const divisor = 2 ** (n - 1 - j);
120
- v[atoms[j]] = Math.floor(i / divisor) % 2 === 1;
121
- }
122
- yield v;
123
- }
124
- }
125
- function bvCreate(total) {
126
- return new Uint32Array((total + 31) >>> 5);
127
- }
128
- function bvOnes(total) {
129
- const words = (total + 31) >>> 5;
130
- const v = new Uint32Array(words);
131
- v.fill(0xffffffff);
132
- // Clear trailing bits in last word
133
- const tail = total & 31;
134
- if (tail)
135
- v[words - 1] = (1 << tail) - 1;
136
- return v;
137
- }
138
- function bvAnd(a, b) {
139
- const r = new Uint32Array(a.length);
140
- for (let i = 0; i < a.length; i++)
141
- r[i] = a[i] & b[i];
142
- return r;
143
- }
144
- function bvOr(a, b) {
145
- const r = new Uint32Array(a.length);
146
- for (let i = 0; i < a.length; i++)
147
- r[i] = a[i] | b[i];
148
- return r;
149
- }
150
- function bvXor(a, b) {
151
- const r = new Uint32Array(a.length);
152
- for (let i = 0; i < a.length; i++)
153
- r[i] = a[i] ^ b[i];
154
- return r;
155
- }
156
- function bvNot(a, ones) {
157
- const r = new Uint32Array(a.length);
158
- for (let i = 0; i < a.length; i++)
159
- r[i] = ~a[i] & ones[i];
160
- return r;
161
- }
162
- function bvIsZero(a) {
163
- for (let i = 0; i < a.length; i++)
164
- if (a[i] !== 0)
165
- return false;
166
- return true;
167
- }
168
- function bvEquals(a, b) {
169
- for (let i = 0; i < a.length; i++)
170
- if (a[i] !== b[i])
171
- return false;
172
- return true;
173
- }
174
- function bvPopcount(a) {
175
- let count = 0;
176
- for (let i = 0; i < a.length; i++) {
177
- let v = a[i];
178
- v = v - ((v >>> 1) & 0x55555555);
179
- v = (v & 0x33333333) + ((v >>> 2) & 0x33333333);
180
- count += (((v + (v >>> 4)) & 0x0f0f0f0f) * 0x01010101) >>> 24;
181
- }
182
- return count;
183
- }
184
- function bvTestBit(a, i) {
185
- return (a[i >>> 5] & (1 << (i & 31))) !== 0;
186
- }
187
- // Find first set bit, or -1
188
- function bvFirstSet(a) {
189
- for (let w = 0; w < a.length; w++) {
190
- if (a[w] !== 0)
191
- return ((w << 5) + Math.clz32(a[w] & (-a[w] | 0))) ^ 31;
192
- }
193
- return -1;
194
- }
195
- function evaluateBitset(formula, atoms) {
196
- const n = atoms.length;
197
- if (n > 26)
198
- throw new Error('Demasiadas variables para evaluación bitset (>26)');
199
- const total = 1 << n;
200
- const allOnes = bvOnes(total);
201
- const words = allOnes.length;
202
- // Build atom masks: atom j is true when bit j of the row index is 1.
203
- // Row index i has bit j set when (i >>> (n-1-j)) & 1.
204
- // Equivalent: word w, bit b (i = w*32+b), atom j true iff ((w*32+b) >>> (n-1-j)) & 1.
205
- const atomMasks = new Map();
206
- for (let j = 0; j < n; j++) {
207
- const shift = n - 1 - j;
208
- const mask = bvCreate(total);
209
- // The pattern for atom j repeats with period 2^(shift+1).
210
- // Within each period, the first 2^shift bits are 0, next 2^shift are 1.
211
- // For shift < 5, the pattern fits within single words and we can use word-level fill.
212
- if (shift < 5) {
213
- // Pattern period in bits
214
- const period = 1 << (shift + 1);
215
- const halfPeriod = 1 << shift;
216
- // Build a 32-bit pattern
217
- let pattern = 0;
218
- for (let b = 0; b < 32; b++) {
219
- if (b % period >= halfPeriod)
220
- pattern |= 1 << b;
221
- }
222
- mask.fill(pattern);
223
- }
224
- else {
225
- // shift >= 5: consecutive words are all-0 or all-1
226
- const wordPeriod = 1 << (shift - 5 + 1); // period in words
227
- const halfWordPeriod = wordPeriod >>> 1;
228
- for (let w = 0; w < words; w++) {
229
- const posInPeriod = w % wordPeriod;
230
- mask[w] = posInPeriod >= halfWordPeriod ? 0xffffffff : 0;
231
- }
232
- }
233
- // Clear trailing bits
234
- const tail = total & 31;
235
- if (tail && words > 0)
236
- mask[words - 1] &= (1 << tail) - 1;
237
- atomMasks.set(atoms[j], mask);
238
- }
239
- function evalBits(f) {
240
- switch (f.kind) {
241
- case 'atom':
242
- return atomMasks.get(f.name ?? '') ?? bvCreate(total);
243
- case 'not': {
244
- const [inner] = f.args ?? [];
245
- return bvNot(evalBits(inner), allOnes);
246
- }
247
- case 'and': {
248
- const [left, right] = f.args ?? [];
249
- return bvAnd(evalBits(left), evalBits(right));
250
- }
251
- case 'or': {
252
- const [left, right] = f.args ?? [];
253
- return bvOr(evalBits(left), evalBits(right));
254
- }
255
- case 'implies': {
256
- const [left, right] = f.args ?? [];
257
- return bvOr(bvNot(evalBits(left), allOnes), evalBits(right));
258
- }
259
- case 'biconditional': {
260
- const [left, right] = f.args ?? [];
261
- return bvNot(bvXor(evalBits(left), evalBits(right)), allOnes);
262
- }
263
- case 'xor': {
264
- const [left, right] = f.args ?? [];
265
- return bvXor(evalBits(left), evalBits(right));
266
- }
267
- case 'nand': {
268
- const [left, right] = f.args ?? [];
269
- return bvNot(bvAnd(evalBits(left), evalBits(right)), allOnes);
270
- }
271
- case 'nor': {
272
- const [left, right] = f.args ?? [];
273
- return bvNot(bvOr(evalBits(left), evalBits(right)), allOnes);
274
- }
275
- default:
276
- throw new Error(`Operador no soportado en evaluación bitset: ${f.kind}`);
277
- }
278
- }
279
- return { result: evalBits(formula), atomMasks, total, allOnes };
280
- }
281
- function bitsetPopcount(a) {
282
- return bvPopcount(a);
283
- }
284
- function isPurePropositional(f) {
285
- switch (f.kind) {
286
- case 'atom':
287
- return true;
288
- case 'not':
289
- case 'and':
290
- case 'or':
291
- case 'implies':
292
- case 'biconditional':
293
- case 'xor':
294
- case 'nand':
295
- case 'nor':
296
- return (f.args || []).every(isPurePropositional);
297
- default:
298
- return false;
299
- }
300
- }
301
- /**
302
- * Aplana recursivamente nodos binarios del mismo kind asociativo.
303
- * Ej: or(or(P,Q), R) → [P, Q, R]
304
- */
305
- function collectAssociativeArgs(f, kind) {
306
- if (f.kind !== kind || !f.args?.length)
307
- return [f];
308
- const items = [];
309
- for (const arg of f.args) {
310
- if (!arg)
311
- continue;
312
- items.push(...collectAssociativeArgs(arg, kind));
313
- }
314
- return items;
315
- }
316
- function formulaToString(f) {
317
- return (0, memo_1.memoizeString)(f, computeFormulaToString);
318
- }
319
- function computeFormulaToString(f) {
320
- switch (f.kind) {
321
- case 'true':
322
- return '⊤';
323
- case 'false':
324
- return '⊥';
325
- case 'atom':
326
- return f.name || '?';
327
- case 'not': {
328
- const inner = f.args?.[0];
329
- if (!inner)
330
- return '!?';
331
- if (inner.kind === 'atom')
332
- return `!${formulaToString(inner)}`;
333
- return `!(${formulaToString(inner)})`;
334
- }
335
- case 'and':
336
- return f.args && f.args[0] && f.args[1]
337
- ? `(${collectAssociativeArgs(f, 'and').map(formulaToString).join(' & ')})`
338
- : '? & ?';
339
- case 'or':
340
- return f.args && f.args[0] && f.args[1]
341
- ? `(${collectAssociativeArgs(f, 'or').map(formulaToString).join(' | ')})`
342
- : '? | ?';
343
- case 'implies':
344
- return f.args && f.args[0] && f.args[1]
345
- ? `(${formulaToString(f.args[0])} -> ${formulaToString(f.args[1])})`
346
- : '? -> ?';
347
- case 'biconditional':
348
- return f.args && f.args[0] && f.args[1]
349
- ? `(${formulaToString(f.args[0])} <-> ${formulaToString(f.args[1])})`
350
- : '? <-> ?';
351
- case 'nand':
352
- return f.args && f.args[0] && f.args[1]
353
- ? `(${formulaToString(f.args[0])} ↑ ${formulaToString(f.args[1])})`
354
- : '? ↑ ?';
355
- case 'nor':
356
- return f.args && f.args[0] && f.args[1]
357
- ? `(${formulaToString(f.args[0])} ↓ ${formulaToString(f.args[1])})`
358
- : '? ↓ ?';
359
- case 'xor':
360
- return f.args && f.args[0] && f.args[1]
361
- ? `(${collectAssociativeArgs(f, 'xor').map(formulaToString).join(' ⊕ ')})`
362
- : '? ⊕ ?';
363
- case 'equals':
364
- return f.args && f.args[0] && f.args[1]
365
- ? `(${formulaToString(f.args[0])} = ${formulaToString(f.args[1])})`
366
- : '? = ?';
367
- case 'temporal_next':
368
- return f.args?.[0] ? `X(${formulaToString(f.args[0])})` : 'X(?)';
369
- case 'temporal_until':
370
- return f.args && f.args[0] && f.args[1]
371
- ? `(${formulaToString(f.args[0])} U ${formulaToString(f.args[1])})`
372
- : '? U ?';
373
- case 'modal_necessity':
374
- return f.args?.[0] ? `[](${formulaToString(f.args[0])})` : '[](?)';
375
- case 'modal_possibility':
376
- return f.args?.[0] ? `<>(${formulaToString(f.args[0])})` : '<>(?)';
377
- case 'forall':
378
- return f.variable && f.args?.[0]
379
- ? `forall ${f.variable}(${formulaToString(f.args[0])})`
380
- : 'forall ?(?)';
381
- case 'exists':
382
- return f.variable && f.args?.[0]
383
- ? `exists ${f.variable}(${formulaToString(f.args[0])})`
384
- : 'exists ?(?)';
385
- case 'predicate':
386
- return f.name ? `${f.name}(${(f.params || []).join(', ')})` : '?(...)';
387
- // Arithmetic
388
- case 'number':
389
- return f.value !== undefined ? String(f.value) : '?';
390
- case 'add':
391
- return f.args?.[0] && f.args?.[1]
392
- ? `(${formulaToString(f.args[0])} + ${formulaToString(f.args[1])})`
393
- : '? + ?';
394
- case 'subtract':
395
- return f.args?.[0] && f.args?.[1]
396
- ? `(${formulaToString(f.args[0])} - ${formulaToString(f.args[1])})`
397
- : '? - ?';
398
- case 'multiply':
399
- return f.args?.[0] && f.args?.[1]
400
- ? `(${formulaToString(f.args[0])} * ${formulaToString(f.args[1])})`
401
- : '? * ?';
402
- case 'divide':
403
- return f.args?.[0] && f.args?.[1]
404
- ? `(${formulaToString(f.args[0])} / ${formulaToString(f.args[1])})`
405
- : '? / ?';
406
- case 'modulo':
407
- return f.args?.[0] && f.args?.[1]
408
- ? `(${formulaToString(f.args[0])} % ${formulaToString(f.args[1])})`
409
- : '? % ?';
410
- case 'less':
411
- return f.args?.[0] && f.args?.[1]
412
- ? `(${formulaToString(f.args[0])} < ${formulaToString(f.args[1])})`
413
- : '? < ?';
414
- case 'greater':
415
- return f.args?.[0] && f.args?.[1]
416
- ? `(${formulaToString(f.args[0])} > ${formulaToString(f.args[1])})`
417
- : '? > ?';
418
- case 'less_eq':
419
- return f.args?.[0] && f.args?.[1]
420
- ? `(${formulaToString(f.args[0])} <= ${formulaToString(f.args[1])})`
421
- : '? <= ?';
422
- case 'greater_eq':
423
- return f.args?.[0] && f.args?.[1]
424
- ? `(${formulaToString(f.args[0])} >= ${formulaToString(f.args[1])})`
425
- : '? >= ?';
426
- default:
427
- return '?';
428
- }
429
- }
430
- function toNNF(f) {
431
- return (0, memo_1.memoizeNNF)(f, computeNNF);
432
- }
433
- function computeNNF(f) {
434
- const simplify = (node, negated) => {
435
- const k = node.kind;
436
- const args = node.args || [];
437
- if (!negated) {
438
- switch (k) {
439
- case 'true':
440
- case 'false':
441
- case 'atom':
442
- case 'predicate':
443
- return node;
444
- case 'not':
445
- return simplify(args[0], true);
446
- case 'and':
447
- case 'or':
448
- case 'implies':
449
- case 'biconditional':
450
- case 'modal_necessity':
451
- case 'modal_possibility':
452
- case 'temporal_next':
453
- case 'forall':
454
- case 'exists':
455
- return { ...node, args: args.map((a) => simplify(a, false)) };
456
- case 'nand':
457
- return simplify({
458
- kind: 'or',
459
- args: [
460
- { kind: 'not', args: [args[0]] },
461
- { kind: 'not', args: [args[1]] },
462
- ],
463
- }, false);
464
- case 'nor':
465
- return simplify({
466
- kind: 'and',
467
- args: [
468
- { kind: 'not', args: [args[0]] },
469
- { kind: 'not', args: [args[1]] },
470
- ],
471
- }, false);
472
- case 'xor':
473
- return simplify({
474
- kind: 'or',
475
- args: [
476
- { kind: 'and', args: [args[0], { kind: 'not', args: [args[1]] }] },
477
- { kind: 'and', args: [{ kind: 'not', args: [args[0]] }, args[1]] },
478
- ],
479
- }, false);
480
- }
481
- }
482
- else {
483
- switch (k) {
484
- case 'true':
485
- return { kind: 'false' };
486
- case 'false':
487
- return { kind: 'true' };
488
- case 'atom':
489
- case 'predicate':
490
- return { kind: 'not', args: [node] };
491
- case 'not':
492
- return simplify(args[0], false);
493
- case 'and':
494
- return { kind: 'or', args: args.map((a) => simplify(a, true)) };
495
- case 'or':
496
- return { kind: 'and', args: args.map((a) => simplify(a, true)) };
497
- case 'implies':
498
- // !(A -> B) => A & !B
499
- return { kind: 'and', args: [simplify(args[0], false), simplify(args[1], true)] };
500
- case 'biconditional':
501
- // !(A <-> B) => (A & !B) | (!A & B)
502
- return simplify({
503
- kind: 'or',
504
- args: [
505
- { kind: 'and', args: [args[0], { kind: 'not', args: [args[1]] }] },
506
- { kind: 'and', args: [{ kind: 'not', args: [args[0]] }, args[1]] },
507
- ],
508
- }, false);
509
- case 'nand':
510
- // !(A nand B) => A & B
511
- return simplify({ kind: 'and', args: [args[0], args[1]] }, false);
512
- case 'nor':
513
- // !(A nor B) => A | B
514
- return simplify({ kind: 'or', args: [args[0], args[1]] }, false);
515
- case 'xor':
516
- // !(A xor B) => A <-> B
517
- return simplify({ kind: 'biconditional', args: [args[0], args[1]] }, false);
518
- case 'modal_necessity':
519
- return { kind: 'modal_possibility', args: [simplify(args[0], true)] };
520
- case 'modal_possibility':
521
- return { kind: 'modal_necessity', args: [simplify(args[0], true)] };
522
- case 'temporal_next':
523
- // ¬X(φ) ≡ X(¬φ) — next conmuta con negación en LTL
524
- return { kind: 'temporal_next', args: [simplify(args[0], true)] };
525
- case 'forall':
526
- return {
527
- kind: 'exists',
528
- variable: node.variable,
529
- args: [simplify(args[0], true)],
530
- };
531
- case 'exists':
532
- return {
533
- kind: 'forall',
534
- variable: node.variable,
535
- args: [simplify(args[0], true)],
536
- };
537
- }
538
- }
539
- return node;
540
- };
541
- return simplify(f, false);
542
- }
543
- function distributeOrOverAnd(f) {
544
- if (f.kind === 'or' && f.args?.[0] && f.args?.[1]) {
545
- const l = distributeOrOverAnd(f.args[0]);
546
- const r = distributeOrOverAnd(f.args[1]);
547
- if (l.kind === 'and' && l.args?.[0] && l.args?.[1]) {
548
- return {
549
- kind: 'and',
550
- args: [
551
- distributeOrOverAnd({ kind: 'or', args: [l.args[0], r] }),
552
- distributeOrOverAnd({ kind: 'or', args: [l.args[1], r] }),
553
- ],
554
- };
555
- }
556
- if (r.kind === 'and' && r.args?.[0] && r.args?.[1]) {
557
- return {
558
- kind: 'and',
559
- args: [
560
- distributeOrOverAnd({ kind: 'or', args: [l, r.args[0]] }),
561
- distributeOrOverAnd({ kind: 'or', args: [l, r.args[1]] }),
562
- ],
563
- };
564
- }
565
- return { kind: 'or', args: [l, r] };
566
- }
567
- if (f.args)
568
- return { ...f, args: f.args.map((a) => (a ? distributeOrOverAnd(a) : a)) };
569
- return f;
570
- }
571
- function toCNF(f) {
572
- return (0, memo_1.memoizeCNF)(f, (formula) => distributeOrOverAnd(toNNF(formula)));
573
- }
574
- function distributeAndOverOr(f) {
575
- if (f.kind === 'and' && f.args?.[0] && f.args?.[1]) {
576
- const l = distributeAndOverOr(f.args[0]);
577
- const r = distributeAndOverOr(f.args[1]);
578
- if (l.kind === 'or' && l.args?.[0] && l.args?.[1]) {
579
- return {
580
- kind: 'or',
581
- args: [
582
- distributeAndOverOr({ kind: 'and', args: [l.args[0], r] }),
583
- distributeAndOverOr({ kind: 'and', args: [l.args[1], r] }),
584
- ],
585
- };
586
- }
587
- if (r.kind === 'or' && r.args?.[0] && r.args?.[1]) {
588
- return {
589
- kind: 'or',
590
- args: [
591
- distributeAndOverOr({ kind: 'and', args: [l, r.args[0]] }),
592
- distributeAndOverOr({ kind: 'and', args: [l, r.args[1]] }),
593
- ],
594
- };
595
- }
596
- return { kind: 'and', args: [l, r] };
597
- }
598
- if (f.args)
599
- return { ...f, args: f.args.map((a) => (a ? distributeAndOverOr(a) : a)) };
600
- return f;
601
- }
602
- function toDNF(f) {
603
- return (0, memo_1.memoizeDNF)(f, (formula) => distributeAndOverOr(toNNF(formula)));
604
- }
605
- /**
606
- * Extracts clauses from a CNF formula for resolution analysis (#28)
607
- * Returns an array of clauses, where each clause is an array of literals.
608
- */
609
- function extractClauses(f) {
610
- const cnf = toCNF(f);
611
- const clauses = [];
612
- const extractClause = (node) => {
613
- if (node.kind === 'or') {
614
- const lits = [];
615
- for (const arg of node.args || []) {
616
- lits.push(...extractClause(arg));
617
- }
618
- return lits;
619
- }
620
- if (node.kind === 'not' && node.args?.[0]) {
621
- return [`¬${formulaToString(node.args[0])}`];
622
- }
623
- return [formulaToString(node)];
624
- };
625
- const extractClauses2 = (node) => {
626
- if (node.kind === 'and') {
627
- for (const arg of node.args || []) {
628
- extractClauses2(arg);
629
- }
630
- }
631
- else {
632
- clauses.push(extractClause(node));
633
- }
634
- };
635
- extractClauses2(cnf);
636
- return clauses;
637
- }
638
- function getSubFormulas(f) {
639
- const result = [];
640
- const seen = new Set();
641
- function walk(node) {
642
- if (node.args)
643
- node.args.forEach((a) => {
644
- if (a)
645
- walk(a);
646
- });
647
- const hash = formulaToString(node);
648
- if (!seen.has(hash)) {
649
- seen.add(hash);
650
- result.push(node);
651
- }
652
- }
653
- walk(f);
654
- // Remove atoms and the full formula itself
655
- return result.filter((n) => n.kind !== 'atom' && formulaToString(n) !== formulaToString(f));
656
- }
657
- /**
658
- * Igualdad estructural con alpha-equivalencia sobre variables cuantificadas.
659
- * Cubre átomos, predicados, cuantificadores (∀/∃), modales y constantes.
660
- */
661
- function formulasEqual(a, b) {
662
- return alphaEqualFormulas(a, b, new Map(), new Map());
663
- }
664
- function alphaEqualFormulas(a, b, bindA, bindB, depth = 0) {
665
- if (a.kind !== b.kind)
666
- return false;
667
- switch (a.kind) {
668
- case 'true':
669
- case 'false':
670
- return true;
671
- case 'atom': {
672
- const nameA = a.name;
673
- const nameB = b.name;
674
- if (nameA === undefined || nameB === undefined)
675
- return nameA === nameB;
676
- const bA = bindA.get(nameA);
677
- const bB = bindB.get(nameB);
678
- if (bA !== undefined || bB !== undefined)
679
- return bA === bB;
680
- return nameA === nameB;
681
- }
682
- case 'number':
683
- return a.value === b.value;
684
- case 'predicate': {
685
- if (a.name !== b.name)
686
- return false;
687
- const paramsA = a.params || a.terms || [];
688
- const paramsB = b.params || b.terms || [];
689
- if (paramsA.length !== paramsB.length)
690
- return false;
691
- for (let i = 0; i < paramsA.length; i++) {
692
- const pA = paramsA[i];
693
- const pB = paramsB[i];
694
- const bndA = bindA.get(pA);
695
- const bndB = bindB.get(pB);
696
- if (bndA !== undefined || bndB !== undefined) {
697
- if (bndA !== bndB)
698
- return false;
699
- }
700
- else if (pA !== pB) {
701
- return false;
702
- }
703
- }
704
- return true;
705
- }
706
- case 'forall':
707
- case 'exists': {
708
- const vA = a.variable;
709
- const vB = b.variable;
710
- if (!vA || !vB)
711
- return vA === vB;
712
- const innerA = a.args?.[0];
713
- const innerB = b.args?.[0];
714
- if (!innerA || !innerB)
715
- return false;
716
- const prevA = bindA.get(vA);
717
- const prevB = bindB.get(vB);
718
- bindA.set(vA, depth);
719
- bindB.set(vB, depth);
720
- const eq = alphaEqualFormulas(innerA, innerB, bindA, bindB, depth + 1);
721
- if (prevA === undefined)
722
- bindA.delete(vA);
723
- else
724
- bindA.set(vA, prevA);
725
- if (prevB === undefined)
726
- bindB.delete(vB);
727
- else
728
- bindB.set(vB, prevB);
729
- return eq;
730
- }
731
- case 'modal_necessity':
732
- case 'modal_possibility':
733
- case 'temporal_next':
734
- case 'temporal_until': {
735
- if (a.name !== b.name)
736
- return false;
737
- const argsA = a.args || [];
738
- const argsB = b.args || [];
739
- if (argsA.length !== argsB.length)
740
- return false;
741
- return argsA.every((arg, i) => alphaEqualFormulas(arg, argsB[i], bindA, bindB, depth));
742
- }
743
- default: {
744
- const argsA = a.args || [];
745
- const argsB = b.args || [];
746
- if (argsA.length !== argsB.length)
747
- return false;
748
- if (argsA.length === 0) {
749
- if (a.name !== b.name)
750
- return false;
751
- return a.value === b.value;
752
- }
753
- return argsA.every((arg, i) => alphaEqualFormulas(arg, argsB[i], bindA, bindB, depth));
754
- }
755
- }
756
- }
757
- // --- Motor de derivación ---
758
- /** Límite duro de fórmulas derivadas para evitar explosión combinatoria */
759
- const MAX_KNOWN = 5000;
760
- /** Profundidad máxima de negación en cualquier sub-fórmula */
761
- function maxNegationDepth(f) {
762
- if (f.kind === 'not' && f.args?.[0]) {
763
- return 1 + maxNegationDepth(f.args[0]);
764
- }
765
- if (f.args) {
766
- let max = 0;
767
- for (const a of f.args) {
768
- if (a) {
769
- const d = maxNegationDepth(a);
770
- if (d > max)
771
- max = d;
772
- }
773
- }
774
- return max;
775
- }
776
- return 0;
777
- }
778
- function formulaHash(f) {
779
- return formulaToString(f);
780
- }
781
- /** Check if a formula is a sub-formula of the goal (prevents explosive rule cascading) */
782
- function isRelevantToGoal(f, goal) {
783
- const goalHash = formulaHash(goal);
784
- const fHash = formulaHash(f);
785
- if (fHash === goalHash)
786
- return true;
787
- // Check if f appears as sub-formula of goal
788
- const checkSub = (node) => {
789
- if (formulaHash(node) === fHash)
790
- return true;
791
- if (node.args)
792
- return node.args.some(checkSub);
793
- return false;
794
- };
795
- return checkSub(goal);
796
- }
797
- function addDerivedFormula(state, formula, justification, premises, source = 'rule') {
798
- const hash = formulaHash(formula);
799
- if (state.known.has(hash)) {
800
- const variants = state.alternativeDerivations.get(hash) ?? [];
801
- const isDuplicate = variants.some((variant) => variant.justification === justification &&
802
- variant.source === source &&
803
- variant.premises.length === premises.length &&
804
- variant.premises.every((premise, index) => premise === premises[index]));
805
- if (!isDuplicate) {
806
- variants.push({ justification, premises: [...premises], source });
807
- state.alternativeDerivations.set(hash, variants);
808
- }
809
- return false;
810
- }
811
- state.stepCount++;
812
- state.steps.push({
813
- stepNumber: state.stepCount,
814
- formula,
815
- justification,
816
- premises,
817
- source,
818
- });
819
- state.known.set(hash, formula);
820
- state.formulas.push(formula);
821
- state.stepByHash.set(hash, state.stepCount);
822
- return true;
823
- }
824
- function buildPremiseRefs(theory, premiseNames) {
825
- return premiseNames.map((name) => ({
826
- name,
827
- location: (theory.axioms.get(name) || theory.theorems.get(name))?.source,
828
- }));
829
- }
830
- function buildProof(goal, steps, premiseNames, theory, method = 'natural_deduction', subproofs, metadataExtras = {}) {
831
- const metadata = {
832
- createdAt: new Date().toISOString(),
833
- profile: theory.profile,
834
- ...metadataExtras,
835
- };
836
- return {
837
- goal,
838
- steps,
839
- status: 'complete',
840
- derivedFrom: premiseNames,
841
- premiseRefs: buildPremiseRefs(theory, premiseNames),
842
- method,
843
- subproofs: subproofs ? [...subproofs] : undefined,
844
- metadata,
845
- };
846
- }
847
- function buildDerivationMetadata(state, retainedSteps, semanticFallback = false) {
848
- const sampledAlternatives = Array.from(state.alternativeDerivations.entries())
849
- .filter(([, variants]) => variants.length > 0)
850
- .sort((left, right) => right[1].length - left[1].length)
851
- .slice(0, 12)
852
- .map(([hash, variants]) => ({
853
- formula: hash,
854
- primaryStep: state.stepByHash.get(hash) ?? 0,
855
- variants: variants.slice(0, 6).map((variant) => ({
856
- justification: variant.justification,
857
- premises: [...variant.premises],
858
- source: variant.source,
859
- })),
860
- }));
861
- const alternativeDerivationCount = Array.from(state.alternativeDerivations.values()).reduce((count, variants) => count + variants.length, 0);
862
- return {
863
- exploredStepCount: state.steps.length,
864
- retainedStepCount: retainedSteps.length,
865
- uniqueFormulaCount: state.formulas.length,
866
- alternativeDerivationCount,
867
- alternativeDerivationSamples: sampledAlternatives,
868
- semanticFallback,
869
- };
870
- }
871
- function buildCompositeDerivationMetadata(state, retainedSteps, subProofs = [], semanticFallback = false) {
872
- const baseMetadata = buildDerivationMetadata(state, retainedSteps, semanticFallback);
873
- const baseExploredStepCount = Number(baseMetadata.exploredStepCount ?? 0);
874
- const baseAlternativeDerivationCount = Number(baseMetadata.alternativeDerivationCount ?? 0);
875
- const subExploredStepCount = subProofs.reduce((count, subProof) => {
876
- const subMetadata = subProof.metadata ?? {};
877
- const explored = Number(subMetadata.exploredStepCount ?? subProof.steps.length);
878
- return count + explored;
879
- }, 0);
880
- const subAlternativeDerivationCount = subProofs.reduce((count, subProof) => {
881
- const subMetadata = subProof.metadata ?? {};
882
- const alternatives = Number(subMetadata.alternativeDerivationCount ?? 0);
883
- return count + alternatives;
884
- }, 0);
885
- const exploredStepCount = baseExploredStepCount + subExploredStepCount;
886
- const alternativeDerivationCount = baseAlternativeDerivationCount + subAlternativeDerivationCount;
887
- return {
888
- ...baseMetadata,
889
- exploredStepCount,
890
- retainedStepCount: retainedSteps.length,
891
- alternativeDerivationCount,
892
- alternativeDerivationSamples: [],
893
- };
894
- }
895
- function isNegationOf(a, b) {
896
- return a.kind === 'not' && !!a.args?.[0] && formulasEqual(a.args[0], b);
897
- }
898
- function areComplementary(a, b) {
899
- return isNegationOf(a, b) || isNegationOf(b, a);
900
- }
901
- function isExcludedMiddleFormula(formula) {
902
- if (formula.kind !== 'or' || !formula.args?.[0] || !formula.args?.[1])
903
- return false;
904
- return (isNegationOf(formula.args[0], formula.args[1]) || isNegationOf(formula.args[1], formula.args[0]));
905
- }
906
- function buildSingleAssumptionProof(premiseSteps, assumption, assumptionJustification, subProof, goal, finalJustification) {
907
- const mainSteps = [];
908
- let stepNum = 0;
909
- for (const s of premiseSteps) {
910
- if (s.source === 'premise') {
911
- stepNum++;
912
- mainSteps.push({ ...s, stepNumber: stepNum, premises: [] });
913
- }
914
- }
915
- stepNum++;
916
- const assumptionStepNum = stepNum;
917
- mainSteps.push({
918
- stepNumber: stepNum,
919
- formula: assumption,
920
- justification: assumptionJustification,
921
- premises: [],
922
- source: 'assumption',
923
- });
924
- const subStepMap = new Map();
925
- for (const s of subProof.steps) {
926
- if (s.source === 'premise' && formulasEqual(s.formula, assumption)) {
927
- subStepMap.set(s.stepNumber, assumptionStepNum);
928
- continue;
929
- }
930
- if (s.source === 'premise') {
931
- const existing = mainSteps.find((ms) => ms.source === 'premise' && formulasEqual(ms.formula, s.formula));
932
- if (existing) {
933
- subStepMap.set(s.stepNumber, existing.stepNumber);
934
- continue;
935
- }
936
- }
937
- stepNum++;
938
- subStepMap.set(s.stepNumber, stepNum);
939
- mainSteps.push({
940
- stepNumber: stepNum,
941
- formula: s.formula,
942
- justification: s.justification,
943
- premises: s.premises.map((p) => subStepMap.get(p) || p),
944
- source: s.source,
945
- });
946
- }
947
- stepNum++;
948
- const subGoalStepNum = subStepMap.get(subProof.steps[subProof.steps.length - 1]?.stepNumber ?? 0) ?? stepNum - 1;
949
- mainSteps.push({
950
- stepNumber: stepNum,
951
- formula: goal,
952
- justification: finalJustification,
953
- premises: [assumptionStepNum, subGoalStepNum],
954
- subproofs: [subProof],
955
- source: 'rule',
956
- });
957
- return mainSteps;
958
- }
959
- function buildMergedGoalProof(premiseSteps, subProofs, goal, finalJustification) {
960
- const mainSteps = [];
961
- let stepNum = 0;
962
- const baseStepByHash = new Map();
963
- for (const s of premiseSteps) {
964
- if (s.source === 'premise') {
965
- stepNum++;
966
- mainSteps.push({ ...s, stepNumber: stepNum, premises: [] });
967
- baseStepByHash.set(formulaHash(s.formula), stepNum);
968
- }
969
- }
970
- const finalPremises = [];
971
- for (const subProof of subProofs) {
972
- const stepMap = new Map();
973
- for (const s of subProof.steps) {
974
- const hash = formulaHash(s.formula);
975
- if (s.source === 'premise' && baseStepByHash.has(hash)) {
976
- stepMap.set(s.stepNumber, baseStepByHash.get(hash) ?? 0);
977
- continue;
978
- }
979
- if (s.source !== 'assumption' && baseStepByHash.has(hash)) {
980
- stepMap.set(s.stepNumber, baseStepByHash.get(hash) ?? 0);
981
- continue;
982
- }
983
- stepNum++;
984
- stepMap.set(s.stepNumber, stepNum);
985
- mainSteps.push({
986
- stepNumber: stepNum,
987
- formula: s.formula,
988
- justification: s.justification,
989
- premises: s.premises.map((p) => stepMap.get(p) || p),
990
- subproofs: s.subproofs ? [...s.subproofs] : undefined,
991
- source: s.source,
992
- });
993
- if (s.source !== 'assumption') {
994
- baseStepByHash.set(hash, stepNum);
995
- }
996
- }
997
- const mappedFinal = stepMap.get(subProof.steps[subProof.steps.length - 1]?.stepNumber ?? 0);
998
- if (mappedFinal)
999
- finalPremises.push(mappedFinal);
1000
- }
1001
- stepNum++;
1002
- mainSteps.push({
1003
- stepNumber: stepNum,
1004
- formula: goal,
1005
- justification: finalJustification,
1006
- premises: finalPremises,
1007
- subproofs: subProofs,
1008
- source: 'rule',
1009
- });
1010
- return mainSteps;
1011
- }
1012
- function buildKnownDerivationProof(state, formula, premiseNames, theory) {
1013
- const relevantSteps = traceBack(state.steps, formula);
1014
- return buildProof(formula, relevantSteps, premiseNames, theory, 'natural_deduction', undefined, buildDerivationMetadata(state, relevantSteps));
1015
- }
1016
- function getCommutativeVariant(formula) {
1017
- if ((formula.kind === 'and' || formula.kind === 'or') && formula.args?.[0] && formula.args?.[1]) {
1018
- return { kind: formula.kind, args: [formula.args[1], formula.args[0]] };
1019
- }
1020
- return null;
1021
- }
1022
- function getAssociativeVariants(formula) {
1023
- const variants = [];
1024
- if ((formula.kind === 'and' || formula.kind === 'or') && formula.args?.[0] && formula.args?.[1]) {
1025
- const [left, right] = formula.args;
1026
- if (left.kind === formula.kind && left.args?.[0] && left.args?.[1]) {
1027
- variants.push({
1028
- kind: formula.kind,
1029
- args: [left.args[0], { kind: formula.kind, args: [left.args[1], right] }],
1030
- });
1031
- }
1032
- if (right.kind === formula.kind && right.args?.[0] && right.args?.[1]) {
1033
- variants.push({
1034
- kind: formula.kind,
1035
- args: [{ kind: formula.kind, args: [left, right.args[0]] }, right.args[1]],
1036
- });
1037
- }
1038
- }
1039
- return variants;
1040
- }
1041
- function getAbsorptionResult(formula) {
1042
- if (formula.kind === 'and' && formula.args?.[0] && formula.args?.[1]) {
1043
- const [left, right] = formula.args;
1044
- if (right.kind === 'or' && right.args?.some((arg) => formulasEqual(arg, left)))
1045
- return left;
1046
- if (left.kind === 'or' && left.args?.some((arg) => formulasEqual(arg, right)))
1047
- return right;
1048
- }
1049
- if (formula.kind === 'or' && formula.args?.[0] && formula.args?.[1]) {
1050
- const [left, right] = formula.args;
1051
- if (right.kind === 'and' && right.args?.some((arg) => formulasEqual(arg, left)))
1052
- return left;
1053
- if (left.kind === 'and' && left.args?.some((arg) => formulasEqual(arg, right)))
1054
- return right;
1055
- }
1056
- return null;
1057
- }
1058
- function tryDerive(goal, theory, premiseNames, depth = 0) {
1059
- const state = {
1060
- known: new Map(),
1061
- formulas: [],
1062
- steps: [],
1063
- stepCount: 0,
1064
- stepByHash: new Map(),
1065
- alternativeDerivations: new Map(),
1066
- };
1067
- // Cargar premisas
1068
- for (const name of premiseNames) {
1069
- let f = theory.axioms.get(name) || theory.theorems.get(name);
1070
- // Fallback: if name not found directly, search for an axiom/theorem whose formula
1071
- // matches the bare atom name (e.g., premise "Q" matches a theorem whose formula is atom Q)
1072
- if (!f) {
1073
- for (const [, formula] of theory.axioms) {
1074
- if (formula.kind === 'atom' && formula.name === name) {
1075
- f = formula;
1076
- break;
1077
- }
1078
- }
1079
- if (!f) {
1080
- for (const [, formula] of theory.theorems) {
1081
- if (formula.kind === 'atom' && formula.name === name) {
1082
- f = formula;
1083
- break;
1084
- }
1085
- }
1086
- }
1087
- }
1088
- if (f) {
1089
- state.stepCount++;
1090
- state.steps.push({
1091
- stepNumber: state.stepCount,
1092
- formula: f,
1093
- justification: `Premisa (${name})`,
1094
- premises: [],
1095
- source: 'premise',
1096
- });
1097
- state.known.set(formulaHash(f), f);
1098
- state.formulas.push(f);
1099
- state.stepByHash.set(formulaHash(f), state.stepCount);
1100
- }
1101
- }
1102
- if (isExcludedMiddleFormula(goal)) {
1103
- addDerivedFormula(state, goal, 'Tercero excluido', []);
1104
- }
1105
- // Intentar derivar con BFS aplicando reglas (optimizado)
1106
- const maxIterations = 1000;
1107
- let changed = true;
1108
- let iterations = 0;
1109
- let lastProcessedIndex = 0;
1110
- while (changed && iterations < maxIterations && state.known.size < MAX_KNOWN) {
1111
- changed = false;
1112
- iterations++;
1113
- const currentFormulas = state.formulas;
1114
- const prevProcessedIndex = lastProcessedIndex;
1115
- lastProcessedIndex = currentFormulas.length;
1116
- for (let i = 0; i < currentFormulas.length; i++) {
1117
- const f1 = currentFormulas[i];
1118
- if (state.known.has(formulaHash(goal)))
1119
- break;
1120
- for (let j = 0; j < currentFormulas.length; j++) {
1121
- // Optimización crucial O(N^2 -> N): ignorar pares antiguos
1122
- if (i < prevProcessedIndex && j < prevProcessedIndex)
1123
- continue;
1124
- const f2 = currentFormulas[j];
1125
- if (state.known.has(formulaHash(goal)))
1126
- break;
1127
- // Contradicción explícita: de A y !A, derivar false (⊥)
1128
- if ((f1.kind === 'not' && f1.args?.[0] && formulasEqual(f1.args[0], f2)) ||
1129
- (f2.kind === 'not' && f2.args?.[0] && formulasEqual(f2.args[0], f1))) {
1130
- changed =
1131
- addDerivedFormula(state, { kind: 'false' }, 'Contradiccion', [
1132
- findStep(state.steps, f1),
1133
- findStep(state.steps, f2),
1134
- ]) || changed;
1135
- }
1136
- // Modus Ponens: de A y (A -> B), derivar B
1137
- if (f2.kind === 'implies' &&
1138
- f2.args?.[0] &&
1139
- f2.args?.[1] &&
1140
- formulasEqual(f2.args[0], f1)) {
1141
- const conclusion = f2.args[1];
1142
- const s1 = findStep(state.steps, f1);
1143
- const s2 = findStep(state.steps, f2);
1144
- changed = addDerivedFormula(state, conclusion, 'Modus Ponens', [s1, s2]) || changed;
1145
- }
1146
- // Modus Ponens inverso: de (A -> B) y A, derivar B
1147
- if (f1.kind === 'implies' &&
1148
- f1.args?.[0] &&
1149
- f1.args?.[1] &&
1150
- formulasEqual(f1.args[0], f2)) {
1151
- const conclusion = f1.args[1];
1152
- const s1 = findStep(state.steps, f1);
1153
- const s2 = findStep(state.steps, f2);
1154
- changed = addDerivedFormula(state, conclusion, 'Modus Ponens', [s1, s2]) || changed;
1155
- }
1156
- // Modus Tollens: de !B y (A -> B), derivar !A
1157
- if (f1.kind === 'not' &&
1158
- f1.args?.[0] &&
1159
- f2.kind === 'implies' &&
1160
- f2.args?.[1] &&
1161
- f2.args?.[0] &&
1162
- formulasEqual(f1.args[0], f2.args[1])) {
1163
- const conclusion = { kind: 'not', args: [f2.args[0]] };
1164
- changed =
1165
- addDerivedFormula(state, conclusion, 'Modus Tollens', [
1166
- findStep(state.steps, f1),
1167
- findStep(state.steps, f2),
1168
- ]) || changed;
1169
- }
1170
- // Modus Tollens con consecuente negado: de B y (A -> !B), derivar !A
1171
- if (f2.kind === 'implies' &&
1172
- f2.args?.[0] &&
1173
- f2.args?.[1]?.kind === 'not' &&
1174
- f2.args[1].args?.[0] &&
1175
- formulasEqual(f1, f2.args[1].args[0])) {
1176
- const conclusion = { kind: 'not', args: [f2.args[0]] };
1177
- changed =
1178
- addDerivedFormula(state, conclusion, 'Modus Tollens', [
1179
- findStep(state.steps, f1),
1180
- findStep(state.steps, f2),
1181
- ]) || changed;
1182
- }
1183
- // Conjunction Introduction: de A y B, derivar A & B
1184
- // Only produce conjunctions that are relevant to the goal to avoid O(n²) explosion
1185
- if (f1 !== f2) {
1186
- const conj = { kind: 'and', args: [f1, f2] };
1187
- if (formulasEqual(conj, goal) || isRelevantToGoal(conj, goal)) {
1188
- changed =
1189
- addDerivedFormula(state, conj, 'Introduccion de conjuncion', [
1190
- findStep(state.steps, f1),
1191
- findStep(state.steps, f2),
1192
- ]) || changed;
1193
- }
1194
- }
1195
- // Silogismo hipotético: de (A -> B) y (B -> C), derivar (A -> C)
1196
- if (f1.kind === 'implies' &&
1197
- f2.kind === 'implies' &&
1198
- f1.args?.[0] &&
1199
- f1.args?.[1] &&
1200
- f2.args?.[0] &&
1201
- f2.args?.[1] &&
1202
- formulasEqual(f1.args[1], f2.args[0])) {
1203
- const chained = { kind: 'implies', args: [f1.args[0], f2.args[1]] };
1204
- changed =
1205
- addDerivedFormula(state, chained, 'Silogismo hipotetico', [
1206
- findStep(state.steps, f1),
1207
- findStep(state.steps, f2),
1208
- ]) || changed;
1209
- }
1210
- // Silogismo disyuntivo: de (A | B) y un complemento de A, derivar B /
1211
- // de un complemento de B, derivar A.
1212
- // Esto cubre tanto !A como fórmulas positivas que complementan un disyunto negado
1213
- // (p. ej. Q complementa a !Q).
1214
- if (f1.kind === 'or' && f1.args?.[0] && f1.args?.[1]) {
1215
- if (areComplementary(f1.args[0], f2)) {
1216
- changed =
1217
- addDerivedFormula(state, f1.args[1], 'Silogismo disyuntivo', [
1218
- findStep(state.steps, f1),
1219
- findStep(state.steps, f2),
1220
- ]) || changed;
1221
- }
1222
- if (areComplementary(f1.args[1], f2)) {
1223
- changed =
1224
- addDerivedFormula(state, f1.args[0], 'Silogismo disyuntivo', [
1225
- findStep(state.steps, f1),
1226
- findStep(state.steps, f2),
1227
- ]) || changed;
1228
- }
1229
- }
1230
- // Introducción de bicondicional: de (A -> B) y (B -> A), derivar (A <-> B)
1231
- if (f1.kind === 'implies' &&
1232
- f2.kind === 'implies' &&
1233
- f1.args?.[0] &&
1234
- f1.args?.[1] &&
1235
- f2.args?.[0] &&
1236
- f2.args?.[1] &&
1237
- formulasEqual(f1.args[0], f2.args[1]) &&
1238
- formulasEqual(f1.args[1], f2.args[0])) {
1239
- const biconditional = {
1240
- kind: 'biconditional',
1241
- args: [f1.args[0], f1.args[1]],
1242
- };
1243
- changed =
1244
- addDerivedFormula(state, biconditional, 'Introduccion de bicondicional', [
1245
- findStep(state.steps, f1),
1246
- findStep(state.steps, f2),
1247
- ]) || changed;
1248
- }
1249
- // Dilema Constructivo: de (P->Q)&(R->S) y P|R derivar Q|S
1250
- if (f1.kind === 'and' &&
1251
- f1.args?.[0]?.kind === 'implies' &&
1252
- f1.args?.[1]?.kind === 'implies' &&
1253
- f2.kind === 'or' &&
1254
- f2.args?.[0] &&
1255
- f2.args?.[1] &&
1256
- formulasEqual(f1.args[0].args[0], f2.args[0]) &&
1257
- formulasEqual(f1.args[1].args[0], f2.args[1])) {
1258
- const qs = {
1259
- kind: 'or',
1260
- args: [f1.args[0].args[1], f1.args[1].args[1]],
1261
- };
1262
- changed =
1263
- addDerivedFormula(state, qs, 'Dilema Constructivo', [
1264
- findStep(state.steps, f1),
1265
- findStep(state.steps, f2),
1266
- ]) || changed;
1267
- }
1268
- // Dilema Destructivo: de (P->Q)&(R->S) y !Q|!S derivar !P|!R
1269
- if (f1.kind === 'and' &&
1270
- f1.args?.[0]?.kind === 'implies' &&
1271
- f1.args?.[1]?.kind === 'implies' &&
1272
- f2.kind === 'or' &&
1273
- f2.args?.[0]?.kind === 'not' &&
1274
- f2.args?.[1]?.kind === 'not' &&
1275
- formulasEqual(f1.args[0].args[1], f2.args[0].args[0]) &&
1276
- formulasEqual(f1.args[1].args[1], f2.args[1].args[0])) {
1277
- const npnr = {
1278
- kind: 'or',
1279
- args: [
1280
- { kind: 'not', args: [f1.args[0].args[0]] },
1281
- { kind: 'not', args: [f1.args[1].args[0]] },
1282
- ],
1283
- };
1284
- changed =
1285
- addDerivedFormula(state, npnr, 'Dilema Destructivo', [
1286
- findStep(state.steps, f1),
1287
- findStep(state.steps, f2),
1288
- ]) || changed;
1289
- }
1290
- // Dilema simple: P|Q, P->R, Q->R derivar R
1291
- if (f1.kind === 'or' &&
1292
- f1.args?.[0] &&
1293
- f1.args?.[1] &&
1294
- f2.kind === 'implies' &&
1295
- f2.args?.[0] &&
1296
- formulasEqual(f1.args[0], f2.args[0])) {
1297
- for (let k = 0; k < currentFormulas.length; k++) {
1298
- if (i < prevProcessedIndex && j < prevProcessedIndex && k < prevProcessedIndex)
1299
- continue;
1300
- const f3 = currentFormulas[k];
1301
- if (f3.kind === 'implies' &&
1302
- f3.args?.[0] &&
1303
- f3.args?.[1] &&
1304
- formulasEqual(f1.args[1], f3.args[0]) &&
1305
- formulasEqual(f2.args[1], f3.args[1])) {
1306
- changed =
1307
- addDerivedFormula(state, f2.args[1], 'Dilema Simple', [
1308
- findStep(state.steps, f1),
1309
- findStep(state.steps, f2),
1310
- findStep(state.steps, f3),
1311
- ]) || changed;
1312
- break; // solo una vez por par f1,f2
1313
- }
1314
- }
1315
- }
1316
- // Dilema Constructivo (implicaciones separadas): P->Q, R->S, P|R ⊢ Q|S
1317
- // No requiere que las implicaciones estén en conjunción
1318
- if (f1.kind === 'implies' &&
1319
- f1.args?.[0] &&
1320
- f1.args?.[1] &&
1321
- f2.kind === 'implies' &&
1322
- f2.args?.[0] &&
1323
- f2.args?.[1] &&
1324
- !formulasEqual(f1, f2)) {
1325
- // Search for a disjunction P|R in known formulas
1326
- const p = f1.args[0];
1327
- const q = f1.args[1];
1328
- const r = f2.args[0];
1329
- const s = f2.args[1];
1330
- const disjHash = formulaHash({ kind: 'or', args: [p, r] });
1331
- const disjHashRev = formulaHash({ kind: 'or', args: [r, p] });
1332
- if (state.known.has(disjHash) || state.known.has(disjHashRev)) {
1333
- const qs = { kind: 'or', args: [q, s] };
1334
- const disjFormula = state.known.get(disjHash) ?? state.known.get(disjHashRev);
1335
- if (!disjFormula)
1336
- continue;
1337
- changed =
1338
- addDerivedFormula(state, qs, 'Dilema Constructivo', [
1339
- findStep(state.steps, f1),
1340
- findStep(state.steps, f2),
1341
- findStep(state.steps, disjFormula),
1342
- ]) || changed;
1343
- }
1344
- }
1345
- // Resolución: P|Q, !P|R derivar Q|R
1346
- if (f1.kind === 'or' &&
1347
- f1.args?.[0] &&
1348
- f1.args?.[1] &&
1349
- f2.kind === 'or' &&
1350
- f2.args?.[0] &&
1351
- f2.args?.[1]) {
1352
- if (f2.args[0].kind === 'not' &&
1353
- f2.args[0].args?.[0] &&
1354
- formulasEqual(f1.args[0], f2.args[0].args[0])) {
1355
- const qr = { kind: 'or', args: [f1.args[1], f2.args[1]] };
1356
- changed =
1357
- addDerivedFormula(state, qr, 'Resolucion', [
1358
- findStep(state.steps, f1),
1359
- findStep(state.steps, f2),
1360
- ]) || changed;
1361
- }
1362
- }
1363
- // Explosión: de A y !A, derivar la meta solicitada
1364
- if (goal &&
1365
- ((f1.kind === 'not' && f1.args?.[0] && formulasEqual(f1.args[0], f2)) ||
1366
- (f2.kind === 'not' && f2.args?.[0] && formulasEqual(f2.args[0], f1)))) {
1367
- changed =
1368
- addDerivedFormula(state, goal, 'Explosion', [
1369
- findStep(state.steps, f1),
1370
- findStep(state.steps, f2),
1371
- ]) || changed;
1372
- }
1373
- }
1374
- // Eliminación de contradicción: de false (⊥), derivar cualquier meta
1375
- if (f1.kind === 'false' && !formulasEqual(f1, goal)) {
1376
- changed =
1377
- addDerivedFormula(state, goal, 'Explosion', [findStep(state.steps, f1)]) || changed;
1378
- }
1379
- // Conjunction Elimination: de A & B, derivar A y B
1380
- if (f1.kind === 'and' && f1.args) {
1381
- for (const sub of f1.args) {
1382
- changed =
1383
- addDerivedFormula(state, sub, 'Eliminacion de conjuncion', [
1384
- findStep(state.steps, f1),
1385
- ]) || changed;
1386
- }
1387
- }
1388
- const commutative = getCommutativeVariant(f1);
1389
- if (commutative && isRelevantToGoal(commutative, goal)) {
1390
- changed =
1391
- addDerivedFormula(state, commutative, 'Conmutatividad', [findStep(state.steps, f1)]) ||
1392
- changed;
1393
- }
1394
- for (const associative of getAssociativeVariants(f1)) {
1395
- if (isRelevantToGoal(associative, goal)) {
1396
- changed =
1397
- addDerivedFormula(state, associative, 'Asociatividad', [findStep(state.steps, f1)]) ||
1398
- changed;
1399
- }
1400
- }
1401
- if ((f1.kind === 'and' || f1.kind === 'or') &&
1402
- f1.args?.[0] &&
1403
- f1.args?.[1] &&
1404
- formulasEqual(f1.args[0], f1.args[1])) {
1405
- changed =
1406
- addDerivedFormula(state, f1.args[0], 'Idempotencia', [findStep(state.steps, f1)]) ||
1407
- changed;
1408
- }
1409
- const absorbed = getAbsorptionResult(f1);
1410
- if (absorbed) {
1411
- changed =
1412
- addDerivedFormula(state, absorbed, 'Absorcion', [findStep(state.steps, f1)]) || changed;
1413
- }
1414
- // Disjunction Introduction: de A, derivar A | B
1415
- // Relaxed: also allow intermediate disjunctions that are relevant to goal
1416
- if (goal.kind === 'or' && goal.args?.[0] && goal.args?.[1]) {
1417
- if (formulasEqual(f1, goal.args[0]) || formulasEqual(f1, goal.args[1])) {
1418
- changed =
1419
- addDerivedFormula(state, goal, 'Introduccion de disyuncion', [
1420
- findStep(state.steps, f1),
1421
- ]) || changed;
1422
- }
1423
- }
1424
- // Also check if f1 can form a disjunction relevant to some intermediate goal
1425
- if (goal.kind !== 'or') {
1426
- // If the goal is e.g. (A|B) -> C, and we have A, generate A|B as intermediate
1427
- const checkDisjGoals = (g) => {
1428
- if (g.kind === 'or' && g.args?.[0] && g.args?.[1]) {
1429
- if (formulasEqual(f1, g.args[0]) || formulasEqual(f1, g.args[1])) {
1430
- const disj = { kind: 'or', args: [g.args[0], g.args[1]] };
1431
- changed =
1432
- addDerivedFormula(state, disj, 'Introduccion de disyuncion', [
1433
- findStep(state.steps, f1),
1434
- ]) || changed;
1435
- }
1436
- }
1437
- g.args?.forEach(checkDisjGoals);
1438
- };
1439
- checkDisjGoals(goal);
1440
- }
1441
- // Double Negation Elimination: de !!A, derivar A
1442
- if (f1.kind === 'not' && f1.args?.[0]?.kind === 'not' && f1.args[0].args?.[0]) {
1443
- const inner = f1.args[0].args[0];
1444
- changed =
1445
- addDerivedFormula(state, inner, 'Doble negacion', [findStep(state.steps, f1)]) || changed;
1446
- }
1447
- // Double Negation Introduction: de A, derivar !!A solo si es la meta
1448
- const doubleNegation = { kind: 'not', args: [{ kind: 'not', args: [f1] }] };
1449
- if (formulasEqual(doubleNegation, goal)) {
1450
- changed =
1451
- addDerivedFormula(state, doubleNegation, 'Introduccion de doble negacion', [
1452
- findStep(state.steps, f1),
1453
- ]) || changed;
1454
- }
1455
- // Weakening (Debilitamiento): si la meta es A -> B y ya conocemos B,
1456
- // entonces A -> B es válida (B ⊢ A -> B en lógica clásica).
1457
- if (goal.kind === 'implies' &&
1458
- goal.args?.[0] &&
1459
- goal.args?.[1] &&
1460
- formulasEqual(goal.args[1], f1)) {
1461
- changed =
1462
- addDerivedFormula(state, goal, 'Debilitamiento (B ⊢ A → B)', [
1463
- findStep(state.steps, f1),
1464
- ]) || changed;
1465
- }
1466
- // Implicación material (→ a ∨): de A->B, derivar !A|B
1467
- if (f1.kind === 'implies' && f1.args?.[0] && f1.args?.[1]) {
1468
- const matImpl = {
1469
- kind: 'or',
1470
- args: [{ kind: 'not', args: [f1.args[0]] }, f1.args[1]],
1471
- };
1472
- if (isRelevantToGoal(matImpl, goal)) {
1473
- changed =
1474
- addDerivedFormula(state, matImpl, 'Implicacion material (→ a ∨)', [
1475
- findStep(state.steps, f1),
1476
- ]) || changed;
1477
- }
1478
- }
1479
- // Implicación material inversa (∨ a →): de !A|B, derivar A->B
1480
- if (f1.kind === 'or' &&
1481
- f1.args?.[0]?.kind === 'not' &&
1482
- f1.args[0].args?.[0] &&
1483
- f1.args?.[1]) {
1484
- const impl = {
1485
- kind: 'implies',
1486
- args: [f1.args[0].args[0], f1.args[1]],
1487
- };
1488
- if (isRelevantToGoal(impl, goal)) {
1489
- changed =
1490
- addDerivedFormula(state, impl, 'Implicacion material (∨ a →)', [
1491
- findStep(state.steps, f1),
1492
- ]) || changed;
1493
- }
1494
- }
1495
- // Contraposition: de A->B, derivar !B->!A
1496
- // Restringir a fórmulas con profundidad de negación baja para evitar
1497
- // cadenas infinitas de contrapositivas (!!A→!!B → !!!B→!!!A → ...)
1498
- if (f1.kind === 'implies' &&
1499
- f1.args?.[0] &&
1500
- f1.args?.[1] &&
1501
- maxNegationDepth(f1) < 2 &&
1502
- state.known.size < MAX_KNOWN) {
1503
- const contra = {
1504
- kind: 'implies',
1505
- args: [
1506
- { kind: 'not', args: [f1.args[1]] },
1507
- { kind: 'not', args: [f1.args[0]] },
1508
- ],
1509
- };
1510
- changed =
1511
- addDerivedFormula(state, contra, 'Contraposicion', [findStep(state.steps, f1)]) ||
1512
- changed;
1513
- }
1514
- // Biconditional Elimination: de A<->B, derivar A->B y B->A
1515
- if (f1.kind === 'biconditional' && f1.args?.[0] && f1.args?.[1]) {
1516
- const ab = { kind: 'implies', args: [f1.args[0], f1.args[1]] };
1517
- const ba = { kind: 'implies', args: [f1.args[1], f1.args[0]] };
1518
- for (const impl of [ab, ba]) {
1519
- changed =
1520
- addDerivedFormula(state, impl, 'Eliminacion de bicondicional', [
1521
- findStep(state.steps, f1),
1522
- ]) || changed;
1523
- }
1524
- }
1525
- // Absorción: P->Q ⊢ P->(P&Q) — SOLO si resultado es relevante al goal
1526
- if (f1.kind === 'implies' && f1.args?.[0] && f1.args?.[1]) {
1527
- const abs = {
1528
- kind: 'implies',
1529
- args: [f1.args[0], { kind: 'and', args: [f1.args[0], f1.args[1]] }],
1530
- };
1531
- if (isRelevantToGoal(abs, goal)) {
1532
- changed =
1533
- addDerivedFormula(state, abs, 'Absorcion', [findStep(state.steps, f1)]) || changed;
1534
- }
1535
- }
1536
- // Exportación: (P&Q)->R ⊢ P->(Q->R) — SOLO si resultado es relevante al goal
1537
- if (f1.kind === 'implies' &&
1538
- f1.args?.[0]?.kind === 'and' &&
1539
- f1.args[0].args?.[0] &&
1540
- f1.args[0].args?.[1] &&
1541
- f1.args?.[1]) {
1542
- const exp = {
1543
- kind: 'implies',
1544
- args: [f1.args[0].args[0], { kind: 'implies', args: [f1.args[0].args[1], f1.args[1]] }],
1545
- };
1546
- if (isRelevantToGoal(exp, goal)) {
1547
- changed =
1548
- addDerivedFormula(state, exp, 'Exportacion', [findStep(state.steps, f1)]) || changed;
1549
- }
1550
- }
1551
- // Importación: P->(Q->R) ⊢ (P&Q)->R — SOLO si resultado es relevante al goal
1552
- if (f1.kind === 'implies' &&
1553
- f1.args?.[0] &&
1554
- f1.args?.[1]?.kind === 'implies' &&
1555
- f1.args[1].args?.[0] &&
1556
- f1.args[1].args?.[1]) {
1557
- const imp = {
1558
- kind: 'implies',
1559
- args: [{ kind: 'and', args: [f1.args[0], f1.args[1].args[0]] }, f1.args[1].args[1]],
1560
- };
1561
- if (isRelevantToGoal(imp, goal)) {
1562
- changed =
1563
- addDerivedFormula(state, imp, 'Importacion', [findStep(state.steps, f1)]) || changed;
1564
- }
1565
- }
1566
- // De Morgan 1: !(P&Q) ⊢ !P|!Q
1567
- if (f1.kind === 'not' &&
1568
- f1.args?.[0]?.kind === 'and' &&
1569
- f1.args[0].args?.[0] &&
1570
- f1.args[0].args?.[1]) {
1571
- const dm1 = {
1572
- kind: 'or',
1573
- args: [
1574
- { kind: 'not', args: [f1.args[0].args[0]] },
1575
- { kind: 'not', args: [f1.args[0].args[1]] },
1576
- ],
1577
- };
1578
- changed =
1579
- addDerivedFormula(state, dm1, 'De Morgan (AND)', [findStep(state.steps, f1)]) || changed;
1580
- }
1581
- // De Morgan 2: !(P|Q) ⊢ !P&!Q
1582
- if (f1.kind === 'not' &&
1583
- f1.args?.[0]?.kind === 'or' &&
1584
- f1.args[0].args?.[0] &&
1585
- f1.args[0].args?.[1]) {
1586
- const dm2 = {
1587
- kind: 'and',
1588
- args: [
1589
- { kind: 'not', args: [f1.args[0].args[0]] },
1590
- { kind: 'not', args: [f1.args[0].args[1]] },
1591
- ],
1592
- };
1593
- changed =
1594
- addDerivedFormula(state, dm2, 'De Morgan (OR)', [findStep(state.steps, f1)]) || changed;
1595
- }
1596
- // Distribución 1: P & (Q | R) ⊢ (P & Q) | (P & R)
1597
- if (f1.kind === 'and' &&
1598
- f1.args?.[0] &&
1599
- f1.args?.[1]?.kind === 'or' &&
1600
- f1.args[1].args?.[0] &&
1601
- f1.args[1].args?.[1]) {
1602
- const dist = {
1603
- kind: 'or',
1604
- args: [
1605
- { kind: 'and', args: [f1.args[0], f1.args[1].args[0]] },
1606
- { kind: 'and', args: [f1.args[0], f1.args[1].args[1]] },
1607
- ],
1608
- };
1609
- changed =
1610
- addDerivedFormula(state, dist, 'Distribucion (AND sobre OR)', [
1611
- findStep(state.steps, f1),
1612
- ]) || changed;
1613
- }
1614
- // Distribución 1b: (Q | R) & P ⊢ (Q & P) | (R & P)
1615
- if (f1.kind === 'and' &&
1616
- f1.args?.[0]?.kind === 'or' &&
1617
- f1.args[0].args?.[0] &&
1618
- f1.args[0].args?.[1] &&
1619
- f1.args?.[1]) {
1620
- const dist = {
1621
- kind: 'or',
1622
- args: [
1623
- { kind: 'and', args: [f1.args[0].args[0], f1.args[1]] },
1624
- { kind: 'and', args: [f1.args[0].args[1], f1.args[1]] },
1625
- ],
1626
- };
1627
- changed =
1628
- addDerivedFormula(state, dist, 'Distribucion (AND sobre OR)', [
1629
- findStep(state.steps, f1),
1630
- ]) || changed;
1631
- }
1632
- // Distribución 2: P | (Q & R) ⊢ (P | Q) & (P | R)
1633
- if (f1.kind === 'or' &&
1634
- f1.args?.[0] &&
1635
- f1.args?.[1]?.kind === 'and' &&
1636
- f1.args[1].args?.[0] &&
1637
- f1.args[1].args?.[1]) {
1638
- const dist = {
1639
- kind: 'and',
1640
- args: [
1641
- { kind: 'or', args: [f1.args[0], f1.args[1].args[0]] },
1642
- { kind: 'or', args: [f1.args[0], f1.args[1].args[1]] },
1643
- ],
1644
- };
1645
- if (isRelevantToGoal(dist, goal)) {
1646
- changed =
1647
- addDerivedFormula(state, dist, 'Distribucion (OR sobre AND)', [
1648
- findStep(state.steps, f1),
1649
- ]) || changed;
1650
- }
1651
- }
1652
- // Distribución 2b: (Q & R) | P ⊢ (Q | P) & (R | P)
1653
- if (f1.kind === 'or' &&
1654
- f1.args?.[0]?.kind === 'and' &&
1655
- f1.args[0].args?.[0] &&
1656
- f1.args[0].args?.[1] &&
1657
- f1.args?.[1]) {
1658
- const dist = {
1659
- kind: 'and',
1660
- args: [
1661
- { kind: 'or', args: [f1.args[0].args[0], f1.args[1]] },
1662
- { kind: 'or', args: [f1.args[0].args[1], f1.args[1]] },
1663
- ],
1664
- };
1665
- if (isRelevantToGoal(dist, goal)) {
1666
- changed =
1667
- addDerivedFormula(state, dist, 'Distribucion (OR sobre AND)', [
1668
- findStep(state.steps, f1),
1669
- ]) || changed;
1670
- }
1671
- }
1672
- // RAA (Reductio ad Absurdum) #29:
1673
- // Si tenemos P→Q y P→¬Q (o ¬Q→P y Q→P), derivar ¬P
1674
- if (f1.kind === 'implies' && f1.args?.[0] && f1.args?.[1]) {
1675
- for (let j = 0; j < currentFormulas.length; j++) {
1676
- if (i < prevProcessedIndex && j < prevProcessedIndex)
1677
- continue;
1678
- const f2 = currentFormulas[j];
1679
- if (f2.kind === 'implies' &&
1680
- f2.args?.[0] &&
1681
- f2.args?.[1] &&
1682
- formulasEqual(f1.args[0], f2.args[0])) {
1683
- // P→Q and P→¬Q => ¬P
1684
- if (f2.args[1].kind === 'not' &&
1685
- f2.args[1].args?.[0] &&
1686
- formulasEqual(f1.args[1], f2.args[1].args[0])) {
1687
- const negP = { kind: 'not', args: [f1.args[0]] };
1688
- changed =
1689
- addDerivedFormula(state, negP, 'Reduccion al Absurdo (RAA)', [
1690
- findStep(state.steps, f1),
1691
- findStep(state.steps, f2),
1692
- ]) || changed;
1693
- }
1694
- }
1695
- }
1696
- }
1697
- // Prueba Condicional (#30):
1698
- // Si el goal es A→B y tenemos A entre las premisas/conocidas,
1699
- // y derivamos B, entonces obtenemos A→B
1700
- if (goal.kind === 'implies' &&
1701
- goal.args?.[0] &&
1702
- goal.args?.[1] &&
1703
- formulasEqual(f1, goal.args[1])) {
1704
- // We have B derived, and goal is A→B
1705
- if (state.known.has(formulaHash(goal.args[0]))) {
1706
- // We also have A, so A→B via Prueba Condicional
1707
- changed =
1708
- addDerivedFormula(state, goal, 'Prueba Condicional', [
1709
- findStep(state.steps, goal.args[0]),
1710
- findStep(state.steps, f1),
1711
- ]) || changed;
1712
- }
1713
- }
1714
- }
1715
- }
1716
- if (state.known.has(formulaHash(goal))) {
1717
- // Filtrar solo pasos relevantes para la derivación
1718
- const relevantSteps = traceBack(state.steps, goal);
1719
- return buildProof(goal, relevantSteps, premiseNames, theory, 'natural_deduction', undefined, buildDerivationMetadata(state, relevantSteps));
1720
- }
1721
- // --- Sub-derivaciones recursivas (antes del fallback semántico) ---
1722
- const MAX_SUB_DEPTH = 3;
1723
- // Prueba Condicional real (→-Introducción / Deduction Theorem):
1724
- // Para derivar A→B, asumimos A como premisa temporal y derivamos B.
1725
- if (depth < MAX_SUB_DEPTH && goal.kind === 'implies' && goal.args?.[0] && goal.args?.[1]) {
1726
- const assumption = goal.args[0];
1727
- const subGoal = goal.args[1];
1728
- // Create a temporary theory with the assumption added
1729
- const tempTheory = {
1730
- profile: theory.profile,
1731
- axioms: new Map(theory.axioms),
1732
- theorems: new Map(theory.theorems),
1733
- claims: theory.claims,
1734
- judgments: theory.judgments,
1735
- };
1736
- const assumptionName = `__assumption_${depth}_${formulaHash(assumption)}`;
1737
- tempTheory.axioms.set(assumptionName, assumption);
1738
- const subPremises = [...premiseNames, assumptionName];
1739
- const subProof = tryDerive(subGoal, tempTheory, subPremises, depth + 1);
1740
- if (subProof && subProof.status === 'complete') {
1741
- // Check the sub-proof doesn't rely solely on semantic fallback
1742
- const isSyntactic = subProof.steps.every((s) => s.source !== 'semantic');
1743
- if (isSyntactic) {
1744
- // Build the main proof: premises + sub-derivation steps + conditional proof conclusion
1745
- const mainSteps = [];
1746
- let stepNum = 0;
1747
- // Copy premise steps from current state
1748
- for (const s of state.steps) {
1749
- if (s.source === 'premise') {
1750
- stepNum++;
1751
- mainSteps.push({ ...s, stepNumber: stepNum, premises: [] });
1752
- }
1753
- }
1754
- // Add assumption step
1755
- stepNum++;
1756
- const assumptionStepNum = stepNum;
1757
- mainSteps.push({
1758
- stepNumber: stepNum,
1759
- formula: assumption,
1760
- justification: 'Supuesto (para prueba condicional)',
1761
- premises: [],
1762
- source: 'assumption',
1763
- });
1764
- // Add sub-derivation steps (renumber, adjusting premise references)
1765
- const subStepMap = new Map();
1766
- for (const s of subProof.steps) {
1767
- if (s.source === 'premise' && formulasEqual(s.formula, assumption)) {
1768
- subStepMap.set(s.stepNumber, assumptionStepNum);
1769
- continue;
1770
- }
1771
- if (s.source === 'premise') {
1772
- // Find existing premise step in main
1773
- const existing = mainSteps.find((ms) => ms.source === 'premise' && formulasEqual(ms.formula, s.formula));
1774
- if (existing) {
1775
- subStepMap.set(s.stepNumber, existing.stepNumber);
1776
- continue;
1777
- }
1778
- }
1779
- stepNum++;
1780
- subStepMap.set(s.stepNumber, stepNum);
1781
- mainSteps.push({
1782
- stepNumber: stepNum,
1783
- formula: s.formula,
1784
- justification: s.justification,
1785
- premises: s.premises.map((p) => subStepMap.get(p) || p),
1786
- source: s.source,
1787
- });
1788
- }
1789
- // Add final conditional proof step
1790
- stepNum++;
1791
- const subGoalStepNum = subStepMap.get(subProof.steps[subProof.steps.length - 1]?.stepNumber ?? 0) ?? stepNum - 1;
1792
- mainSteps.push({
1793
- stepNumber: stepNum,
1794
- formula: goal,
1795
- justification: 'Prueba Condicional (Teorema de Deduccion)',
1796
- premises: [assumptionStepNum, subGoalStepNum],
1797
- subproofs: [subProof],
1798
- source: 'rule',
1799
- });
1800
- return buildProof(goal, mainSteps, premiseNames, theory, 'natural_deduction', [subProof], buildCompositeDerivationMetadata(state, mainSteps, [subProof]));
1801
- }
1802
- }
1803
- }
1804
- // Prueba por Casos (∨-Eliminación / Disjunction Elimination):
1805
- // Si tenemos A|B y queremos derivar C, asumimos A→C y B→C por separado.
1806
- if (depth < MAX_SUB_DEPTH) {
1807
- const disjunctions = state.formulas.filter((f) => f.kind === 'or' && f.args?.[0] && f.args?.[1]);
1808
- for (const disj of disjunctions) {
1809
- const left = disj.args?.[0];
1810
- const right = disj.args?.[1];
1811
- if (!left || !right)
1812
- continue;
1813
- // Try to derive goal assuming left
1814
- const tempTheoryL = {
1815
- profile: theory.profile,
1816
- axioms: new Map(theory.axioms),
1817
- theorems: new Map(theory.theorems),
1818
- claims: theory.claims,
1819
- judgments: theory.judgments,
1820
- };
1821
- const leftName = `__case_left_${depth}_${formulaHash(left)}`;
1822
- tempTheoryL.axioms.set(leftName, left);
1823
- const subPremisesL = [...premiseNames, leftName];
1824
- const subProofL = tryDerive(goal, tempTheoryL, subPremisesL, depth + 1);
1825
- if (!subProofL || subProofL.status !== 'complete')
1826
- continue;
1827
- const isSyntacticL = subProofL.steps.every((s) => s.source !== 'semantic');
1828
- if (!isSyntacticL)
1829
- continue;
1830
- // Try to derive goal assuming right
1831
- const tempTheoryR = {
1832
- profile: theory.profile,
1833
- axioms: new Map(theory.axioms),
1834
- theorems: new Map(theory.theorems),
1835
- claims: theory.claims,
1836
- judgments: theory.judgments,
1837
- };
1838
- const rightName = `__case_right_${depth}_${formulaHash(right)}`;
1839
- tempTheoryR.axioms.set(rightName, right);
1840
- const subPremisesR = [...premiseNames, rightName];
1841
- const subProofR = tryDerive(goal, tempTheoryR, subPremisesR, depth + 1);
1842
- if (!subProofR || subProofR.status !== 'complete')
1843
- continue;
1844
- const isSyntacticR = subProofR.steps.every((s) => s.source !== 'semantic');
1845
- if (!isSyntacticR)
1846
- continue;
1847
- // Both cases succeed — build proof by cases
1848
- const mainSteps = [];
1849
- let stepNum = 0;
1850
- // Copy premise steps
1851
- for (const s of state.steps) {
1852
- if (s.source === 'premise') {
1853
- stepNum++;
1854
- mainSteps.push({ ...s, stepNumber: stepNum, premises: [] });
1855
- }
1856
- }
1857
- const disjStepNum = mainSteps.find((ms) => formulasEqual(ms.formula, disj))?.stepNumber ?? 0;
1858
- // Left case sub-derivation
1859
- stepNum++;
1860
- const leftAssumptionStep = stepNum;
1861
- mainSteps.push({
1862
- stepNumber: stepNum,
1863
- formula: left,
1864
- justification: 'Supuesto (caso izquierdo)',
1865
- premises: [],
1866
- source: 'assumption',
1867
- });
1868
- const leftStepMap = new Map();
1869
- for (const s of subProofL.steps) {
1870
- if (s.source === 'premise' && formulasEqual(s.formula, left)) {
1871
- leftStepMap.set(s.stepNumber, leftAssumptionStep);
1872
- continue;
1873
- }
1874
- if (s.source === 'premise') {
1875
- const existing = mainSteps.find((ms) => ms.source === 'premise' && formulasEqual(ms.formula, s.formula));
1876
- if (existing) {
1877
- leftStepMap.set(s.stepNumber, existing.stepNumber);
1878
- continue;
1879
- }
1880
- }
1881
- stepNum++;
1882
- leftStepMap.set(s.stepNumber, stepNum);
1883
- mainSteps.push({
1884
- stepNumber: stepNum,
1885
- formula: s.formula,
1886
- justification: s.justification,
1887
- premises: s.premises.map((p) => leftStepMap.get(p) || p),
1888
- source: s.source,
1889
- });
1890
- }
1891
- const leftGoalStep = leftStepMap.get(subProofL.steps[subProofL.steps.length - 1]?.stepNumber ?? 0) ?? stepNum;
1892
- // Right case sub-derivation
1893
- stepNum++;
1894
- const rightAssumptionStep = stepNum;
1895
- mainSteps.push({
1896
- stepNumber: stepNum,
1897
- formula: right,
1898
- justification: 'Supuesto (caso derecho)',
1899
- premises: [],
1900
- source: 'assumption',
1901
- });
1902
- const rightStepMap = new Map();
1903
- for (const s of subProofR.steps) {
1904
- if (s.source === 'premise' && formulasEqual(s.formula, right)) {
1905
- rightStepMap.set(s.stepNumber, rightAssumptionStep);
1906
- continue;
1907
- }
1908
- if (s.source === 'premise') {
1909
- const existing = mainSteps.find((ms) => ms.source === 'premise' && formulasEqual(ms.formula, s.formula));
1910
- if (existing) {
1911
- rightStepMap.set(s.stepNumber, existing.stepNumber);
1912
- continue;
1913
- }
1914
- }
1915
- stepNum++;
1916
- rightStepMap.set(s.stepNumber, stepNum);
1917
- mainSteps.push({
1918
- stepNumber: stepNum,
1919
- formula: s.formula,
1920
- justification: s.justification,
1921
- premises: s.premises.map((p) => rightStepMap.get(p) || p),
1922
- source: s.source,
1923
- });
1924
- }
1925
- const rightGoalStep = rightStepMap.get(subProofR.steps[subProofR.steps.length - 1]?.stepNumber ?? 0) ?? stepNum;
1926
- // Final disjunction elimination step
1927
- stepNum++;
1928
- mainSteps.push({
1929
- stepNumber: stepNum,
1930
- formula: goal,
1931
- justification: 'Eliminacion de disyuncion (prueba por casos)',
1932
- premises: [disjStepNum, leftGoalStep, rightGoalStep],
1933
- subproofs: [subProofL, subProofR],
1934
- source: 'rule',
1935
- });
1936
- return buildProof(goal, mainSteps, premiseNames, theory, 'natural_deduction', [subProofL, subProofR], buildCompositeDerivationMetadata(state, mainSteps, [subProofL, subProofR]));
1937
- }
1938
- }
1939
- // Backchaining dirigido por meta: si tenemos A → objetivo,
1940
- // intentamos derivar A para cerrar con Modus Ponens sin esperar a que aparezca espontáneamente.
1941
- if (depth < MAX_SUB_DEPTH) {
1942
- const candidateImplications = state.formulas.filter((formula) => formula.kind === 'implies' &&
1943
- !!formula.args?.[0] &&
1944
- !!formula.args?.[1] &&
1945
- formulasEqual(formula.args[1], goal));
1946
- for (const implication of candidateImplications) {
1947
- const antecedent = implication.args?.[0];
1948
- if (!antecedent || formulasEqual(antecedent, goal))
1949
- continue;
1950
- const antecedentProof = tryDerive(antecedent, theory, premiseNames, depth + 1);
1951
- if (!antecedentProof || antecedentProof.status !== 'complete')
1952
- continue;
1953
- const antecedentIsSyntactic = antecedentProof.steps.every((step) => step.source !== 'semantic');
1954
- if (!antecedentIsSyntactic)
1955
- continue;
1956
- const implicationProof = buildKnownDerivationProof(state, implication, premiseNames, theory);
1957
- const mainSteps = buildMergedGoalProof(state.steps, [implicationProof, antecedentProof], goal, 'Modus Ponens');
1958
- return buildProof(goal, mainSteps, premiseNames, theory, 'natural_deduction', [implicationProof, antecedentProof], buildCompositeDerivationMetadata(state, mainSteps, [implicationProof, antecedentProof]));
1959
- }
1960
- }
1961
- // Backchaining dirigido por meta para Modus Tollens:
1962
- // Si la meta es ¬A y conocemos A → B, intentamos derivar ¬B.
1963
- // Si la meta es ¬A y conocemos A → ¬B, intentamos derivar B.
1964
- if (depth < MAX_SUB_DEPTH && goal.kind === 'not' && goal.args?.[0]) {
1965
- const negatedAntecedent = goal.args[0];
1966
- const candidateImplications = state.formulas.filter((formula) => formula.kind === 'implies' &&
1967
- !!formula.args?.[0] &&
1968
- !!formula.args?.[1] &&
1969
- formulasEqual(formula.args[0], negatedAntecedent));
1970
- for (const implication of candidateImplications) {
1971
- const consequent = implication.args?.[1];
1972
- if (!consequent)
1973
- continue;
1974
- const counterGoal = consequent.kind === 'not' && consequent.args?.[0]
1975
- ? consequent.args[0]
1976
- : { kind: 'not', args: [consequent] };
1977
- if (formulasEqual(counterGoal, goal) || formulasEqual(counterGoal, negatedAntecedent)) {
1978
- continue;
1979
- }
1980
- const counterProof = tryDerive(counterGoal, theory, premiseNames, depth + 1);
1981
- if (!counterProof || counterProof.status !== 'complete')
1982
- continue;
1983
- const counterIsSyntactic = counterProof.steps.every((step) => step.source !== 'semantic');
1984
- if (!counterIsSyntactic)
1985
- continue;
1986
- const implicationProof = buildKnownDerivationProof(state, implication, premiseNames, theory);
1987
- const mainSteps = buildMergedGoalProof(state.steps, [implicationProof, counterProof], goal, 'Modus Tollens');
1988
- return buildProof(goal, mainSteps, premiseNames, theory, 'natural_deduction', [implicationProof, counterProof], buildCompositeDerivationMetadata(state, mainSteps, [implicationProof, counterProof]));
1989
- }
1990
- }
1991
- // Meta conjuntiva (∧-Introducción dirigida por meta): derivar ambos componentes por separado.
1992
- if (depth < MAX_SUB_DEPTH && goal.kind === 'and' && goal.args?.[0] && goal.args?.[1]) {
1993
- const leftGoal = goal.args[0];
1994
- const rightGoal = goal.args[1];
1995
- const leftProof = tryDerive(leftGoal, theory, premiseNames, depth + 1);
1996
- const rightProof = tryDerive(rightGoal, theory, premiseNames, depth + 1);
1997
- if (leftProof &&
1998
- rightProof &&
1999
- leftProof.status === 'complete' &&
2000
- rightProof.status === 'complete') {
2001
- const leftSyntactic = leftProof.steps.every((s) => s.source !== 'semantic');
2002
- const rightSyntactic = rightProof.steps.every((s) => s.source !== 'semantic');
2003
- if (leftSyntactic && rightSyntactic) {
2004
- const mainSteps = buildMergedGoalProof(state.steps, [leftProof, rightProof], goal, 'Introduccion de conjuncion');
2005
- return buildProof(goal, mainSteps, premiseNames, theory, 'natural_deduction', [leftProof, rightProof], buildCompositeDerivationMetadata(state, mainSteps, [leftProof, rightProof]));
2006
- }
2007
- }
2008
- }
2009
- // Meta bicondicional (↔-Introducción dirigida por meta): demostrar ambos sentidos.
2010
- if (depth < MAX_SUB_DEPTH && goal.kind === 'biconditional' && goal.args?.[0] && goal.args?.[1]) {
2011
- const leftToRight = { kind: 'implies', args: [goal.args[0], goal.args[1]] };
2012
- const rightToLeft = { kind: 'implies', args: [goal.args[1], goal.args[0]] };
2013
- const leftProof = tryDerive(leftToRight, theory, premiseNames, depth + 1);
2014
- const rightProof = tryDerive(rightToLeft, theory, premiseNames, depth + 1);
2015
- if (leftProof &&
2016
- rightProof &&
2017
- leftProof.status === 'complete' &&
2018
- rightProof.status === 'complete') {
2019
- const leftSyntactic = leftProof.steps.every((s) => s.source !== 'semantic');
2020
- const rightSyntactic = rightProof.steps.every((s) => s.source !== 'semantic');
2021
- if (leftSyntactic && rightSyntactic) {
2022
- const mainSteps = buildMergedGoalProof(state.steps, [leftProof, rightProof], goal, 'Introduccion de bicondicional');
2023
- return buildProof(goal, mainSteps, premiseNames, theory, 'natural_deduction', [leftProof, rightProof], buildCompositeDerivationMetadata(state, mainSteps, [leftProof, rightProof]));
2024
- }
2025
- }
2026
- }
2027
- // Introducción de negación (¬-Introducción): para derivar ¬A,
2028
- // asumimos A y derivamos contradicción explícita (false / ⊥).
2029
- if (depth < MAX_SUB_DEPTH && goal.kind === 'not' && goal.args?.[0]) {
2030
- const assumption = goal.args[0];
2031
- const contradiction = { kind: 'false' };
2032
- const tempTheory = {
2033
- profile: theory.profile,
2034
- axioms: new Map(theory.axioms),
2035
- theorems: new Map(theory.theorems),
2036
- claims: theory.claims,
2037
- judgments: theory.judgments,
2038
- };
2039
- const assumptionName = `__neg_assumption_${depth}_${formulaHash(assumption)}`;
2040
- tempTheory.axioms.set(assumptionName, assumption);
2041
- const subPremises = [...premiseNames, assumptionName];
2042
- const subProof = tryDerive(contradiction, tempTheory, subPremises, depth + 1);
2043
- if (subProof && subProof.status === 'complete') {
2044
- const isSyntactic = subProof.steps.every((s) => s.source !== 'semantic');
2045
- if (isSyntactic) {
2046
- const mainSteps = buildSingleAssumptionProof(state.steps, assumption, 'Supuesto (para negacion)', subProof, goal, 'Introduccion de negacion');
2047
- return buildProof(goal, mainSteps, premiseNames, theory, 'natural_deduction', [subProof], buildCompositeDerivationMetadata(state, mainSteps, [subProof]));
2048
- }
2049
- }
2050
- }
2051
- // RAA genérica: para derivar A en lógica clásica,
2052
- // asumimos ¬A y buscamos contradicción explícita.
2053
- if (depth < MAX_SUB_DEPTH && goal.kind !== 'not' && goal.kind !== 'false') {
2054
- const assumption = { kind: 'not', args: [goal] };
2055
- const contradiction = { kind: 'false' };
2056
- const tempTheory = {
2057
- profile: theory.profile,
2058
- axioms: new Map(theory.axioms),
2059
- theorems: new Map(theory.theorems),
2060
- claims: theory.claims,
2061
- judgments: theory.judgments,
2062
- };
2063
- const assumptionName = `__raa_assumption_${depth}_${formulaHash(assumption)}`;
2064
- tempTheory.axioms.set(assumptionName, assumption);
2065
- const subPremises = [...premiseNames, assumptionName];
2066
- const subProof = tryDerive(contradiction, tempTheory, subPremises, depth + 1);
2067
- if (subProof && subProof.status === 'complete') {
2068
- const isSyntactic = subProof.steps.every((s) => s.source !== 'semantic');
2069
- if (isSyntactic) {
2070
- const mainSteps = buildSingleAssumptionProof(state.steps, assumption, 'Supuesto (para RAA)', subProof, goal, 'RAA (Reduccion al Absurdo)');
2071
- return buildProof(goal, mainSteps, premiseNames, theory, 'natural_deduction', [subProof], buildCompositeDerivationMetadata(state, mainSteps, [subProof]));
2072
- }
2073
- }
2074
- }
2075
- // Fallback: verificar semánticamente
2076
- const allAxiomFormulas = premiseNames
2077
- .map((n) => theory.axioms.get(n) || theory.theorems.get(n))
2078
- .filter((f) => f !== undefined);
2079
- if (allAxiomFormulas.length > 0) {
2080
- const atoms = new Set();
2081
- for (const f of allAxiomFormulas)
2082
- collectAtoms(f).forEach((a) => atoms.add(a));
2083
- collectAtoms(goal).forEach((a) => atoms.add(a));
2084
- const atomList = Array.from(atoms).sort();
2085
- let semanticResult;
2086
- // Fast path: bitset semantic check
2087
- const allPure = allAxiomFormulas.every(isPurePropositional) && isPurePropositional(goal);
2088
- if (allPure && atomList.length <= 26) {
2089
- const premiseBits = allAxiomFormulas.map((f) => evaluateBitset(f, atomList).result);
2090
- const goalBits = evaluateBitset(goal, atomList).result;
2091
- const allOnes = bvOnes(1 << atomList.length);
2092
- // Conjunction of all premises
2093
- let premisesConj = allOnes;
2094
- for (const pb of premiseBits)
2095
- premisesConj = bvAnd(premisesConj, pb);
2096
- // Valid if: wherever premises are true, goal is also true
2097
- // i.e., premisesConj & ~goalBits === 0
2098
- semanticResult = bvIsZero(bvAnd(premisesConj, bvNot(goalBits, allOnes)));
2099
- }
2100
- else if (allPure && atomList.length > 26) {
2101
- // DPLL fallback for >26 atoms
2102
- let conjunction = allAxiomFormulas[0];
2103
- for (let i = 1; i < allAxiomFormulas.length; i++) {
2104
- conjunction = { kind: 'and', args: [conjunction, allAxiomFormulas[i]] };
2105
- }
2106
- const negGoal = { kind: 'not', args: [goal] };
2107
- const check = { kind: 'and', args: [conjunction, negGoal] };
2108
- const result = (0, dpll_1.dpll)(check);
2109
- semanticResult = !result.satisfiable;
2110
- }
2111
- else {
2112
- // Classic fallback
2113
- const valuations = generateValuations(atomList);
2114
- semanticResult = true;
2115
- for (const v of valuations) {
2116
- const premisesTrue = allAxiomFormulas.every((f) => evaluateClassical(f, v));
2117
- if (premisesTrue && !evaluateClassical(goal, v)) {
2118
- semanticResult = false;
2119
- break;
2120
- }
2121
- }
2122
- }
2123
- if (semanticResult) {
2124
- // Generate a synthetic final proof step so the user sees a complete derivation
2125
- // instead of just "derivado exitosamente" with no proof trace.
2126
- const goalHash = formulaHash(goal);
2127
- if (!state.known.has(goalHash)) {
2128
- const premiseStepNums = premiseNames
2129
- .map((n) => {
2130
- const f = theory.axioms.get(n) || theory.theorems.get(n);
2131
- return f ? findStep(state.steps, f) : 0;
2132
- })
2133
- .filter((n) => n > 0);
2134
- state.stepCount++;
2135
- state.steps.push({
2136
- stepNumber: state.stepCount,
2137
- formula: goal,
2138
- justification: 'Verificacion semantica (todas las valuaciones satisfacen la consecuencia)',
2139
- premises: premiseStepNums,
2140
- source: 'semantic',
2141
- });
2142
- state.known.set(goalHash, goal);
2143
- }
2144
- const relevantSteps = traceBack(state.steps, goal);
2145
- return buildProof(goal, relevantSteps, premiseNames, theory, 'semantic', undefined, buildDerivationMetadata(state, relevantSteps, true));
2146
- }
2147
- }
2148
- return null;
2149
- }
2150
- function findStep(stateOrSteps, formula) {
2151
- const hash = formulaHash(formula);
2152
- if (!Array.isArray(stateOrSteps)) {
2153
- const cached = stateOrSteps.stepByHash.get(hash);
2154
- if (cached !== undefined)
2155
- return cached;
2156
- }
2157
- const steps = Array.isArray(stateOrSteps) ? stateOrSteps : stateOrSteps.steps;
2158
- for (const s of steps) {
2159
- if (formulaHash(s.formula) === hash)
2160
- return s.stepNumber;
2161
- }
2162
- return 0;
2163
- }
2164
- function traceBack(steps, goal) {
2165
- const goalHash = formulaHash(goal);
2166
- const needed = new Set();
2167
- const goalStep = steps.find((s) => formulaHash(s.formula) === goalHash);
2168
- if (!goalStep)
2169
- return steps;
2170
- function trace(stepNum) {
2171
- if (needed.has(stepNum))
2172
- return;
2173
- needed.add(stepNum);
2174
- const step = steps.find((s) => s.stepNumber === stepNum);
2175
- if (step) {
2176
- for (const p of step.premises) {
2177
- trace(p);
2178
- }
2179
- }
2180
- }
2181
- trace(goalStep.stepNumber);
2182
- const filtered = steps.filter((s) => needed.has(s.stepNumber));
2183
- // Compact renumbering: eliminate gaps in step numbers
2184
- const oldToNew = new Map();
2185
- filtered.forEach((s, i) => {
2186
- oldToNew.set(s.stepNumber, i + 1);
2187
- });
2188
- return filtered.map((s) => ({
2189
- ...s,
2190
- stepNumber: oldToNew.get(s.stepNumber) ?? s.stepNumber,
2191
- premises: s.premises.map((p) => oldToNew.get(p) ?? p),
2192
- }));
2193
- }
2194
- // --- Perfil Classical Propositional ---
2195
- class ClassicalPropositional {
2196
- name = 'classical.propositional';
2197
- description = 'Logica clasica proposicional con tabla de verdad, validez, satisfacibilidad, derivacion y contramodelo';
2198
- checkWellFormed(formula) {
2199
- const diags = [];
2200
- function check(f) {
2201
- switch (f.kind) {
2202
- case 'atom':
2203
- if (!f.name) {
2204
- diags.push({ severity: 'error', message: 'Atomo sin nombre' });
2205
- }
2206
- break;
2207
- case 'not':
2208
- if (!f.args || f.args.length !== 1) {
2209
- diags.push({
2210
- severity: 'error',
2211
- message: 'Negacion requiere exactamente un argumento',
2212
- });
2213
- }
2214
- else if (f.args[0]) {
2215
- check(f.args[0]);
2216
- }
2217
- break;
2218
- case 'and':
2219
- case 'or':
2220
- case 'implies':
2221
- case 'biconditional':
2222
- if (!f.args || f.args.length !== 2) {
2223
- diags.push({
2224
- severity: 'error',
2225
- message: `${f.kind} requiere exactamente dos argumentos`,
2226
- });
2227
- }
2228
- else {
2229
- if (f.args[0])
2230
- check(f.args[0]);
2231
- if (f.args[1])
2232
- check(f.args[1]);
2233
- }
2234
- break;
2235
- case 'forall':
2236
- case 'exists':
2237
- case 'predicate':
2238
- case 'equals':
2239
- case 'modal_necessity':
2240
- case 'modal_possibility':
2241
- diags.push({
2242
- severity: 'error',
2243
- message: `'${f.kind}' no esta soportado en logica proposicional clasica`,
2244
- });
2245
- break;
2246
- }
2247
- }
2248
- check(formula);
2249
- return diags;
2250
- }
2251
- checkValid(formula) {
2252
- const wf = this.checkWellFormed(formula);
2253
- if (wf.length > 0) {
2254
- return { status: 'error', diagnostics: wf, formula };
2255
- }
2256
- // Fast path: bitset validity check (no row materialization)
2257
- const atoms = Array.from(collectAtoms(formula)).sort();
2258
- if (isPurePropositional(formula) && atoms.length <= 26) {
2259
- const { result, allOnes } = evaluateBitset(formula, atoms);
2260
- const isValid = bvEquals(result, allOnes);
2261
- return {
2262
- status: isValid ? 'valid' : 'invalid',
2263
- output: isValid
2264
- ? `${formulaToString(formula)} es VALIDA (tautologia)`
2265
- : `${formulaToString(formula)} NO es valida`,
2266
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'valid', valid: isValid }),
2267
- diagnostics: [],
2268
- formula,
2269
- };
2270
- }
2271
- // DPLL path: for formulas with >26 atoms, use SAT solver
2272
- if (isPurePropositional(formula) && atoms.length > 26) {
2273
- const negated = { kind: 'not', args: [formula] };
2274
- const result = (0, dpll_1.dpll)(negated);
2275
- const isValid = !result.satisfiable;
2276
- return {
2277
- status: isValid ? 'valid' : 'invalid',
2278
- output: isValid
2279
- ? `${formulaToString(formula)} es VALIDA (tautologia)`
2280
- : `${formulaToString(formula)} NO es valida`,
2281
- model: !isValid && result.model ? { type: 'propositional', valuation: result.model } : undefined,
2282
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'valid', valid: isValid }),
2283
- diagnostics: [],
2284
- formula,
2285
- };
2286
- }
2287
- const tt = this.truthTable(formula);
2288
- if (tt.isTautology) {
2289
- return {
2290
- status: 'valid',
2291
- output: `${formulaToString(formula)} es VALIDA (tautologia)`,
2292
- truthTable: tt,
2293
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'valid', valid: true }),
2294
- diagnostics: [],
2295
- formula,
2296
- };
2297
- }
2298
- else {
2299
- const cm = tt.rows.find((r) => !r.result);
2300
- return {
2301
- status: 'invalid',
2302
- output: `${formulaToString(formula)} NO es valida`,
2303
- truthTable: tt,
2304
- model: cm ? { type: 'propositional', valuation: cm.valuation } : undefined,
2305
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'valid', valid: false }),
2306
- diagnostics: [],
2307
- formula,
2308
- };
2309
- }
2310
- }
2311
- checkSatisfiable(formula) {
2312
- const wf = this.checkWellFormed(formula);
2313
- if (wf.length > 0) {
2314
- return { status: 'error', diagnostics: wf, formula };
2315
- }
2316
- // Fast path: bitset satisfiability check (no row materialization)
2317
- const atoms = Array.from(collectAtoms(formula)).sort();
2318
- if (isPurePropositional(formula) && atoms.length <= 26) {
2319
- const { result } = evaluateBitset(formula, atoms);
2320
- const isSat = !bvIsZero(result);
2321
- return {
2322
- status: isSat ? 'satisfiable' : 'unsatisfiable',
2323
- output: isSat
2324
- ? `${formulaToString(formula)} es SATISFACIBLE`
2325
- : `${formulaToString(formula)} es INSATISFACIBLE (contradiccion)`,
2326
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'satisfiable', sat: isSat }),
2327
- diagnostics: [],
2328
- formula,
2329
- };
2330
- }
2331
- // DPLL path: for formulas with >26 atoms, use SAT solver
2332
- if (isPurePropositional(formula) && atoms.length > 26) {
2333
- const result = (0, dpll_1.dpll)(formula);
2334
- return {
2335
- status: result.satisfiable ? 'satisfiable' : 'unsatisfiable',
2336
- output: result.satisfiable
2337
- ? `${formulaToString(formula)} es SATISFACIBLE`
2338
- : `${formulaToString(formula)} es INSATISFACIBLE (contradiccion)`,
2339
- model: result.satisfiable && result.model
2340
- ? { type: 'propositional', valuation: result.model }
2341
- : undefined,
2342
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'satisfiable', sat: result.satisfiable }),
2343
- diagnostics: [],
2344
- formula,
2345
- };
2346
- }
2347
- const tt = this.truthTable(formula);
2348
- if (tt.isSatisfiable) {
2349
- const sat = tt.rows.find((r) => r.result);
2350
- return {
2351
- status: 'satisfiable',
2352
- output: `${formulaToString(formula)} es SATISFACIBLE`,
2353
- model: sat ? { type: 'propositional', valuation: sat.valuation } : undefined,
2354
- truthTable: tt,
2355
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'satisfiable', sat: true }),
2356
- diagnostics: [],
2357
- formula,
2358
- };
2359
- }
2360
- else {
2361
- return {
2362
- status: 'unsatisfiable',
2363
- output: `${formulaToString(formula)} es INSATISFACIBLE (contradiccion)`,
2364
- truthTable: tt,
2365
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'satisfiable', sat: false }),
2366
- diagnostics: [],
2367
- formula,
2368
- };
2369
- }
2370
- }
2371
- prove(goal, theory, premises) {
2372
- const wf = this.checkWellFormed(goal);
2373
- if (wf.length > 0) {
2374
- return { status: 'error', diagnostics: wf, formula: goal };
2375
- }
2376
- const usingRestricted = premises !== undefined && premises.length > 0;
2377
- const premiseNames = usingRestricted
2378
- ? premises.filter((n) => theory.axioms.has(n) || theory.theorems.has(n))
2379
- : Array.from(theory.axioms.keys());
2380
- const diagnostics = [];
2381
- if (usingRestricted) {
2382
- for (const n of premises) {
2383
- if (!theory.axioms.has(n) && !theory.theorems.has(n)) {
2384
- diagnostics.push({
2385
- severity: 'warning',
2386
- message: `Premisa '${n}' no encontrada en la teoría; será ignorada en prove`,
2387
- });
2388
- }
2389
- }
2390
- }
2391
- const effectiveTheory = usingRestricted
2392
- ? {
2393
- profile: theory.profile,
2394
- axioms: new Map(premiseNames
2395
- .filter((n) => theory.axioms.has(n))
2396
- .map((n) => [n, theory.axioms.get(n)])),
2397
- theorems: new Map(premiseNames
2398
- .filter((n) => theory.theorems.has(n))
2399
- .map((n) => [n, theory.theorems.get(n)])),
2400
- claims: theory.claims,
2401
- judgments: theory.judgments,
2402
- }
2403
- : theory;
2404
- const proof = tryDerive(goal, effectiveTheory, premiseNames);
2405
- if (proof && proof.status === 'complete') {
2406
- const isSemantic = proof.method === 'semantic';
2407
- return {
2408
- status: 'provable',
2409
- output: isSemantic
2410
- ? `${formulaToString(goal)} es DEMOSTRABLE desde la teoria (verificación semántica, sin derivación sintáctica)`
2411
- : `${formulaToString(goal)} es DEMOSTRABLE desde la teoria`,
2412
- proof,
2413
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'prove', ok: true }),
2414
- diagnostics,
2415
- formula: goal,
2416
- };
2417
- }
2418
- // Semantic fallback: verify via SAT/truth-table whether goal follows from axioms
2419
- const allAxiomFormulas = premiseNames
2420
- .map((n) => effectiveTheory.axioms.get(n) || effectiveTheory.theorems.get(n))
2421
- .filter((f) => f !== undefined);
2422
- let semanticResult;
2423
- const atoms = new Set();
2424
- for (const f of allAxiomFormulas)
2425
- collectAtoms(f).forEach((a) => atoms.add(a));
2426
- collectAtoms(goal).forEach((a) => atoms.add(a));
2427
- const atomList = Array.from(atoms).sort();
2428
- if (allAxiomFormulas.length > 0) {
2429
- // With premises: check if premises entail goal
2430
- const allPure = allAxiomFormulas.every(isPurePropositional) && isPurePropositional(goal);
2431
- if (allPure && atomList.length <= 26) {
2432
- const premiseBits = allAxiomFormulas.map((f) => evaluateBitset(f, atomList).result);
2433
- const goalBits = evaluateBitset(goal, atomList).result;
2434
- const allOnes = bvOnes(1 << atomList.length);
2435
- let premisesConj = allOnes;
2436
- for (const pb of premiseBits)
2437
- premisesConj = bvAnd(premisesConj, pb);
2438
- semanticResult = bvIsZero(bvAnd(premisesConj, bvNot(goalBits, allOnes)));
2439
- }
2440
- else if (allPure && atomList.length > 26) {
2441
- let conjunction = allAxiomFormulas[0];
2442
- for (let i = 1; i < allAxiomFormulas.length; i++) {
2443
- conjunction = { kind: 'and', args: [conjunction, allAxiomFormulas[i]] };
2444
- }
2445
- const negGoal = { kind: 'not', args: [goal] };
2446
- const check = { kind: 'and', args: [conjunction, negGoal] };
2447
- semanticResult = !(0, dpll_1.dpll)(check).satisfiable;
2448
- }
2449
- else {
2450
- const valuations = generateValuations(atomList);
2451
- semanticResult = true;
2452
- for (const v of valuations) {
2453
- const premisesTrue = allAxiomFormulas.every((f) => evaluateClassical(f, v));
2454
- if (premisesTrue && !evaluateClassical(goal, v)) {
2455
- semanticResult = false;
2456
- break;
2457
- }
2458
- }
2459
- }
2460
- }
2461
- else {
2462
- // No premises: check if goal is a tautology
2463
- if (isPurePropositional(goal) && atomList.length <= 26) {
2464
- const { result, allOnes } = evaluateBitset(goal, atomList);
2465
- semanticResult = bvEquals(result, allOnes);
2466
- }
2467
- else if (isPurePropositional(goal) && atomList.length > 26) {
2468
- const negated = { kind: 'not', args: [goal] };
2469
- semanticResult = !(0, dpll_1.dpll)(negated).satisfiable;
2470
- }
2471
- else {
2472
- const valuations = generateValuations(atomList);
2473
- semanticResult = valuations.every((v) => evaluateClassical(goal, v));
2474
- }
2475
- }
2476
- if (semanticResult) {
2477
- const premiseSteps = [];
2478
- premiseNames.forEach((n, i) => {
2479
- const f = effectiveTheory.axioms.get(n) || effectiveTheory.theorems.get(n);
2480
- if (f) {
2481
- premiseSteps.push({
2482
- stepNumber: i + 1,
2483
- formula: f,
2484
- justification: `Premisa (${n})`,
2485
- premises: [],
2486
- source: 'premise',
2487
- });
2488
- }
2489
- });
2490
- const semanticProofSteps = [
2491
- ...premiseSteps,
2492
- {
2493
- stepNumber: premiseNames.length + 1,
2494
- formula: goal,
2495
- justification: 'Verificacion semantica (tautologia o consecuencia logica)',
2496
- premises: premiseNames.map((_, i) => i + 1),
2497
- source: 'semantic',
2498
- },
2499
- ];
2500
- const semanticProof = buildProof(goal, semanticProofSteps, premiseNames, effectiveTheory, 'semantic');
2501
- return {
2502
- status: 'provable',
2503
- output: `${formulaToString(goal)} es DEMOSTRABLE desde la teoria (verificación semántica, sin derivación sintáctica)`,
2504
- proof: semanticProof,
2505
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'prove', ok: true }),
2506
- diagnostics,
2507
- formula: goal,
2508
- };
2509
- }
2510
- // Ni derivación sintáctica ni consecuencia semántica: existe contramodelo.
2511
- // Esto sí es refutable en el sentido fuerte.
2512
- return {
2513
- status: 'refutable',
2514
- output: `${formulaToString(goal)} NO se sigue de la teoría (existe contramodelo en ${formulaToString(goal)})`,
2515
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'prove', ok: false }),
2516
- diagnostics,
2517
- formula: goal,
2518
- };
2519
- }
2520
- derive(goal, premises, theory) {
2521
- const wf = this.checkWellFormed(goal);
2522
- if (wf.length > 0) {
2523
- return { status: 'error', diagnostics: wf, formula: goal };
2524
- }
2525
- const proof = tryDerive(goal, theory, premises);
2526
- if (proof && proof.status === 'complete') {
2527
- // Build reasoning info
2528
- const rulesUsed = new Set();
2529
- for (const step of proof.steps) {
2530
- if (step.source !== 'premise') {
2531
- rulesUsed.add(step.justification);
2532
- }
2533
- }
2534
- const reasoningType = rulesUsed.size > 0 ? Array.from(rulesUsed).join(', ') : 'Derivación directa';
2535
- const isSemantic = proof.method === 'semantic';
2536
- return {
2537
- status: 'provable',
2538
- output: isSemantic
2539
- ? `${formulaToString(goal)} derivado (verificación semántica, sin derivación sintáctica)`
2540
- : `${formulaToString(goal)} derivado exitosamente`,
2541
- proof,
2542
- reasoningType,
2543
- reasoningSchema: rulesUsed.has('Introduccion de negacion')
2544
- ? '[φ] ⊢ ⊥, por lo tanto ¬φ'
2545
- : rulesUsed.has('RAA (Reduccion al Absurdo)')
2546
- ? '[¬φ] ⊢ ⊥, por lo tanto φ'
2547
- : rulesUsed.has('Contradiccion')
2548
- ? 'φ, ¬φ ⊢ ⊥'
2549
- : rulesUsed.has('Explosion')
2550
- ? '⊥ ⊢ ψ'
2551
- : rulesUsed.has('Prueba Condicional (Teorema de Deduccion)')
2552
- ? '[φ] ⊢ ψ, por lo tanto φ → ψ'
2553
- : rulesUsed.has('Modus Ponens')
2554
- ? 'φ → ψ, φ ⊢ ψ'
2555
- : rulesUsed.has('Modus Tollens')
2556
- ? 'φ → ψ, ¬ψ ⊢ ¬φ'
2557
- : rulesUsed.has('Silogismo Hipotetico')
2558
- ? 'φ → ψ, ψ → χ ⊢ φ → χ'
2559
- : undefined,
2560
- educationalNote: (0, educational_notes_1.pickEducationalNote)({
2561
- op: 'derive',
2562
- ok: true,
2563
- steps: proof.steps.length,
2564
- rules: Array.from(rulesUsed),
2565
- }),
2566
- diagnostics: [],
2567
- formula: goal,
2568
- };
2569
- }
2570
- return {
2571
- status: 'unknown',
2572
- output: `No se pudo derivar ${formulaToString(goal)} desde las premisas dadas (sin refutación)`,
2573
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'derive', ok: false }),
2574
- diagnostics: [],
2575
- formula: goal,
2576
- };
2577
- }
2578
- countermodel(formula) {
2579
- const wf = this.checkWellFormed(formula);
2580
- if (wf.length > 0) {
2581
- return { status: 'error', diagnostics: wf, formula };
2582
- }
2583
- const atoms = Array.from(collectAtoms(formula)).sort();
2584
- const n = atoms.length;
2585
- // Fast path: bitset finds countermodel in one pass
2586
- if (isPurePropositional(formula) && n <= 26) {
2587
- const { result, allOnes } = evaluateBitset(formula, atoms);
2588
- if (bvEquals(result, allOnes)) {
2589
- return {
2590
- status: 'valid',
2591
- output: `${formulaToString(formula)} es tautologia, no hay contramodelo`,
2592
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'countermodel', found: false }),
2593
- diagnostics: [],
2594
- formula,
2595
- };
2596
- }
2597
- // Find first 0 bit (first falsifying row)
2598
- const inverted = bvNot(result, allOnes);
2599
- const idx = bvFirstSet(inverted);
2600
- const v = {};
2601
- for (let j = 0; j < n; j++) {
2602
- v[atoms[j]] = Boolean((idx >> (n - 1 - j)) & 1);
2603
- }
2604
- const valStr = atoms.map((a) => `${a}=${v[a] ? 'V' : 'F'}`).join(', ');
2605
- return {
2606
- status: 'invalid',
2607
- output: `Contramodelo encontrado para ${formulaToString(formula)}\n ← ${valStr}`,
2608
- model: { type: 'propositional', valuation: v },
2609
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'countermodel', found: true }),
2610
- diagnostics: [],
2611
- formula,
2612
- };
2613
- }
2614
- // DPLL path: for formulas with >26 atoms, use SAT solver to find countermodel
2615
- if (isPurePropositional(formula) && n > 26) {
2616
- const negated = { kind: 'not', args: [formula] };
2617
- const result = (0, dpll_1.dpll)(negated);
2618
- if (result.satisfiable && result.model) {
2619
- const valStr = atoms.map((a) => `${a}=${result.model?.[a] ? 'V' : 'F'}`).join(', ');
2620
- return {
2621
- status: 'invalid',
2622
- output: `Contramodelo encontrado para ${formulaToString(formula)}\n ← ${valStr}`,
2623
- model: { type: 'propositional', valuation: result.model },
2624
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'countermodel', found: true }),
2625
- diagnostics: [],
2626
- formula,
2627
- };
2628
- }
2629
- return {
2630
- status: 'valid',
2631
- output: `${formulaToString(formula)} es tautologia, no hay contramodelo`,
2632
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'countermodel', found: false }),
2633
- diagnostics: [],
2634
- formula,
2635
- };
2636
- }
2637
- // Fallback: classic evaluation
2638
- const valuations = generateValuations(atoms);
2639
- for (const v of valuations) {
2640
- if (!evaluateClassical(formula, v)) {
2641
- const valStr = atoms.map((a) => `${a}=${v[a] ? 'V' : 'F'}`).join(', ');
2642
- return {
2643
- status: 'invalid',
2644
- output: `Contramodelo encontrado para ${formulaToString(formula)}\n ← ${valStr}`,
2645
- model: { type: 'propositional', valuation: v },
2646
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'countermodel', found: true }),
2647
- diagnostics: [],
2648
- formula,
2649
- };
2650
- }
2651
- }
2652
- return {
2653
- status: 'valid',
2654
- output: `${formulaToString(formula)} es tautologia, no hay contramodelo`,
2655
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'countermodel', found: false }),
2656
- diagnostics: [],
2657
- formula,
2658
- };
2659
- }
2660
- explain(formula) {
2661
- if (!isPurePropositional(formula)) {
2662
- return {
2663
- status: 'error',
2664
- output: `explain solo esta disponible para formulas puramente proposicionales: ${(0, format_1.formulaToUnicode)(formula)}`,
2665
- diagnostics: [
2666
- {
2667
- severity: 'error',
2668
- message: 'La formula incluye operadores no proposicionales; use un perfil con explain semantico especifico.',
2669
- },
2670
- ...this.checkWellFormed(formula),
2671
- ],
2672
- formula,
2673
- };
2674
- }
2675
- const wf = this.checkWellFormed(formula);
2676
- if (wf.length > 0) {
2677
- return { status: 'error', diagnostics: wf, formula };
2678
- }
2679
- const tt = this.truthTable(formula);
2680
- const tAnalysis = (0, formula_classifier_1.classifyFormula)(formula);
2681
- let explanation = `Fórmula: ${(0, format_1.formulaToUnicode)(formula)}\n`;
2682
- if (tAnalysis.formulaAnalysis.mainConnective) {
2683
- explanation += `Conectivo principal: ${tAnalysis.formulaAnalysis.mainConnective}\n`;
2684
- }
2685
- explanation += `Profundidad: ${tAnalysis.formulaAnalysis.depth}\n`;
2686
- explanation += `Complejidad: ${tAnalysis.formulaAnalysis.complexity} conectivos\n`;
2687
- explanation += `Átomos: { ${Array.from(collectAtoms(formula)).join(', ')} }\n`;
2688
- if (tAnalysis.formulaAnalysis.subFormulas.length > 0) {
2689
- explanation += `\nSub-fórmulas:\n`;
2690
- for (const sf of tAnalysis.formulaAnalysis.subFormulas) {
2691
- explanation += ` ├─ ${sf}\n`;
2692
- }
2693
- }
2694
- explanation += `\nFormas normales:\n`;
2695
- const nnf = toNNF(formula);
2696
- const cnf = toCNF(formula);
2697
- const dnf = toDNF(formula);
2698
- explanation += ` NNF: ${formulaToString(nnf)}\n`;
2699
- explanation += ` CNF: ${formulaToString(cnf)}\n`;
2700
- explanation += ` DNF: ${formulaToString(dnf)}\n`;
2701
- // #28: Cláusulas de resolución
2702
- const clauses = extractClauses(formula);
2703
- if (clauses.length > 0 && clauses.length <= 8) {
2704
- explanation += `\nCláusulas (resolución):\n`;
2705
- for (let i = 0; i < clauses.length; i++) {
2706
- explanation += ` C${i + 1}: {${clauses[i].join(', ')}}\n`;
2707
- }
2708
- }
2709
- // #24: Completitud funcional
2710
- const atomsList = Array.from(collectAtoms(formula));
2711
- const connectives = new Set();
2712
- const walkConn = (f) => {
2713
- if (f.kind !== 'atom')
2714
- connectives.add(f.kind);
2715
- f.args?.forEach(walkConn);
2716
- };
2717
- walkConn(formula);
2718
- const hasNeg = connectives.has('not');
2719
- const hasAnd = connectives.has('and');
2720
- const hasOr = connectives.has('or');
2721
- const hasImplies = connectives.has('implies');
2722
- const hasBicond = connectives.has('biconditional');
2723
- const hasNand = connectives.has('nand');
2724
- const hasNor = connectives.has('nor');
2725
- let isFunctionallyComplete = false;
2726
- let completenessNote = '';
2727
- if (hasNand || hasNor) {
2728
- isFunctionallyComplete = true;
2729
- completenessNote = hasNand
2730
- ? '{↑} (NAND solo — Sheffer stroke)'
2731
- : '{↓} (NOR solo — Peirce arrow)';
2732
- }
2733
- else if (hasNeg && (hasAnd || hasOr || hasImplies || hasBicond)) {
2734
- isFunctionallyComplete = true;
2735
- completenessNote = hasNeg && hasAnd ? '{¬, ∧}' : hasNeg && hasOr ? '{¬, ∨}' : '{¬, →}';
2736
- }
2737
- explanation += `\nCompletitud funcional: ${isFunctionallyComplete ? `✓ Usa conjunto completo: ${completenessNote}` : '✗ El conjunto de conectivos usado no es funcionalmente completo'}\n`;
2738
- // #26: Esquemas de dominancia/identidad
2739
- if (atomsList.length <= 2) {
2740
- explanation += `\nEsquemas algebraicos verificados:\n`;
2741
- explanation += ` ✓ P ∧ ⊤ ≡ P (identidad conjuntiva)\n`;
2742
- explanation += ` ✓ P ∨ ⊥ ≡ P (identidad disyuntiva)\n`;
2743
- explanation += ` ✓ P ∧ ⊥ ≡ ⊥ (dominancia conjuntiva)\n`;
2744
- explanation += ` ✓ P ∨ ⊤ ≡ ⊤ (dominancia disyuntiva)\n`;
2745
- explanation += ` ✓ P ∧ ¬P ≡ ⊥ (complemento)\n`;
2746
- explanation += ` ✓ P ∨ ¬P ≡ ⊤ (tercero excluido)\n`;
2747
- }
2748
- if (tAnalysis.formulaClassification) {
2749
- explanation += `\nClasificación semántica: Tautología\n`;
2750
- explanation += `Nombre conocido: ${tAnalysis.formulaClassification}\n`;
2751
- }
2752
- explanation += `\nTabla de verdad:\n`;
2753
- explanation += ` ${tt.totalCount} valuaciones, ${tt.satisfyingCount} verdaderas, ${tt.totalCount - tt.satisfyingCount} falsas\n`;
2754
- if (tt.isTautology)
2755
- explanation += ` → Tautología ✓\n`;
2756
- else if (tt.isContradiction)
2757
- explanation += ` → Contradicción ✗\n`;
2758
- else
2759
- explanation += ` → Contingente (satisfacible)\n`;
2760
- return {
2761
- status: tt.isTautology ? 'valid' : tt.isSatisfiable ? 'satisfiable' : 'unsatisfiable',
2762
- output: explanation,
2763
- truthTable: tt,
2764
- diagnostics: [],
2765
- formula,
2766
- formulaAnalysis: tAnalysis.formulaAnalysis,
2767
- formulaClassification: tAnalysis.formulaClassification,
2768
- normalForms: {
2769
- nnf: formulaToString(nnf),
2770
- cnf: formulaToString(cnf),
2771
- dnf: formulaToString(dnf),
2772
- },
2773
- };
2774
- }
2775
- truthTable(formula) {
2776
- const atoms = Array.from(collectAtoms(formula)).sort();
2777
- const n = atoms.length;
2778
- const subForms = getSubFormulas(formula);
2779
- const subFormulasInfo = subForms.map((sf) => ({ formula: sf, label: formulaToString(sf) }));
2780
- // Fast path: bitset evaluation for pure propositional formulas
2781
- // Limit to n<=20 for row materialization (2^20 = ~1M rows)
2782
- if (isPurePropositional(formula) && n <= 20) {
2783
- const { result, atomMasks, total, allOnes } = evaluateBitset(formula, atoms);
2784
- const satisfyingCount = bitsetPopcount(result);
2785
- // Evaluate subformulas with bitsets too
2786
- const subBitsets = subForms.map((sf) => isPurePropositional(sf) ? evaluateBitset(sf, atoms).result : bvCreate(total));
2787
- // Materialize rows from bitset results
2788
- const rows = new Array(total);
2789
- for (let i = 0; i < total; i++) {
2790
- const v = {};
2791
- for (let j = 0; j < n; j++) {
2792
- v[atoms[j]] = bvTestBit(atomMasks.get(atoms[j]) ?? new Uint32Array(0), i);
2793
- }
2794
- rows[i] = { valuation: v, result: bvTestBit(result, i) };
2795
- }
2796
- const subFormulaValues = rows.map((_, i) => {
2797
- const vals = {};
2798
- subForms.forEach((sf, si) => {
2799
- vals[formulaToString(sf)] = bvTestBit(subBitsets[si], i);
2800
- });
2801
- return vals;
2802
- });
2803
- return {
2804
- variables: atoms,
2805
- rows,
2806
- isTautology: bvEquals(result, allOnes),
2807
- isContradiction: bvIsZero(result),
2808
- isSatisfiable: !bvIsZero(result),
2809
- subFormulas: subFormulasInfo,
2810
- subFormulaValues,
2811
- satisfyingCount,
2812
- totalCount: total,
2813
- };
2814
- }
2815
- // Fallback: classic evaluation
2816
- const valuations = generateValuations(atoms);
2817
- const rows = valuations.map((v) => ({
2818
- valuation: v,
2819
- result: evaluateClassical(formula, v),
2820
- }));
2821
- const subFormulaValues = valuations.map((v) => {
2822
- const vals = {};
2823
- subForms.forEach((sf) => {
2824
- vals[formulaToString(sf)] = evaluateClassical(sf, v);
2825
- });
2826
- return vals;
2827
- });
2828
- return {
2829
- variables: atoms,
2830
- rows,
2831
- isTautology: rows.every((r) => r.result),
2832
- isContradiction: rows.every((r) => !r.result),
2833
- isSatisfiable: rows.some((r) => r.result),
2834
- subFormulas: subFormulasInfo,
2835
- subFormulaValues,
2836
- satisfyingCount: rows.filter((r) => r.result).length,
2837
- totalCount: rows.length,
2838
- };
2839
- }
2840
- checkEquivalent(a, b) {
2841
- const wfA = this.checkWellFormed(a);
2842
- const wfB = this.checkWellFormed(b);
2843
- if (wfA.length > 0 || wfB.length > 0) {
2844
- return { status: 'error', diagnostics: [...wfA, ...wfB] };
2845
- }
2846
- const biconditional = { kind: 'biconditional', args: [a, b] };
2847
- const tt = this.truthTable(biconditional);
2848
- if (tt.isTautology) {
2849
- return {
2850
- status: 'valid',
2851
- output: `${formulaToString(a)} y ${formulaToString(b)} son EQUIVALENTES`,
2852
- truthTable: tt,
2853
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'equivalent', equiv: true }),
2854
- diagnostics: [],
2855
- };
2856
- }
2857
- const cm = tt.rows.find((r) => !r.result);
2858
- return {
2859
- status: 'invalid',
2860
- output: `${formulaToString(a)} y ${formulaToString(b)} NO son equivalentes`,
2861
- model: cm ? { type: 'propositional', valuation: cm.valuation } : undefined,
2862
- educationalNote: (0, educational_notes_1.pickEducationalNote)({ op: 'equivalent', equiv: false }),
2863
- diagnostics: [],
2864
- };
2865
- }
2866
- }
2867
- exports.ClassicalPropositional = ClassicalPropositional;
2868
- //# sourceMappingURL=propositional.js.map