@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
@@ -0,0 +1,2868 @@
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