@stevenvo780/st-lang 4.14.0 → 4.15.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 (602) hide show
  1. package/README.md +6 -6
  2. package/dist/ast/nodes.d.ts +50 -0
  3. package/dist/ast/nodes.d.ts.map +1 -1
  4. package/dist/format/stnb/__tests__/executor.test.d.ts +2 -0
  5. package/dist/format/stnb/__tests__/executor.test.d.ts.map +1 -0
  6. package/dist/format/stnb/__tests__/executor.test.js +140 -0
  7. package/dist/format/stnb/__tests__/executor.test.js.map +1 -0
  8. package/dist/format/stnb/__tests__/parser.test.d.ts +2 -0
  9. package/dist/format/stnb/__tests__/parser.test.d.ts.map +1 -0
  10. package/dist/format/stnb/__tests__/parser.test.js +119 -0
  11. package/dist/format/stnb/__tests__/parser.test.js.map +1 -0
  12. package/dist/format/stnb/__tests__/renderer.test.d.ts +2 -0
  13. package/dist/format/stnb/__tests__/renderer.test.d.ts.map +1 -0
  14. package/dist/format/stnb/__tests__/renderer.test.js +109 -0
  15. package/dist/format/stnb/__tests__/renderer.test.js.map +1 -0
  16. package/dist/format/stnb/__tests__/roundtrip.test.d.ts +2 -0
  17. package/dist/format/stnb/__tests__/roundtrip.test.d.ts.map +1 -0
  18. package/dist/format/stnb/__tests__/roundtrip.test.js +91 -0
  19. package/dist/format/stnb/__tests__/roundtrip.test.js.map +1 -0
  20. package/dist/format/stnb/__tests__/serializer.test.d.ts +2 -0
  21. package/dist/format/stnb/__tests__/serializer.test.d.ts.map +1 -0
  22. package/dist/format/stnb/__tests__/serializer.test.js +60 -0
  23. package/dist/format/stnb/__tests__/serializer.test.js.map +1 -0
  24. package/dist/format/stnb/executor.d.ts +29 -0
  25. package/dist/format/stnb/executor.d.ts.map +1 -0
  26. package/dist/format/stnb/executor.js +139 -0
  27. package/dist/format/stnb/executor.js.map +1 -0
  28. package/dist/format/stnb/index.d.ts +19 -0
  29. package/dist/format/stnb/index.d.ts.map +1 -0
  30. package/dist/format/stnb/index.js +28 -0
  31. package/dist/format/stnb/index.js.map +1 -0
  32. package/dist/format/stnb/parser.d.ts +14 -0
  33. package/dist/format/stnb/parser.d.ts.map +1 -0
  34. package/dist/format/stnb/parser.js +123 -0
  35. package/dist/format/stnb/parser.js.map +1 -0
  36. package/dist/format/stnb/renderer-html.d.ts +11 -0
  37. package/dist/format/stnb/renderer-html.d.ts.map +1 -0
  38. package/dist/format/stnb/renderer-html.js +180 -0
  39. package/dist/format/stnb/renderer-html.js.map +1 -0
  40. package/dist/format/stnb/renderer-markdown.d.ts +13 -0
  41. package/dist/format/stnb/renderer-markdown.d.ts.map +1 -0
  42. package/dist/format/stnb/renderer-markdown.js +92 -0
  43. package/dist/format/stnb/renderer-markdown.js.map +1 -0
  44. package/dist/format/stnb/serializer.d.ts +14 -0
  45. package/dist/format/stnb/serializer.d.ts.map +1 -0
  46. package/dist/format/stnb/serializer.js +21 -0
  47. package/dist/format/stnb/serializer.js.map +1 -0
  48. package/dist/format/stnb/types.d.ts +45 -0
  49. package/dist/format/stnb/types.d.ts.map +1 -0
  50. package/dist/format/stnb/types.js +7 -0
  51. package/dist/format/stnb/types.js.map +1 -0
  52. package/dist/index.d.ts +5 -0
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +7 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/logic/profile-bridge/index.d.ts.map +1 -1
  57. package/dist/logic/profile-bridge/index.js +20 -3
  58. package/dist/logic/profile-bridge/index.js.map +1 -1
  59. package/dist/logic/profiles/classical/propositional.d.ts.map +1 -1
  60. package/dist/logic/profiles/classical/propositional.js.map +1 -1
  61. package/dist/logic/profiles/ctl/check.d.ts.map +1 -1
  62. package/dist/logic/profiles/ctl/check.js +21 -11
  63. package/dist/logic/profiles/ctl/check.js.map +1 -1
  64. package/dist/logic/profiles/ctl/witness.d.ts.map +1 -1
  65. package/dist/logic/profiles/ctl/witness.js +2 -0
  66. package/dist/logic/profiles/ctl/witness.js.map +1 -1
  67. package/dist/logic/profiles/description-logic/types.d.ts +15 -0
  68. package/dist/logic/profiles/description-logic/types.d.ts.map +1 -1
  69. package/dist/logic/profiles/description-logic/types.js +13 -0
  70. package/dist/logic/profiles/description-logic/types.js.map +1 -1
  71. package/dist/logic/profiles/dl-hybrid/__tests__/differential.test.d.ts +2 -0
  72. package/dist/logic/profiles/dl-hybrid/__tests__/differential.test.d.ts.map +1 -0
  73. package/dist/logic/profiles/dl-hybrid/__tests__/differential.test.js +141 -0
  74. package/dist/logic/profiles/dl-hybrid/__tests__/differential.test.js.map +1 -0
  75. package/dist/logic/profiles/dl-hybrid/__tests__/examples.test.d.ts +2 -0
  76. package/dist/logic/profiles/dl-hybrid/__tests__/examples.test.d.ts.map +1 -0
  77. package/dist/logic/profiles/dl-hybrid/__tests__/examples.test.js +55 -0
  78. package/dist/logic/profiles/dl-hybrid/__tests__/examples.test.js.map +1 -0
  79. package/dist/logic/profiles/dl-hybrid/__tests__/parser.test.d.ts +2 -0
  80. package/dist/logic/profiles/dl-hybrid/__tests__/parser.test.d.ts.map +1 -0
  81. package/dist/logic/profiles/dl-hybrid/__tests__/parser.test.js +149 -0
  82. package/dist/logic/profiles/dl-hybrid/__tests__/parser.test.js.map +1 -0
  83. package/dist/logic/profiles/dl-hybrid/__tests__/tableau.test.d.ts +2 -0
  84. package/dist/logic/profiles/dl-hybrid/__tests__/tableau.test.d.ts.map +1 -0
  85. package/dist/logic/profiles/dl-hybrid/__tests__/tableau.test.js +105 -0
  86. package/dist/logic/profiles/dl-hybrid/__tests__/tableau.test.js.map +1 -0
  87. package/dist/logic/profiles/dl-hybrid/ast.d.ts +160 -0
  88. package/dist/logic/profiles/dl-hybrid/ast.d.ts.map +1 -0
  89. package/dist/logic/profiles/dl-hybrid/ast.js +261 -0
  90. package/dist/logic/profiles/dl-hybrid/ast.js.map +1 -0
  91. package/dist/logic/profiles/dl-hybrid/differential.d.ts +61 -0
  92. package/dist/logic/profiles/dl-hybrid/differential.d.ts.map +1 -0
  93. package/dist/logic/profiles/dl-hybrid/differential.js +291 -0
  94. package/dist/logic/profiles/dl-hybrid/differential.js.map +1 -0
  95. package/dist/logic/profiles/dl-hybrid/index.d.ts +10 -0
  96. package/dist/logic/profiles/dl-hybrid/index.d.ts.map +1 -0
  97. package/dist/logic/profiles/dl-hybrid/index.js +90 -0
  98. package/dist/logic/profiles/dl-hybrid/index.js.map +1 -0
  99. package/dist/logic/profiles/dl-hybrid/parser.d.ts +8 -0
  100. package/dist/logic/profiles/dl-hybrid/parser.d.ts.map +1 -0
  101. package/dist/logic/profiles/dl-hybrid/parser.js +410 -0
  102. package/dist/logic/profiles/dl-hybrid/parser.js.map +1 -0
  103. package/dist/logic/profiles/dl-hybrid/profile.d.ts +23 -0
  104. package/dist/logic/profiles/dl-hybrid/profile.d.ts.map +1 -0
  105. package/dist/logic/profiles/dl-hybrid/profile.js +122 -0
  106. package/dist/logic/profiles/dl-hybrid/profile.js.map +1 -0
  107. package/dist/logic/profiles/dl-hybrid/semantics.d.ts +16 -0
  108. package/dist/logic/profiles/dl-hybrid/semantics.d.ts.map +1 -0
  109. package/dist/logic/profiles/dl-hybrid/semantics.js +181 -0
  110. package/dist/logic/profiles/dl-hybrid/semantics.js.map +1 -0
  111. package/dist/logic/profiles/dl-hybrid/tableau.d.ts +38 -0
  112. package/dist/logic/profiles/dl-hybrid/tableau.d.ts.map +1 -0
  113. package/dist/logic/profiles/dl-hybrid/tableau.js +289 -0
  114. package/dist/logic/profiles/dl-hybrid/tableau.js.map +1 -0
  115. package/dist/logic/profiles/hybrid-logic/types.d.ts +17 -0
  116. package/dist/logic/profiles/hybrid-logic/types.d.ts.map +1 -1
  117. package/dist/logic/profiles/hybrid-logic/types.js +17 -0
  118. package/dist/logic/profiles/hybrid-logic/types.js.map +1 -1
  119. package/dist/logic/profiles/intuitionistic-nj/kripke.d.ts.map +1 -1
  120. package/dist/logic/profiles/intuitionistic-nj/kripke.js +8 -5
  121. package/dist/logic/profiles/intuitionistic-nj/kripke.js.map +1 -1
  122. package/dist/logic/profiles/ltl-sat/tableau.d.ts +31 -0
  123. package/dist/logic/profiles/ltl-sat/tableau.d.ts.map +1 -1
  124. package/dist/logic/profiles/ltl-sat/tableau.js +18 -0
  125. package/dist/logic/profiles/ltl-sat/tableau.js.map +1 -1
  126. package/dist/logic/profiles/ltl-sat/types.d.ts +15 -0
  127. package/dist/logic/profiles/ltl-sat/types.d.ts.map +1 -1
  128. package/dist/logic/profiles/ltl-sat/types.js +2 -1
  129. package/dist/logic/profiles/ltl-sat/types.js.map +1 -1
  130. package/dist/logic/profiles/modal-frame-axioms/formula.d.ts +10 -0
  131. package/dist/logic/profiles/modal-frame-axioms/formula.d.ts.map +1 -1
  132. package/dist/logic/profiles/modal-frame-axioms/formula.js +10 -0
  133. package/dist/logic/profiles/modal-frame-axioms/formula.js.map +1 -1
  134. package/dist/logic/profiles/mu-calculus/check.d.ts.map +1 -1
  135. package/dist/logic/profiles/mu-calculus/check.js +7 -4
  136. package/dist/logic/profiles/mu-calculus/check.js.map +1 -1
  137. package/dist/logic/profiles/natural-deduction-nk/formula.d.ts +8 -0
  138. package/dist/logic/profiles/natural-deduction-nk/formula.d.ts.map +1 -1
  139. package/dist/logic/profiles/natural-deduction-nk/formula.js +8 -0
  140. package/dist/logic/profiles/natural-deduction-nk/formula.js.map +1 -1
  141. package/dist/logic/profiles/quantum/index.d.ts.map +1 -1
  142. package/dist/logic/profiles/quantum/index.js +11 -8
  143. package/dist/logic/profiles/quantum/index.js.map +1 -1
  144. package/dist/logic/profiles/sequent-lj/index.d.ts +90 -0
  145. package/dist/logic/profiles/sequent-lj/index.d.ts.map +1 -0
  146. package/dist/logic/profiles/sequent-lj/index.js +903 -0
  147. package/dist/logic/profiles/sequent-lj/index.js.map +1 -0
  148. package/dist/logic/profiles/shared/tableau-engine.d.ts.map +1 -1
  149. package/dist/logic/profiles/shared/tableau-engine.js +0 -17
  150. package/dist/logic/profiles/shared/tableau-engine.js.map +1 -1
  151. package/dist/namespaces/proof-systems.d.ts +1 -1
  152. package/dist/namespaces/proof-systems.d.ts.map +1 -1
  153. package/dist/namespaces/proof-systems.js.map +1 -1
  154. package/dist/namespaces/semantics.d.ts +1 -1
  155. package/dist/namespaces/semantics.d.ts.map +1 -1
  156. package/dist/namespaces/semantics.js.map +1 -1
  157. package/dist/proof-systems/distributed-exchange/index.d.ts +29 -0
  158. package/dist/proof-systems/distributed-exchange/index.d.ts.map +1 -1
  159. package/dist/proof-systems/distributed-exchange/index.js +18 -0
  160. package/dist/proof-systems/distributed-exchange/index.js.map +1 -1
  161. package/dist/proof-systems/fol-prover/types.d.ts +16 -0
  162. package/dist/proof-systems/fol-prover/types.d.ts.map +1 -1
  163. package/dist/proof-systems/fol-prover/types.js +7 -0
  164. package/dist/proof-systems/fol-prover/types.js.map +1 -1
  165. package/dist/proof-systems/fol-prover-advanced/index.d.ts +3 -3
  166. package/dist/proof-systems/fol-prover-advanced/index.d.ts.map +1 -1
  167. package/dist/proof-systems/fol-prover-advanced/index.js.map +1 -1
  168. package/dist/proof-systems/fol-prover-advanced/ordering.js +1 -1
  169. package/dist/proof-systems/fol-prover-advanced/prover.d.ts.map +1 -1
  170. package/dist/proof-systems/fol-prover-advanced/prover.js +19 -12
  171. package/dist/proof-systems/fol-prover-advanced/prover.js.map +1 -1
  172. package/dist/proof-systems/fol-prover-advanced/resolve.d.ts.map +1 -1
  173. package/dist/proof-systems/fol-prover-advanced/resolve.js +7 -7
  174. package/dist/proof-systems/fol-prover-advanced/resolve.js.map +1 -1
  175. package/dist/proof-systems/fol-prover-advanced/subsumption.d.ts.map +1 -1
  176. package/dist/proof-systems/fol-prover-advanced/subsumption.js.map +1 -1
  177. package/dist/proof-systems/fol-prover-advanced/types.d.ts +12 -0
  178. package/dist/proof-systems/fol-prover-advanced/types.d.ts.map +1 -1
  179. package/dist/proof-systems/fol-prover-advanced/unify.js +2 -2
  180. package/dist/proof-systems/fol-prover-equality/term-utils.d.ts +46 -0
  181. package/dist/proof-systems/fol-prover-equality/term-utils.d.ts.map +1 -1
  182. package/dist/proof-systems/fol-prover-equality/term-utils.js +46 -0
  183. package/dist/proof-systems/fol-prover-equality/term-utils.js.map +1 -1
  184. package/dist/proof-systems/proof-nets/correctness.d.ts.map +1 -1
  185. package/dist/proof-systems/proof-nets/correctness.js +24 -12
  186. package/dist/proof-systems/proof-nets/correctness.js.map +1 -1
  187. package/dist/proof-systems/proof-nets/types.d.ts +18 -0
  188. package/dist/proof-systems/proof-nets/types.d.ts.map +1 -1
  189. package/dist/proof-systems/proof-nets/types.js +6 -0
  190. package/dist/proof-systems/proof-nets/types.js.map +1 -1
  191. package/dist/proof-systems/tableau-framework/TableauProver.d.ts.map +1 -1
  192. package/dist/proof-systems/tableau-framework/TableauProver.js +5 -5
  193. package/dist/proof-systems/tableau-framework/TableauProver.js.map +1 -1
  194. package/dist/proof-systems/tableau-framework/propositional.d.ts.map +1 -1
  195. package/dist/proof-systems/tableau-framework/propositional.js +21 -21
  196. package/dist/proof-systems/tableau-framework/propositional.js.map +1 -1
  197. package/dist/reasoning/ban-logic/terms.d.ts +24 -0
  198. package/dist/reasoning/ban-logic/terms.d.ts.map +1 -1
  199. package/dist/reasoning/ban-logic/terms.js +24 -0
  200. package/dist/reasoning/ban-logic/terms.js.map +1 -1
  201. package/dist/reasoning/bayesian/factor.js +8 -8
  202. package/dist/reasoning/bayesian/factor.js.map +1 -1
  203. package/dist/reasoning/bayesian/inference.d.ts.map +1 -1
  204. package/dist/reasoning/bayesian/inference.js +11 -5
  205. package/dist/reasoning/bayesian/inference.js.map +1 -1
  206. package/dist/reasoning/combinatorics/generators.js.map +1 -1
  207. package/dist/reasoning/combinatorics/index.d.ts +3 -3
  208. package/dist/reasoning/combinatorics/index.d.ts.map +1 -1
  209. package/dist/reasoning/combinatorics/index.js.map +1 -1
  210. package/dist/reasoning/combinatorics/set-partitions.js.map +1 -1
  211. package/dist/reasoning/combinatorics/special-numbers.d.ts.map +1 -1
  212. package/dist/reasoning/combinatorics/special-numbers.js.map +1 -1
  213. package/dist/reasoning/constructive-analysis/cauchy.js +2 -2
  214. package/dist/reasoning/constructive-analysis/compact.js +1 -1
  215. package/dist/reasoning/constructive-analysis/continuity.d.ts.map +1 -1
  216. package/dist/reasoning/constructive-analysis/continuity.js +4 -4
  217. package/dist/reasoning/constructive-analysis/continuity.js.map +1 -1
  218. package/dist/reasoning/constructive-analysis/index.d.ts.map +1 -1
  219. package/dist/reasoning/constructive-analysis/index.js.map +1 -1
  220. package/dist/reasoning/constructive-analysis/ivt.d.ts.map +1 -1
  221. package/dist/reasoning/constructive-analysis/ivt.js +2 -2
  222. package/dist/reasoning/constructive-analysis/ivt.js.map +1 -1
  223. package/dist/reasoning/constructive-reals/index.d.ts.map +1 -1
  224. package/dist/reasoning/constructive-reals/index.js +4 -8
  225. package/dist/reasoning/constructive-reals/index.js.map +1 -1
  226. package/dist/reasoning/dl-hybrid/__tests__/invariant.test.d.ts +2 -0
  227. package/dist/reasoning/dl-hybrid/__tests__/invariant.test.d.ts.map +1 -0
  228. package/dist/reasoning/dl-hybrid/__tests__/invariant.test.js +74 -0
  229. package/dist/reasoning/dl-hybrid/__tests__/invariant.test.js.map +1 -0
  230. package/dist/reasoning/dl-hybrid/index.d.ts +3 -0
  231. package/dist/reasoning/dl-hybrid/index.d.ts.map +1 -0
  232. package/dist/reasoning/dl-hybrid/index.js +16 -0
  233. package/dist/reasoning/dl-hybrid/index.js.map +1 -0
  234. package/dist/reasoning/dl-hybrid/invariant-search.d.ts +39 -0
  235. package/dist/reasoning/dl-hybrid/invariant-search.d.ts.map +1 -0
  236. package/dist/reasoning/dl-hybrid/invariant-search.js +188 -0
  237. package/dist/reasoning/dl-hybrid/invariant-search.js.map +1 -0
  238. package/dist/reasoning/galois-fields/index.d.ts +64 -0
  239. package/dist/reasoning/galois-fields/index.d.ts.map +1 -1
  240. package/dist/reasoning/galois-fields/index.js +56 -6
  241. package/dist/reasoning/galois-fields/index.js.map +1 -1
  242. package/dist/reasoning/graph-theory/index.d.ts +31 -0
  243. package/dist/reasoning/graph-theory/index.d.ts.map +1 -1
  244. package/dist/reasoning/graph-theory/index.js +28 -10
  245. package/dist/reasoning/graph-theory/index.js.map +1 -1
  246. package/dist/reasoning/hoare-logic/index.d.ts +34 -0
  247. package/dist/reasoning/hoare-logic/index.d.ts.map +1 -1
  248. package/dist/reasoning/hoare-logic/index.js +26 -0
  249. package/dist/reasoning/hoare-logic/index.js.map +1 -1
  250. package/dist/reasoning/hyperreal/index.d.ts +30 -0
  251. package/dist/reasoning/hyperreal/index.d.ts.map +1 -1
  252. package/dist/reasoning/hyperreal/index.js +25 -0
  253. package/dist/reasoning/hyperreal/index.js.map +1 -1
  254. package/dist/reasoning/information-theory/index.d.ts +34 -0
  255. package/dist/reasoning/information-theory/index.d.ts.map +1 -1
  256. package/dist/reasoning/information-theory/index.js +27 -44
  257. package/dist/reasoning/information-theory/index.js.map +1 -1
  258. package/dist/reasoning/lemma-rag/__tests__/benchmarks.test.d.ts +2 -0
  259. package/dist/reasoning/lemma-rag/__tests__/benchmarks.test.d.ts.map +1 -0
  260. package/dist/reasoning/lemma-rag/__tests__/benchmarks.test.js +72 -0
  261. package/dist/reasoning/lemma-rag/__tests__/benchmarks.test.js.map +1 -0
  262. package/dist/reasoning/lemma-rag/__tests__/embedding.test.d.ts +2 -0
  263. package/dist/reasoning/lemma-rag/__tests__/embedding.test.d.ts.map +1 -0
  264. package/dist/reasoning/lemma-rag/__tests__/embedding.test.js +102 -0
  265. package/dist/reasoning/lemma-rag/__tests__/embedding.test.js.map +1 -0
  266. package/dist/reasoning/lemma-rag/__tests__/integration.test.d.ts +2 -0
  267. package/dist/reasoning/lemma-rag/__tests__/integration.test.d.ts.map +1 -0
  268. package/dist/reasoning/lemma-rag/__tests__/integration.test.js +40 -0
  269. package/dist/reasoning/lemma-rag/__tests__/integration.test.js.map +1 -0
  270. package/dist/reasoning/lemma-rag/__tests__/query.test.d.ts +2 -0
  271. package/dist/reasoning/lemma-rag/__tests__/query.test.d.ts.map +1 -0
  272. package/dist/reasoning/lemma-rag/__tests__/query.test.js +136 -0
  273. package/dist/reasoning/lemma-rag/__tests__/query.test.js.map +1 -0
  274. package/dist/reasoning/lemma-rag/__tests__/retrieval.test.d.ts +2 -0
  275. package/dist/reasoning/lemma-rag/__tests__/retrieval.test.d.ts.map +1 -0
  276. package/dist/reasoning/lemma-rag/__tests__/retrieval.test.js +147 -0
  277. package/dist/reasoning/lemma-rag/__tests__/retrieval.test.js.map +1 -0
  278. package/dist/reasoning/lemma-rag/benchmarks.d.ts +30 -0
  279. package/dist/reasoning/lemma-rag/benchmarks.d.ts.map +1 -0
  280. package/dist/reasoning/lemma-rag/benchmarks.js +177 -0
  281. package/dist/reasoning/lemma-rag/benchmarks.js.map +1 -0
  282. package/dist/reasoning/lemma-rag/embedding.d.ts +26 -0
  283. package/dist/reasoning/lemma-rag/embedding.d.ts.map +1 -0
  284. package/dist/reasoning/lemma-rag/embedding.js +243 -0
  285. package/dist/reasoning/lemma-rag/embedding.js.map +1 -0
  286. package/dist/reasoning/lemma-rag/index-store.d.ts +35 -0
  287. package/dist/reasoning/lemma-rag/index-store.d.ts.map +1 -0
  288. package/dist/reasoning/lemma-rag/index-store.js +105 -0
  289. package/dist/reasoning/lemma-rag/index-store.js.map +1 -0
  290. package/dist/reasoning/lemma-rag/index.d.ts +9 -0
  291. package/dist/reasoning/lemma-rag/index.d.ts.map +1 -0
  292. package/dist/reasoning/lemma-rag/index.js +34 -0
  293. package/dist/reasoning/lemma-rag/index.js.map +1 -0
  294. package/dist/reasoning/lemma-rag/query.d.ts +48 -0
  295. package/dist/reasoning/lemma-rag/query.d.ts.map +1 -0
  296. package/dist/reasoning/lemma-rag/query.js +92 -0
  297. package/dist/reasoning/lemma-rag/query.js.map +1 -0
  298. package/dist/reasoning/lemma-rag/retrieval.d.ts +33 -0
  299. package/dist/reasoning/lemma-rag/retrieval.d.ts.map +1 -0
  300. package/dist/reasoning/lemma-rag/retrieval.js +123 -0
  301. package/dist/reasoning/lemma-rag/retrieval.js.map +1 -0
  302. package/dist/reasoning/lemma-rag/types.d.ts +52 -0
  303. package/dist/reasoning/lemma-rag/types.d.ts.map +1 -0
  304. package/dist/reasoning/lemma-rag/types.js +13 -0
  305. package/dist/reasoning/lemma-rag/types.js.map +1 -0
  306. package/dist/reasoning/lemma-synthesis/index.d.ts +36 -0
  307. package/dist/reasoning/lemma-synthesis/index.d.ts.map +1 -1
  308. package/dist/reasoning/lemma-synthesis/index.js +12 -0
  309. package/dist/reasoning/lemma-synthesis/index.js.map +1 -1
  310. package/dist/reasoning/linear-algebra/index.d.ts +38 -0
  311. package/dist/reasoning/linear-algebra/index.d.ts.map +1 -1
  312. package/dist/reasoning/linear-algebra/index.js +34 -5
  313. package/dist/reasoning/linear-algebra/index.js.map +1 -1
  314. package/dist/reasoning/markov-logic/grounding.js +1 -1
  315. package/dist/reasoning/markov-logic/grounding.js.map +1 -1
  316. package/dist/reasoning/markov-logic/inference.js +1 -1
  317. package/dist/reasoning/markov-logic/inference.js.map +1 -1
  318. package/dist/reasoning/order-theory/index.d.ts +121 -0
  319. package/dist/reasoning/order-theory/index.d.ts.map +1 -0
  320. package/dist/reasoning/order-theory/index.js +562 -0
  321. package/dist/reasoning/order-theory/index.js.map +1 -0
  322. package/dist/reasoning/peano-arithmetic/index.d.ts +114 -0
  323. package/dist/reasoning/peano-arithmetic/index.d.ts.map +1 -0
  324. package/dist/reasoning/peano-arithmetic/index.js +650 -0
  325. package/dist/reasoning/peano-arithmetic/index.js.map +1 -0
  326. package/dist/reasoning/polynomial-ring/index.d.ts +80 -0
  327. package/dist/reasoning/polynomial-ring/index.d.ts.map +1 -1
  328. package/dist/reasoning/polynomial-ring/index.js +75 -0
  329. package/dist/reasoning/polynomial-ring/index.js.map +1 -1
  330. package/dist/reasoning/proof-mining/__tests__/extractor.test.d.ts +2 -0
  331. package/dist/reasoning/proof-mining/__tests__/extractor.test.d.ts.map +1 -0
  332. package/dist/reasoning/proof-mining/__tests__/extractor.test.js +263 -0
  333. package/dist/reasoning/proof-mining/__tests__/extractor.test.js.map +1 -0
  334. package/dist/reasoning/proof-mining/__tests__/generalizer.test.d.ts +2 -0
  335. package/dist/reasoning/proof-mining/__tests__/generalizer.test.d.ts.map +1 -0
  336. package/dist/reasoning/proof-mining/__tests__/generalizer.test.js +123 -0
  337. package/dist/reasoning/proof-mining/__tests__/generalizer.test.js.map +1 -0
  338. package/dist/reasoning/proof-mining/__tests__/integration.test.d.ts +2 -0
  339. package/dist/reasoning/proof-mining/__tests__/integration.test.d.ts.map +1 -0
  340. package/dist/reasoning/proof-mining/__tests__/integration.test.js +128 -0
  341. package/dist/reasoning/proof-mining/__tests__/integration.test.js.map +1 -0
  342. package/dist/reasoning/proof-mining/__tests__/persistence.test.d.ts +2 -0
  343. package/dist/reasoning/proof-mining/__tests__/persistence.test.d.ts.map +1 -0
  344. package/dist/reasoning/proof-mining/__tests__/persistence.test.js +119 -0
  345. package/dist/reasoning/proof-mining/__tests__/persistence.test.js.map +1 -0
  346. package/dist/reasoning/proof-mining/__tests__/ranker.test.d.ts +2 -0
  347. package/dist/reasoning/proof-mining/__tests__/ranker.test.d.ts.map +1 -0
  348. package/dist/reasoning/proof-mining/__tests__/ranker.test.js +93 -0
  349. package/dist/reasoning/proof-mining/__tests__/ranker.test.js.map +1 -0
  350. package/dist/reasoning/proof-mining/extractor.d.ts +73 -0
  351. package/dist/reasoning/proof-mining/extractor.d.ts.map +1 -0
  352. package/dist/reasoning/proof-mining/extractor.js +170 -0
  353. package/dist/reasoning/proof-mining/extractor.js.map +1 -0
  354. package/dist/reasoning/proof-mining/generalizer.d.ts +46 -0
  355. package/dist/reasoning/proof-mining/generalizer.d.ts.map +1 -0
  356. package/dist/reasoning/proof-mining/generalizer.js +245 -0
  357. package/dist/reasoning/proof-mining/generalizer.js.map +1 -0
  358. package/dist/reasoning/proof-mining/index.d.ts +62 -0
  359. package/dist/reasoning/proof-mining/index.d.ts.map +1 -0
  360. package/dist/reasoning/proof-mining/index.js +235 -0
  361. package/dist/reasoning/proof-mining/index.js.map +1 -0
  362. package/dist/reasoning/proof-mining/persistence.d.ts +35 -0
  363. package/dist/reasoning/proof-mining/persistence.d.ts.map +1 -0
  364. package/dist/reasoning/proof-mining/persistence.js +126 -0
  365. package/dist/reasoning/proof-mining/persistence.js.map +1 -0
  366. package/dist/reasoning/proof-mining/ranker.d.ts +29 -0
  367. package/dist/reasoning/proof-mining/ranker.d.ts.map +1 -0
  368. package/dist/reasoning/proof-mining/ranker.js +71 -0
  369. package/dist/reasoning/proof-mining/ranker.js.map +1 -0
  370. package/dist/reasoning/proof-mining/statistics.d.ts +11 -0
  371. package/dist/reasoning/proof-mining/statistics.d.ts.map +1 -0
  372. package/dist/reasoning/proof-mining/statistics.js +44 -0
  373. package/dist/reasoning/proof-mining/statistics.js.map +1 -0
  374. package/dist/reasoning/proof-mining/types.d.ts +117 -0
  375. package/dist/reasoning/proof-mining/types.d.ts.map +1 -0
  376. package/dist/reasoning/proof-mining/types.js +24 -0
  377. package/dist/reasoning/proof-mining/types.js.map +1 -0
  378. package/dist/reasoning/separation-logic/index.d.ts +30 -0
  379. package/dist/reasoning/separation-logic/index.d.ts.map +1 -1
  380. package/dist/reasoning/separation-logic/index.js +21 -0
  381. package/dist/reasoning/separation-logic/index.js.map +1 -1
  382. package/dist/reasoning/set-theory/hf-functions.js +3 -3
  383. package/dist/reasoning/set-theory/hf-sets.js +1 -1
  384. package/dist/reasoning/set-theory/index.d.ts +3 -3
  385. package/dist/reasoning/set-theory/index.d.ts.map +1 -1
  386. package/dist/reasoning/set-theory/zfc-axioms.js +4 -4
  387. package/dist/reasoning/tactic-dsl/tactics.d.ts +87 -0
  388. package/dist/reasoning/tactic-dsl/tactics.d.ts.map +1 -1
  389. package/dist/reasoning/tactic-dsl/tactics.js +86 -36
  390. package/dist/reasoning/tactic-dsl/tactics.js.map +1 -1
  391. package/dist/reasoning/topology/index.d.ts +81 -0
  392. package/dist/reasoning/topology/index.d.ts.map +1 -1
  393. package/dist/reasoning/topology/index.js +69 -45
  394. package/dist/reasoning/topology/index.js.map +1 -1
  395. package/dist/runtime/countermodel-min/minimize.js +0 -0
  396. package/dist/runtime/countermodel-min/minimize.js.map +1 -1
  397. package/dist/runtime/csp-hoare/semantics.d.ts +12 -0
  398. package/dist/runtime/csp-hoare/semantics.d.ts.map +1 -1
  399. package/dist/runtime/csp-hoare/semantics.js +12 -0
  400. package/dist/runtime/csp-hoare/semantics.js.map +1 -1
  401. package/dist/runtime/symbolic-diff/constructors.d.ts +20 -0
  402. package/dist/runtime/symbolic-diff/constructors.d.ts.map +1 -1
  403. package/dist/runtime/symbolic-diff/constructors.js +20 -0
  404. package/dist/runtime/symbolic-diff/constructors.js.map +1 -1
  405. package/dist/runtime/term-rewriting/term-utils.d.ts.map +1 -1
  406. package/dist/runtime/term-rewriting/term-utils.js +33 -2
  407. package/dist/runtime/term-rewriting/term-utils.js.map +1 -1
  408. package/dist/runtime/typecheck/checker.js +2 -2
  409. package/dist/runtime/typecheck/checker.js.map +1 -1
  410. package/dist/runtime/typecheck/levenshtein.js +1 -1
  411. package/dist/runtime/typecheck/levenshtein.js.map +1 -1
  412. package/dist/semantics/categorical/fin-set.d.ts.map +1 -1
  413. package/dist/semantics/categorical/fin-set.js +8 -1
  414. package/dist/semantics/categorical/fin-set.js.map +1 -1
  415. package/dist/semantics/categorical/free.d.ts.map +1 -1
  416. package/dist/semantics/categorical/free.js +8 -2
  417. package/dist/semantics/categorical/free.js.map +1 -1
  418. package/dist/semantics/categorical/limits.d.ts.map +1 -1
  419. package/dist/semantics/categorical/limits.js +13 -4
  420. package/dist/semantics/categorical/limits.js.map +1 -1
  421. package/dist/semantics/categorical/monoidal.d.ts.map +1 -1
  422. package/dist/semantics/categorical/monoidal.js +3 -1
  423. package/dist/semantics/categorical/monoidal.js.map +1 -1
  424. package/dist/semantics/text-layer/compiler.d.ts +46 -0
  425. package/dist/semantics/text-layer/compiler.d.ts.map +1 -1
  426. package/dist/semantics/text-layer/compiler.js +46 -11
  427. package/dist/semantics/text-layer/compiler.js.map +1 -1
  428. package/dist/solver/cdcl-v2/index.d.ts +8 -0
  429. package/dist/solver/cdcl-v2/index.d.ts.map +1 -1
  430. package/dist/solver/cdcl-v2/index.js +8 -0
  431. package/dist/solver/cdcl-v2/index.js.map +1 -1
  432. package/dist/solver/smt-z3/z3-wasm-backend.d.ts +0 -1
  433. package/dist/solver/smt-z3/z3-wasm-backend.d.ts.map +1 -1
  434. package/dist/solver/smt-z3/z3-wasm-backend.js +2 -3
  435. package/dist/solver/smt-z3/z3-wasm-backend.js.map +1 -1
  436. package/dist/tests/agora-integration-fixtures.test.js +7 -2
  437. package/dist/tests/agora-integration-fixtures.test.js.map +1 -1
  438. package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.d.ts +2 -0
  439. package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.d.ts.map +1 -0
  440. package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.js +123 -0
  441. package/dist/tests/coverage-90/coverage-90-cdcl-v2-deep.test.js.map +1 -0
  442. package/dist/tests/coverage-90/coverage-90-certificate-rules.test.d.ts +2 -0
  443. package/dist/tests/coverage-90/coverage-90-certificate-rules.test.d.ts.map +1 -0
  444. package/dist/tests/coverage-90/coverage-90-certificate-rules.test.js +172 -0
  445. package/dist/tests/coverage-90/coverage-90-certificate-rules.test.js.map +1 -0
  446. package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.d.ts +2 -0
  447. package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.d.ts.map +1 -0
  448. package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.js +326 -0
  449. package/dist/tests/coverage-90/coverage-90-interpreter-extra.test.js.map +1 -0
  450. package/dist/tests/coverage-90/coverage-90-interpreter-features.test.d.ts +2 -0
  451. package/dist/tests/coverage-90/coverage-90-interpreter-features.test.d.ts.map +1 -0
  452. package/dist/tests/coverage-90/coverage-90-interpreter-features.test.js +418 -0
  453. package/dist/tests/coverage-90/coverage-90-interpreter-features.test.js.map +1 -0
  454. package/dist/tests/coverage-90/coverage-90-modal-temporal.test.d.ts +2 -0
  455. package/dist/tests/coverage-90/coverage-90-modal-temporal.test.d.ts.map +1 -0
  456. package/dist/tests/coverage-90/coverage-90-modal-temporal.test.js +162 -0
  457. package/dist/tests/coverage-90/coverage-90-modal-temporal.test.js.map +1 -0
  458. package/dist/tests/coverage-90/coverage-90-nk-prover.test.d.ts +2 -0
  459. package/dist/tests/coverage-90/coverage-90-nk-prover.test.d.ts.map +1 -0
  460. package/dist/tests/coverage-90/coverage-90-nk-prover.test.js +104 -0
  461. package/dist/tests/coverage-90/coverage-90-nk-prover.test.js.map +1 -0
  462. package/dist/tests/coverage-90/coverage-90-parser-deep.test.d.ts +2 -0
  463. package/dist/tests/coverage-90/coverage-90-parser-deep.test.d.ts.map +1 -0
  464. package/dist/tests/coverage-90/coverage-90-parser-deep.test.js +262 -0
  465. package/dist/tests/coverage-90/coverage-90-parser-deep.test.js.map +1 -0
  466. package/dist/tests/coverage-90/coverage-90-sat-engines.test.d.ts +2 -0
  467. package/dist/tests/coverage-90/coverage-90-sat-engines.test.d.ts.map +1 -0
  468. package/dist/tests/coverage-90/coverage-90-sat-engines.test.js +101 -0
  469. package/dist/tests/coverage-90/coverage-90-sat-engines.test.js.map +1 -0
  470. package/dist/tests/coverage-90/coverage-90-sequent-lk.test.d.ts +2 -0
  471. package/dist/tests/coverage-90/coverage-90-sequent-lk.test.d.ts.map +1 -0
  472. package/dist/tests/coverage-90/coverage-90-sequent-lk.test.js +219 -0
  473. package/dist/tests/coverage-90/coverage-90-sequent-lk.test.js.map +1 -0
  474. package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.d.ts +2 -0
  475. package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.d.ts.map +1 -0
  476. package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.js +154 -0
  477. package/dist/tests/coverage-90/coverage-90-smt-lib-parser.test.js.map +1 -0
  478. package/dist/tests/coverage-95/first-order.test.js.map +1 -1
  479. package/dist/tests/coverage-95/fol-prover.test.js.map +1 -1
  480. package/dist/tests/integration/cross-modules.test.js +43 -19
  481. package/dist/tests/integration/cross-modules.test.js.map +1 -1
  482. package/dist/tests/logic/ctl/check.test.js.map +1 -1
  483. package/dist/tests/logic/profile-bridge/translations.test.js +3 -3
  484. package/dist/tests/logic/profile-bridge/translations.test.js.map +1 -1
  485. package/dist/tests/logic/profiles/sequent-lj/lj.test.d.ts +2 -0
  486. package/dist/tests/logic/profiles/sequent-lj/lj.test.d.ts.map +1 -0
  487. package/dist/tests/logic/profiles/sequent-lj/lj.test.js +400 -0
  488. package/dist/tests/logic/profiles/sequent-lj/lj.test.js.map +1 -0
  489. package/dist/tests/logic/sequent-g3/prover.test.js.map +1 -1
  490. package/dist/tests/logic/substructural/prover.test.js.map +1 -1
  491. package/dist/tests/proof-systems/fol-prover-advanced/prover.test.js +40 -13
  492. package/dist/tests/proof-systems/fol-prover-advanced/prover.test.js.map +1 -1
  493. package/dist/tests/proof-systems/higher-order-unify/ho-unify.test.js.map +1 -1
  494. package/dist/tests/proof-systems/tableau-framework/tableau.test.js +8 -8
  495. package/dist/tests/proof-systems/tableau-framework/tableau.test.js.map +1 -1
  496. package/dist/tests/properties/agm.property.test.js +1 -1
  497. package/dist/tests/properties/agm.property.test.js.map +1 -1
  498. package/dist/tests/properties/anti-unification.property.test.js.map +1 -1
  499. package/dist/tests/properties/argumentation.property.test.js.map +1 -1
  500. package/dist/tests/properties/bisimulation.property.test.js.map +1 -1
  501. package/dist/tests/properties/cdcl.property.test.js.map +1 -1
  502. package/dist/tests/properties/coinduction.property.test.js.map +1 -1
  503. package/dist/tests/properties/constructive-reals.property.test.js.map +1 -1
  504. package/dist/tests/properties/csp.property.test.js +1 -3
  505. package/dist/tests/properties/csp.property.test.js.map +1 -1
  506. package/dist/tests/properties/generators.d.ts +1 -1
  507. package/dist/tests/properties/generators.d.ts.map +1 -1
  508. package/dist/tests/properties/generators.js +22 -30
  509. package/dist/tests/properties/generators.js.map +1 -1
  510. package/dist/tests/properties/intuit-nj.property.test.js +3 -1
  511. package/dist/tests/properties/intuit-nj.property.test.js.map +1 -1
  512. package/dist/tests/properties/lambda-calc.property.test.js.map +1 -1
  513. package/dist/tests/properties/mln.property.test.js +1 -3
  514. package/dist/tests/properties/mln.property.test.js.map +1 -1
  515. package/dist/tests/properties/planning.property.test.js.map +1 -1
  516. package/dist/tests/properties/profile-bridge.property.test.js.map +1 -1
  517. package/dist/tests/properties/theorem-cache.property.test.js.map +1 -1
  518. package/dist/tests/protocol-text-layer.test.js.map +1 -1
  519. package/dist/tests/reasoning/combinatorics/combinatorics.test.js +1 -1
  520. package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.js +9 -9
  521. package/dist/tests/reasoning/constructive-analysis/constructive-analysis.test.js.map +1 -1
  522. package/dist/tests/reasoning/linear-algebra/linear-algebra.test.js +80 -38
  523. package/dist/tests/reasoning/linear-algebra/linear-algebra.test.js.map +1 -1
  524. package/dist/tests/reasoning/order-theory/order-theory.test.d.ts +2 -0
  525. package/dist/tests/reasoning/order-theory/order-theory.test.d.ts.map +1 -0
  526. package/dist/tests/reasoning/order-theory/order-theory.test.js +211 -0
  527. package/dist/tests/reasoning/order-theory/order-theory.test.js.map +1 -0
  528. package/dist/tests/reasoning/peano-arithmetic/peano.test.d.ts +2 -0
  529. package/dist/tests/reasoning/peano-arithmetic/peano.test.d.ts.map +1 -0
  530. package/dist/tests/reasoning/peano-arithmetic/peano.test.js +159 -0
  531. package/dist/tests/reasoning/peano-arithmetic/peano.test.js.map +1 -0
  532. package/dist/tests/reasoning/set-theory/hf-functions.test.js +11 -11
  533. package/dist/tests/reasoning/set-theory/zfc-axioms.test.js +1 -1
  534. package/dist/tests/semantics/text-layer-v2/claim-graph.test.js.map +1 -1
  535. package/dist/tests/solver/smt-lib/emitter.test.js.map +1 -1
  536. package/dist/tests/solver/smt-z3/z3-wasm-backend.test.js.map +1 -1
  537. package/dist/tests/tooling/test-harness/test-harness.test.js +9 -6
  538. package/dist/tests/tooling/test-harness/test-harness.test.js.map +1 -1
  539. package/dist/tooling/lsp/types.d.ts +13 -0
  540. package/dist/tooling/lsp/types.d.ts.map +1 -1
  541. package/dist/tooling/lsp/types.js +1 -0
  542. package/dist/tooling/lsp/types.js.map +1 -1
  543. package/dist/tooling/test-harness/combinators.d.ts.map +1 -1
  544. package/dist/tooling/test-harness/combinators.js +4 -4
  545. package/dist/tooling/test-harness/combinators.js.map +1 -1
  546. package/dist/tooling/test-harness/coverage.js +1 -1
  547. package/dist/tooling/test-harness/generators.d.ts.map +1 -1
  548. package/dist/tooling/test-harness/generators.js.map +1 -1
  549. package/dist/tooling/test-harness/index.d.ts +1 -1
  550. package/dist/tooling/test-harness/index.d.ts.map +1 -1
  551. package/dist/tooling/test-harness/index.js.map +1 -1
  552. package/dist/tooling/test-harness/snapshot.d.ts.map +1 -1
  553. package/dist/tooling/test-harness/snapshot.js +2 -2
  554. package/dist/tooling/test-harness/snapshot.js.map +1 -1
  555. package/dist/type-theory/cubical/types.d.ts +25 -0
  556. package/dist/type-theory/cubical/types.d.ts.map +1 -1
  557. package/dist/type-theory/cubical/types.js +20 -0
  558. package/dist/type-theory/cubical/types.js.map +1 -1
  559. package/dist/type-theory/curry-howard/types.d.ts +27 -0
  560. package/dist/type-theory/curry-howard/types.d.ts.map +1 -1
  561. package/dist/type-theory/curry-howard/types.js +18 -0
  562. package/dist/type-theory/curry-howard/types.js.map +1 -1
  563. package/dist/type-theory/hindley-milner/substitution.d.ts +39 -0
  564. package/dist/type-theory/hindley-milner/substitution.d.ts.map +1 -1
  565. package/dist/type-theory/hindley-milner/substitution.js +37 -0
  566. package/dist/type-theory/hindley-milner/substitution.js.map +1 -1
  567. package/dist/type-theory/hindley-milner/types.d.ts +25 -0
  568. package/dist/type-theory/hindley-milner/types.d.ts.map +1 -1
  569. package/dist/type-theory/hindley-milner/types.js +22 -2
  570. package/dist/type-theory/hindley-milner/types.js.map +1 -1
  571. package/dist/type-theory/hol/rules.d.ts +36 -0
  572. package/dist/type-theory/hol/rules.d.ts.map +1 -1
  573. package/dist/type-theory/hol/rules.js +36 -0
  574. package/dist/type-theory/hol/rules.js.map +1 -1
  575. package/dist/type-theory/hott/types.d.ts +32 -0
  576. package/dist/type-theory/hott/types.d.ts.map +1 -1
  577. package/dist/type-theory/hott/types.js +31 -1
  578. package/dist/type-theory/hott/types.js.map +1 -1
  579. package/dist/type-theory/lambda-cube/types.d.ts +17 -0
  580. package/dist/type-theory/lambda-cube/types.d.ts.map +1 -1
  581. package/dist/type-theory/lambda-cube/types.js +13 -0
  582. package/dist/type-theory/lambda-cube/types.js.map +1 -1
  583. package/dist/type-theory/mltt/types.d.ts +19 -0
  584. package/dist/type-theory/mltt/types.d.ts.map +1 -1
  585. package/dist/type-theory/mltt/types.js +15 -1
  586. package/dist/type-theory/mltt/types.js.map +1 -1
  587. package/dist/type-theory/nbe/types.d.ts +21 -0
  588. package/dist/type-theory/nbe/types.d.ts.map +1 -1
  589. package/dist/type-theory/nbe/types.js +13 -1
  590. package/dist/type-theory/nbe/types.js.map +1 -1
  591. package/dist/type-theory/refinement-types/types.d.ts +38 -0
  592. package/dist/type-theory/refinement-types/types.d.ts.map +1 -1
  593. package/dist/type-theory/refinement-types/types.js +35 -0
  594. package/dist/type-theory/refinement-types/types.js.map +1 -1
  595. package/dist/type-theory/system-f/types.d.ts +30 -0
  596. package/dist/type-theory/system-f/types.d.ts.map +1 -1
  597. package/dist/type-theory/system-f/types.js +24 -3
  598. package/dist/type-theory/system-f/types.js.map +1 -1
  599. package/dist/types/index.d.ts +42 -0
  600. package/dist/types/index.d.ts.map +1 -1
  601. package/dist/types/index.js.map +1 -1
  602. package/package.json +26 -1
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST dL-Hybrid — Punto de entrada público del perfil
4
+ // ============================================================
5
+ // Differential Dynamic Logic (Platzer 2008/2010), subset decidible para
6
+ // verificación de sistemas híbridos: programas con estado continuo
7
+ // (ODEs polinomiales lineales) y discreto (asignaciones, choice, tests).
8
+ //
9
+ // API:
10
+ // parseFormula(src) / parseProgram(src) / parseTerm(src)
11
+ // Lexer + parser de la sintaxis textual dL.
12
+ // checkValid(f, opts?) Decisión de validez (semántica acotada).
13
+ // checkSatisfiable(f, opts?) Decisión de satisfacibilidad.
14
+ // evalInState(f, s, opts?) Evaluación concreta en un estado.
15
+ // classifyOde, flow, lieDerivative
16
+ // Análisis y evolución analítica de sistemas ODE.
17
+ // DLHybridProfile Clase para registro en el `ProfileRegistry`.
18
+ //
19
+ // Limitaciones (subset):
20
+ // • Sólo ODEs desacopladas (cada x' = f(x) sólo menciona x).
21
+ // • x' = c (constantes) y x' = a*x + b (lineal con a, b constantes).
22
+ // • Validez decidida por enumeración acotada sobre una malla finita:
23
+ // no equivalente al cálculo completo de KeYmaera, pero suficiente para
24
+ // los ejemplos canónicos.
25
+ // • Loops α* expandidos a horizonte N (loopUnfold, default 3).
26
+ // ============================================================
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.evalInState = exports.checkSatisfiable = exports.checkValid = exports.parseTerm = exports.parseProgram = exports.parseFormula = exports.evalSym = exports.lieDerivative = exports.flow = exports.classifyOde = exports.termIsLinearIn = exports.termIsConstant = exports.termToExpr = exports.substFormula = exports.substTerm = exports.evalQuantifierFree = exports.evalComp = exports.evalTerm = exports.formulaToString = exports.programToString = exports.termToString = exports.programVars = exports.formulaVars = exports.termVars = exports.cloneState = exports.ode = exports.loop = exports.choice = exports.seq = exports.test = exports.nondet = exports.assign = exports.diamond = exports.box = exports.iff = exports.implies = exports.orF = exports.andF = exports.notF = exports.falseF = exports.trueF = exports.comp = exports.power = exports.negTerm = exports.divide = exports.times = exports.minus = exports.plus = exports.variable = exports.num = void 0;
29
+ exports.runSatisfiability = exports.runValidity = exports.DLHybridProfile = exports.relevantVariables = void 0;
30
+ var ast_1 = require("./ast");
31
+ Object.defineProperty(exports, "num", { enumerable: true, get: function () { return ast_1.num; } });
32
+ Object.defineProperty(exports, "variable", { enumerable: true, get: function () { return ast_1.variable; } });
33
+ Object.defineProperty(exports, "plus", { enumerable: true, get: function () { return ast_1.plus; } });
34
+ Object.defineProperty(exports, "minus", { enumerable: true, get: function () { return ast_1.minus; } });
35
+ Object.defineProperty(exports, "times", { enumerable: true, get: function () { return ast_1.times; } });
36
+ Object.defineProperty(exports, "divide", { enumerable: true, get: function () { return ast_1.divide; } });
37
+ Object.defineProperty(exports, "negTerm", { enumerable: true, get: function () { return ast_1.negTerm; } });
38
+ Object.defineProperty(exports, "power", { enumerable: true, get: function () { return ast_1.power; } });
39
+ Object.defineProperty(exports, "comp", { enumerable: true, get: function () { return ast_1.comp; } });
40
+ Object.defineProperty(exports, "trueF", { enumerable: true, get: function () { return ast_1.trueF; } });
41
+ Object.defineProperty(exports, "falseF", { enumerable: true, get: function () { return ast_1.falseF; } });
42
+ Object.defineProperty(exports, "notF", { enumerable: true, get: function () { return ast_1.notF; } });
43
+ Object.defineProperty(exports, "andF", { enumerable: true, get: function () { return ast_1.andF; } });
44
+ Object.defineProperty(exports, "orF", { enumerable: true, get: function () { return ast_1.orF; } });
45
+ Object.defineProperty(exports, "implies", { enumerable: true, get: function () { return ast_1.implies; } });
46
+ Object.defineProperty(exports, "iff", { enumerable: true, get: function () { return ast_1.iff; } });
47
+ Object.defineProperty(exports, "box", { enumerable: true, get: function () { return ast_1.box; } });
48
+ Object.defineProperty(exports, "diamond", { enumerable: true, get: function () { return ast_1.diamond; } });
49
+ Object.defineProperty(exports, "assign", { enumerable: true, get: function () { return ast_1.assign; } });
50
+ Object.defineProperty(exports, "nondet", { enumerable: true, get: function () { return ast_1.nondet; } });
51
+ Object.defineProperty(exports, "test", { enumerable: true, get: function () { return ast_1.test; } });
52
+ Object.defineProperty(exports, "seq", { enumerable: true, get: function () { return ast_1.seq; } });
53
+ Object.defineProperty(exports, "choice", { enumerable: true, get: function () { return ast_1.choice; } });
54
+ Object.defineProperty(exports, "loop", { enumerable: true, get: function () { return ast_1.loop; } });
55
+ Object.defineProperty(exports, "ode", { enumerable: true, get: function () { return ast_1.ode; } });
56
+ Object.defineProperty(exports, "cloneState", { enumerable: true, get: function () { return ast_1.cloneState; } });
57
+ Object.defineProperty(exports, "termVars", { enumerable: true, get: function () { return ast_1.termVars; } });
58
+ Object.defineProperty(exports, "formulaVars", { enumerable: true, get: function () { return ast_1.formulaVars; } });
59
+ Object.defineProperty(exports, "programVars", { enumerable: true, get: function () { return ast_1.programVars; } });
60
+ Object.defineProperty(exports, "termToString", { enumerable: true, get: function () { return ast_1.termToString; } });
61
+ Object.defineProperty(exports, "programToString", { enumerable: true, get: function () { return ast_1.programToString; } });
62
+ Object.defineProperty(exports, "formulaToString", { enumerable: true, get: function () { return ast_1.formulaToString; } });
63
+ var semantics_1 = require("./semantics");
64
+ Object.defineProperty(exports, "evalTerm", { enumerable: true, get: function () { return semantics_1.evalTerm; } });
65
+ Object.defineProperty(exports, "evalComp", { enumerable: true, get: function () { return semantics_1.evalComp; } });
66
+ Object.defineProperty(exports, "evalQuantifierFree", { enumerable: true, get: function () { return semantics_1.evalQuantifierFree; } });
67
+ Object.defineProperty(exports, "substTerm", { enumerable: true, get: function () { return semantics_1.substTerm; } });
68
+ Object.defineProperty(exports, "substFormula", { enumerable: true, get: function () { return semantics_1.substFormula; } });
69
+ var differential_1 = require("./differential");
70
+ Object.defineProperty(exports, "termToExpr", { enumerable: true, get: function () { return differential_1.termToExpr; } });
71
+ Object.defineProperty(exports, "termIsConstant", { enumerable: true, get: function () { return differential_1.termIsConstant; } });
72
+ Object.defineProperty(exports, "termIsLinearIn", { enumerable: true, get: function () { return differential_1.termIsLinearIn; } });
73
+ Object.defineProperty(exports, "classifyOde", { enumerable: true, get: function () { return differential_1.classifyOde; } });
74
+ Object.defineProperty(exports, "flow", { enumerable: true, get: function () { return differential_1.flow; } });
75
+ Object.defineProperty(exports, "lieDerivative", { enumerable: true, get: function () { return differential_1.lieDerivative; } });
76
+ Object.defineProperty(exports, "evalSym", { enumerable: true, get: function () { return differential_1.evalSym; } });
77
+ var parser_1 = require("./parser");
78
+ Object.defineProperty(exports, "parseFormula", { enumerable: true, get: function () { return parser_1.parseFormula; } });
79
+ Object.defineProperty(exports, "parseProgram", { enumerable: true, get: function () { return parser_1.parseProgram; } });
80
+ Object.defineProperty(exports, "parseTerm", { enumerable: true, get: function () { return parser_1.parseTerm; } });
81
+ var tableau_1 = require("./tableau");
82
+ Object.defineProperty(exports, "checkValid", { enumerable: true, get: function () { return tableau_1.checkValid; } });
83
+ Object.defineProperty(exports, "checkSatisfiable", { enumerable: true, get: function () { return tableau_1.checkSatisfiable; } });
84
+ Object.defineProperty(exports, "evalInState", { enumerable: true, get: function () { return tableau_1.evalInState; } });
85
+ Object.defineProperty(exports, "relevantVariables", { enumerable: true, get: function () { return tableau_1.relevantVariables; } });
86
+ var profile_1 = require("./profile");
87
+ Object.defineProperty(exports, "DLHybridProfile", { enumerable: true, get: function () { return profile_1.DLHybridProfile; } });
88
+ Object.defineProperty(exports, "runValidity", { enumerable: true, get: function () { return profile_1.runValidity; } });
89
+ Object.defineProperty(exports, "runSatisfiability", { enumerable: true, get: function () { return profile_1.runSatisfiability; } });
90
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logic/profiles/dl-hybrid/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,qDAAqD;AACrD,+DAA+D;AAC/D,wEAAwE;AACxE,mEAAmE;AACnE,yEAAyE;AACzE,EAAE;AACF,OAAO;AACP,2DAA2D;AAC3D,gDAAgD;AAChD,wEAAwE;AACxE,6DAA6D;AAC7D,iEAAiE;AACjE,qCAAqC;AACrC,sDAAsD;AACtD,kEAAkE;AAClE,EAAE;AACF,yBAAyB;AACzB,+DAA+D;AAC/D,uEAAuE;AACvE,uEAAuE;AACvE,2EAA2E;AAC3E,8BAA8B;AAC9B,iEAAiE;AACjE,+DAA+D;;;;AAU/D,6BAiCe;AAhCb,0FAAA,GAAG,OAAA;AACH,+FAAA,QAAQ,OAAA;AACR,2FAAA,IAAI,OAAA;AACJ,4FAAA,KAAK,OAAA;AACL,4FAAA,KAAK,OAAA;AACL,6FAAA,MAAM,OAAA;AACN,8FAAA,OAAO,OAAA;AACP,4FAAA,KAAK,OAAA;AACL,2FAAA,IAAI,OAAA;AACJ,4FAAA,KAAK,OAAA;AACL,6FAAA,MAAM,OAAA;AACN,2FAAA,IAAI,OAAA;AACJ,2FAAA,IAAI,OAAA;AACJ,0FAAA,GAAG,OAAA;AACH,8FAAA,OAAO,OAAA;AACP,0FAAA,GAAG,OAAA;AACH,0FAAA,GAAG,OAAA;AACH,8FAAA,OAAO,OAAA;AACP,6FAAA,MAAM,OAAA;AACN,6FAAA,MAAM,OAAA;AACN,2FAAA,IAAI,OAAA;AACJ,0FAAA,GAAG,OAAA;AACH,6FAAA,MAAM,OAAA;AACN,2FAAA,IAAI,OAAA;AACJ,0FAAA,GAAG,OAAA;AACH,iGAAA,UAAU,OAAA;AACV,+FAAA,QAAQ,OAAA;AACR,kGAAA,WAAW,OAAA;AACX,kGAAA,WAAW,OAAA;AACX,mGAAA,YAAY,OAAA;AACZ,sGAAA,eAAe,OAAA;AACf,sGAAA,eAAe,OAAA;AAGjB,yCAMqB;AALnB,qGAAA,QAAQ,OAAA;AACR,qGAAA,QAAQ,OAAA;AACR,+GAAA,kBAAkB,OAAA;AAClB,sGAAA,SAAS,OAAA;AACT,yGAAA,YAAY,OAAA;AAId,+CAQwB;AAPtB,0GAAA,UAAU,OAAA;AACV,8GAAA,cAAc,OAAA;AACd,8GAAA,cAAc,OAAA;AACd,2GAAA,WAAW,OAAA;AACX,oGAAA,IAAI,OAAA;AACJ,6GAAA,aAAa,OAAA;AACb,uGAAA,OAAO,OAAA;AAGT,mCAAiE;AAAxD,sGAAA,YAAY,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,mGAAA,SAAS,OAAA;AAG9C,qCAAyF;AAAhF,qGAAA,UAAU,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAErE,qCAA4E;AAAnE,0GAAA,eAAe,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,4GAAA,iBAAiB,OAAA"}
@@ -0,0 +1,8 @@
1
+ import type { DLFormula, DLTerm, HybridProgram } from './ast';
2
+ /** Parsea una fórmula dL desde una cadena. Lanza Error en sintaxis inválida. */
3
+ export declare function parseFormula(src: string): DLFormula;
4
+ /** Parsea un programa híbrido desde una cadena. */
5
+ export declare function parseProgram(src: string): HybridProgram;
6
+ /** Parsea un término aritmético dL. */
7
+ export declare function parseTerm(src: string): DLTerm;
8
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/logic/profiles/dl-hybrid/parser.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAqB,MAAM,OAAO,CAAC;AA6WjF,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAKnD;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAKvD;AAED,uCAAuC;AACvC,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK7C"}
@@ -0,0 +1,410 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST dL-Hybrid — Parser de sintaxis textual dL
4
+ // ============================================================
5
+ // Sintaxis aceptada (subset KeYmaera-like):
6
+ //
7
+ // formula ::= impliesFormula
8
+ // impliesFormula ::= orFormula ('->' impliesFormula)?
9
+ // | orFormula '<->' orFormula
10
+ // orFormula ::= andFormula ('|' andFormula)*
11
+ // andFormula ::= notFormula ('&' notFormula)*
12
+ // notFormula ::= '!' notFormula | atomFormula
13
+ // atomFormula::= 'true' | 'false'
14
+ // | '[' program ']' formula
15
+ // | '<' program '>' formula
16
+ // | '(' formula ')'
17
+ // | comparison
18
+ // comparison ::= term op term where op ∈ {=, !=, <, <=, >, >=}
19
+ //
20
+ // program ::= seqProgram
21
+ // seqProgram ::= choiceProgram (';' seqProgram)?
22
+ // choiceProgram::= unaryProgram ('++' unaryProgram)* (++ = ∪)
23
+ // unaryProgram ::= atomProgram '*' ?
24
+ // atomProgram::= var ':=' term
25
+ // | var ':=' '*'
26
+ // | '?' '(' formula ')' | '?' formula
27
+ // | '{' odeEquations ('&' formula)? '}'
28
+ // | '(' program ')'
29
+ //
30
+ // term ::= addTerm
31
+ // addTerm ::= mulTerm (('+' | '-') mulTerm)*
32
+ // mulTerm ::= powTerm (('*' | '/') powTerm)*
33
+ // powTerm ::= unaryTerm ('^' integer)?
34
+ // unaryTerm::= '-' unaryTerm | number | ident | '(' term ')'
35
+ //
36
+ // Comentarios `//...\n` se ignoran.
37
+ // ============================================================
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.parseFormula = parseFormula;
40
+ exports.parseProgram = parseProgram;
41
+ exports.parseTerm = parseTerm;
42
+ class Tokenizer {
43
+ pos = 0;
44
+ src;
45
+ constructor(src) {
46
+ this.src = src;
47
+ }
48
+ skipWs() {
49
+ while (this.pos < this.src.length) {
50
+ const c = this.src[this.pos];
51
+ if (c === ' ' || c === '\t' || c === '\n' || c === '\r') {
52
+ this.pos++;
53
+ }
54
+ else if (c === '/' && this.src[this.pos + 1] === '/') {
55
+ while (this.pos < this.src.length && this.src[this.pos] !== '\n')
56
+ this.pos++;
57
+ }
58
+ else
59
+ break;
60
+ }
61
+ }
62
+ peek() {
63
+ this.skipWs();
64
+ return this.src.slice(this.pos);
65
+ }
66
+ eof() {
67
+ this.skipWs();
68
+ return this.pos >= this.src.length;
69
+ }
70
+ /** Intenta consumir un literal; retorna true si lo consumió. */
71
+ match(literal) {
72
+ this.skipWs();
73
+ if (this.src.startsWith(literal, this.pos)) {
74
+ this.pos += literal.length;
75
+ return true;
76
+ }
77
+ return false;
78
+ }
79
+ /** Consume un literal o lanza error. */
80
+ expect(literal) {
81
+ if (!this.match(literal)) {
82
+ throw new Error(`Esperaba '${literal}' en pos ${this.pos}: '${this.src.slice(this.pos, this.pos + 20)}'`);
83
+ }
84
+ }
85
+ /** Identificador: [a-zA-Z_][a-zA-Z0-9_]* */
86
+ matchIdent() {
87
+ this.skipWs();
88
+ const start = this.pos;
89
+ const c = this.src[start];
90
+ if (!c || !/[a-zA-Z_]/.test(c))
91
+ return null;
92
+ let end = start + 1;
93
+ while (end < this.src.length && /[a-zA-Z0-9_]/.test(this.src[end] ?? ''))
94
+ end++;
95
+ this.pos = end;
96
+ return this.src.slice(start, end);
97
+ }
98
+ /** Número (puede ser real con punto y signo unario gestionado en el parser). */
99
+ matchNumber() {
100
+ this.skipWs();
101
+ const start = this.pos;
102
+ let end = start;
103
+ while (end < this.src.length && /[0-9]/.test(this.src[end] ?? ''))
104
+ end++;
105
+ if (end < this.src.length && this.src[end] === '.') {
106
+ end++;
107
+ while (end < this.src.length && /[0-9]/.test(this.src[end] ?? ''))
108
+ end++;
109
+ }
110
+ if (end === start)
111
+ return null;
112
+ this.pos = end;
113
+ return parseFloat(this.src.slice(start, end));
114
+ }
115
+ /** Mira si el siguiente token (sin consumir) coincide con un literal. */
116
+ lookahead(literal) {
117
+ this.skipWs();
118
+ return this.src.startsWith(literal, this.pos);
119
+ }
120
+ /** Mira si el siguiente token (sin consumir) coincide con un identificador exacto. */
121
+ lookaheadKeyword(kw) {
122
+ this.skipWs();
123
+ if (!this.src.startsWith(kw, this.pos))
124
+ return false;
125
+ const after = this.src[this.pos + kw.length];
126
+ return !after || !/[a-zA-Z0-9_]/.test(after);
127
+ }
128
+ /** Consume un keyword (identificador exacto). */
129
+ matchKeyword(kw) {
130
+ if (this.lookaheadKeyword(kw)) {
131
+ this.pos += kw.length;
132
+ return true;
133
+ }
134
+ return false;
135
+ }
136
+ }
137
+ class Parser {
138
+ tk;
139
+ constructor(src) {
140
+ this.tk = new Tokenizer(src);
141
+ }
142
+ // --- Programa híbrido ---
143
+ parseProgram() {
144
+ return this.parseSeq();
145
+ }
146
+ parseSeq() {
147
+ let left = this.parseChoice();
148
+ while (this.tk.match(';')) {
149
+ const right = this.parseChoice();
150
+ left = { kind: 'seq', left, right };
151
+ }
152
+ return left;
153
+ }
154
+ parseChoice() {
155
+ let left = this.parseUnary();
156
+ // Usamos `++` como ∪ porque `|` colisiona con `or` en fórmulas.
157
+ while (this.tk.match('++')) {
158
+ const right = this.parseUnary();
159
+ left = { kind: 'choice', left, right };
160
+ }
161
+ return left;
162
+ }
163
+ parseUnary() {
164
+ const atom = this.parseAtomProgram();
165
+ if (this.tk.match('*')) {
166
+ return { kind: 'loop', body: atom };
167
+ }
168
+ return atom;
169
+ }
170
+ parseAtomProgram() {
171
+ if (this.tk.match('(')) {
172
+ const inner = this.parseSeq();
173
+ this.tk.expect(')');
174
+ return inner;
175
+ }
176
+ if (this.tk.match('{')) {
177
+ // ODE: x' = e (, y' = e)* (& Q)?
178
+ const equations = [];
179
+ do {
180
+ const v = this.tk.matchIdent();
181
+ if (!v)
182
+ throw new Error('Esperaba variable en ODE');
183
+ this.tk.expect("'");
184
+ this.tk.expect('=');
185
+ const rhs = this.parseTerm();
186
+ equations.push({ varName: v, rhs });
187
+ } while (this.tk.match(','));
188
+ let domain;
189
+ if (this.tk.match('&')) {
190
+ domain = this.parseFormula();
191
+ }
192
+ this.tk.expect('}');
193
+ return { kind: 'ode', system: domain ? { equations, domain } : { equations } };
194
+ }
195
+ if (this.tk.match('?')) {
196
+ let cond;
197
+ if (this.tk.match('(')) {
198
+ cond = this.parseFormula();
199
+ this.tk.expect(')');
200
+ }
201
+ else {
202
+ cond = this.parseComparison();
203
+ }
204
+ return { kind: 'test', cond };
205
+ }
206
+ const id = this.tk.matchIdent();
207
+ if (!id)
208
+ throw new Error(`Esperaba programa, encontré '${this.tk.peek().slice(0, 20)}'`);
209
+ this.tk.expect(':=');
210
+ if (this.tk.match('*')) {
211
+ return { kind: 'nondet', varName: id };
212
+ }
213
+ const rhs = this.parseTerm();
214
+ return { kind: 'assign', varName: id, rhs };
215
+ }
216
+ // --- Fórmula ---
217
+ parseFormula() {
218
+ return this.parseImplies();
219
+ }
220
+ parseImplies() {
221
+ const left = this.parseOr();
222
+ if (this.tk.match('<->')) {
223
+ const right = this.parseOr();
224
+ return { kind: 'iff', left, right };
225
+ }
226
+ if (this.tk.match('->')) {
227
+ const right = this.parseImplies();
228
+ return { kind: 'implies', left, right };
229
+ }
230
+ return left;
231
+ }
232
+ parseOr() {
233
+ let left = this.parseAnd();
234
+ while (this.tk.match('|')) {
235
+ const right = this.parseAnd();
236
+ left = { kind: 'or', left, right };
237
+ }
238
+ return left;
239
+ }
240
+ parseAnd() {
241
+ let left = this.parseNot();
242
+ while (this.tk.match('&')) {
243
+ const right = this.parseNot();
244
+ left = { kind: 'and', left, right };
245
+ }
246
+ return left;
247
+ }
248
+ parseNot() {
249
+ if (this.tk.match('!')) {
250
+ const arg = this.parseNot();
251
+ return { kind: 'not', arg };
252
+ }
253
+ return this.parseAtomFormula();
254
+ }
255
+ parseAtomFormula() {
256
+ if (this.tk.matchKeyword('true'))
257
+ return { kind: 'true' };
258
+ if (this.tk.matchKeyword('false'))
259
+ return { kind: 'false' };
260
+ if (this.tk.match('[')) {
261
+ const program = this.parseProgram();
262
+ this.tk.expect(']');
263
+ const post = this.parseAtomFormula();
264
+ return { kind: 'box', program, post };
265
+ }
266
+ if (this.tk.match('<')) {
267
+ // Podría ser una comparación `<` si lo que sigue es un término;
268
+ // ya consumimos `<` aquí. Heurística: una modalidad ⟨α⟩ siempre
269
+ // contiene en algún punto `:=`, `'`, `?`, `{` o `++` antes del `>`.
270
+ // Si el remainder hasta el siguiente `>` contiene esos marcadores,
271
+ // tratamos como modalidad. Si no, retrocedemos a comparison.
272
+ const rest = this.tk.peek();
273
+ const closeIdx = rest.indexOf('>');
274
+ const inside = closeIdx >= 0 ? rest.slice(0, closeIdx) : rest;
275
+ const isModality = /:=|'|\?|\{|\+\+|\*/.test(inside);
276
+ if (isModality) {
277
+ const program = this.parseProgram();
278
+ this.tk.expect('>');
279
+ const post = this.parseAtomFormula();
280
+ return { kind: 'diamond', program, post };
281
+ }
282
+ // No es modalidad — pero ya consumimos `<`. Re-parseamos:
283
+ // armamos un atom de comparación con el lado izquierdo asumido NaN.
284
+ // Para evitar este caso, exigimos que la modalidad no se intente con
285
+ // términos puros; en este punto lanzamos error claro.
286
+ throw new Error(`'<' suelto no parece modalidad ni comparación de la forma 't1 < t2' (use paréntesis)`);
287
+ }
288
+ if (this.tk.match('(')) {
289
+ const inner = this.parseFormula();
290
+ this.tk.expect(')');
291
+ return inner;
292
+ }
293
+ return this.parseComparison();
294
+ }
295
+ parseComparison() {
296
+ const left = this.parseTerm();
297
+ const ops = [
298
+ { tok: '<=', op: '<=' },
299
+ { tok: '>=', op: '>=' },
300
+ { tok: '!=', op: '!=' },
301
+ { tok: '=', op: '=' },
302
+ { tok: '<', op: '<' },
303
+ { tok: '>', op: '>' },
304
+ ];
305
+ for (const { tok, op } of ops) {
306
+ if (this.tk.match(tok)) {
307
+ const right = this.parseTerm();
308
+ return { kind: 'comp', op, left, right };
309
+ }
310
+ }
311
+ throw new Error(`Esperaba operador de comparación tras término en pos ${this.tk.peek().slice(0, 20)}`);
312
+ }
313
+ // --- Términos ---
314
+ parseTerm() {
315
+ return this.parseAdd();
316
+ }
317
+ parseAdd() {
318
+ let left = this.parseMul();
319
+ while (true) {
320
+ if (this.tk.lookahead('+') && !this.tk.lookahead('++')) {
321
+ // Consumimos `+` sólo si NO es el inicio de `++` (choice).
322
+ this.tk.match('+');
323
+ const right = this.parseMul();
324
+ left = { kind: 'plus', left, right };
325
+ }
326
+ else if (this.tk.lookahead('-') &&
327
+ !this.tk.lookahead('->')) {
328
+ // Consumimos `-` sólo si NO es el inicio de `->` (implicación).
329
+ this.tk.match('-');
330
+ const right = this.parseMul();
331
+ left = { kind: 'minus', left, right };
332
+ }
333
+ else
334
+ break;
335
+ }
336
+ return left;
337
+ }
338
+ parseMul() {
339
+ let left = this.parsePow();
340
+ while (true) {
341
+ if (this.tk.match('*')) {
342
+ const right = this.parsePow();
343
+ left = { kind: 'times', left, right };
344
+ }
345
+ else if (this.tk.match('/')) {
346
+ const right = this.parsePow();
347
+ left = { kind: 'div', left, right };
348
+ }
349
+ else
350
+ break;
351
+ }
352
+ return left;
353
+ }
354
+ parsePow() {
355
+ const base = this.parseUnaryTerm();
356
+ if (this.tk.match('^')) {
357
+ const n = this.tk.matchNumber();
358
+ if (n === null || !Number.isInteger(n)) {
359
+ throw new Error('Exponente debe ser entero literal');
360
+ }
361
+ return { kind: 'pow', base, exp: n };
362
+ }
363
+ return base;
364
+ }
365
+ parseUnaryTerm() {
366
+ if (this.tk.match('-')) {
367
+ const arg = this.parseUnaryTerm();
368
+ return { kind: 'neg', arg };
369
+ }
370
+ const n = this.tk.matchNumber();
371
+ if (n !== null)
372
+ return { kind: 'num', value: n };
373
+ if (this.tk.match('(')) {
374
+ const inner = this.parseTerm();
375
+ this.tk.expect(')');
376
+ return inner;
377
+ }
378
+ const id = this.tk.matchIdent();
379
+ if (id)
380
+ return { kind: 'var', name: id };
381
+ throw new Error(`Esperaba término en '${this.tk.peek().slice(0, 20)}'`);
382
+ }
383
+ endOrThrow() {
384
+ if (!this.tk.eof()) {
385
+ throw new Error(`Tokens sobrantes: '${this.tk.peek().slice(0, 30)}'`);
386
+ }
387
+ }
388
+ }
389
+ /** Parsea una fórmula dL desde una cadena. Lanza Error en sintaxis inválida. */
390
+ function parseFormula(src) {
391
+ const p = new Parser(src);
392
+ const f = p.parseFormula();
393
+ p.endOrThrow();
394
+ return f;
395
+ }
396
+ /** Parsea un programa híbrido desde una cadena. */
397
+ function parseProgram(src) {
398
+ const p = new Parser(src);
399
+ const prog = p.parseProgram();
400
+ p.endOrThrow();
401
+ return prog;
402
+ }
403
+ /** Parsea un término aritmético dL. */
404
+ function parseTerm(src) {
405
+ const p = new Parser(src);
406
+ const t = p.parseTerm();
407
+ p.endOrThrow();
408
+ return t;
409
+ }
410
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/logic/profiles/dl-hybrid/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { LogicProfile, Formula, RunResult, Theory, Diagnostic } from '../../../types';
2
+ import type { DLFormula } from './ast';
3
+ export declare class DLHybridProfile implements LogicProfile {
4
+ name: string;
5
+ description: string;
6
+ checkWellFormed(_formula: Formula): Diagnostic[];
7
+ checkValid(formula: Formula): RunResult;
8
+ checkSatisfiable(formula: Formula): RunResult;
9
+ prove(goal: Formula, _theory: Theory, _premises?: string[]): RunResult;
10
+ derive(goal: Formula, _premises: string[], _theory: Theory): RunResult;
11
+ countermodel(formula: Formula): RunResult;
12
+ explain(formula: Formula): RunResult;
13
+ private notApplicable;
14
+ explainSystem(): string;
15
+ }
16
+ /**
17
+ * Adaptador: ejecuta `checkValid` sobre una DLFormula nativa y devuelve
18
+ * un `RunResult` ST-compatible (con witness en `output`).
19
+ */
20
+ export declare function runValidity(formula: DLFormula): RunResult;
21
+ /** Versión satisfacibilidad. */
22
+ export declare function runSatisfiability(formula: DLFormula): RunResult;
23
+ //# sourceMappingURL=profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/logic/profiles/dl-hybrid/profile.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAevC,qBAAa,eAAgB,YAAW,YAAY;IAClD,IAAI,SAAe;IACnB,WAAW,SACsJ;IAEjK,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAE;IAIhD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAGvC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAG7C,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS;IAGtE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS;IAGtE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAGzC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IASpC,OAAO,CAAC,aAAa;IAUrB,aAAa,IAAI,MAAM;CAsBxB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAUzD;AAED,gCAAgC;AAChC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAU/D"}