@stevenvo780/st-lang 4.1.0 → 4.2.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 (265) hide show
  1. package/dist/belief-revision/agm.d.ts +76 -0
  2. package/dist/belief-revision/agm.d.ts.map +1 -0
  3. package/dist/belief-revision/agm.js +249 -0
  4. package/dist/belief-revision/agm.js.map +1 -0
  5. package/dist/belief-revision/index.d.ts +6 -0
  6. package/dist/belief-revision/index.d.ts.map +1 -0
  7. package/dist/belief-revision/index.js +33 -0
  8. package/dist/belief-revision/index.js.map +1 -0
  9. package/dist/belief-revision/parser.d.ts +16 -0
  10. package/dist/belief-revision/parser.d.ts.map +1 -0
  11. package/dist/belief-revision/parser.js +199 -0
  12. package/dist/belief-revision/parser.js.map +1 -0
  13. package/dist/belief-revision/sat.d.ts +19 -0
  14. package/dist/belief-revision/sat.d.ts.map +1 -0
  15. package/dist/belief-revision/sat.js +90 -0
  16. package/dist/belief-revision/sat.js.map +1 -0
  17. package/dist/belief-revision/types.d.ts +51 -0
  18. package/dist/belief-revision/types.d.ts.map +1 -0
  19. package/dist/belief-revision/types.js +10 -0
  20. package/dist/belief-revision/types.js.map +1 -0
  21. package/dist/curry-howard/index.d.ts +7 -0
  22. package/dist/curry-howard/index.d.ts.map +1 -0
  23. package/dist/curry-howard/index.js +46 -0
  24. package/dist/curry-howard/index.js.map +1 -0
  25. package/dist/curry-howard/infer.d.ts +9 -0
  26. package/dist/curry-howard/infer.d.ts.map +1 -0
  27. package/dist/curry-howard/infer.js +129 -0
  28. package/dist/curry-howard/infer.js.map +1 -0
  29. package/dist/curry-howard/proof.d.ts +7 -0
  30. package/dist/curry-howard/proof.d.ts.map +1 -0
  31. package/dist/curry-howard/proof.js +282 -0
  32. package/dist/curry-howard/proof.js.map +1 -0
  33. package/dist/curry-howard/reduce.d.ts +7 -0
  34. package/dist/curry-howard/reduce.d.ts.map +1 -0
  35. package/dist/curry-howard/reduce.js +266 -0
  36. package/dist/curry-howard/reduce.js.map +1 -0
  37. package/dist/curry-howard/types.d.ts +91 -0
  38. package/dist/curry-howard/types.d.ts.map +1 -0
  39. package/dist/curry-howard/types.js +149 -0
  40. package/dist/curry-howard/types.js.map +1 -0
  41. package/dist/fol-prover-equality/demodulate.d.ts +29 -0
  42. package/dist/fol-prover-equality/demodulate.d.ts.map +1 -0
  43. package/dist/fol-prover-equality/demodulate.js +197 -0
  44. package/dist/fol-prover-equality/demodulate.js.map +1 -0
  45. package/dist/fol-prover-equality/index.d.ts +8 -0
  46. package/dist/fol-prover-equality/index.d.ts.map +1 -0
  47. package/dist/fol-prover-equality/index.js +24 -0
  48. package/dist/fol-prover-equality/index.js.map +1 -0
  49. package/dist/fol-prover-equality/paramodulate.d.ts +46 -0
  50. package/dist/fol-prover-equality/paramodulate.d.ts.map +1 -0
  51. package/dist/fol-prover-equality/paramodulate.js +159 -0
  52. package/dist/fol-prover-equality/paramodulate.js.map +1 -0
  53. package/dist/fol-prover-equality/prove.d.ts +7 -0
  54. package/dist/fol-prover-equality/prove.d.ts.map +1 -0
  55. package/dist/fol-prover-equality/prove.js +307 -0
  56. package/dist/fol-prover-equality/prove.js.map +1 -0
  57. package/dist/fol-prover-equality/term-utils.d.ts +43 -0
  58. package/dist/fol-prover-equality/term-utils.d.ts.map +1 -0
  59. package/dist/fol-prover-equality/term-utils.js +230 -0
  60. package/dist/fol-prover-equality/term-utils.js.map +1 -0
  61. package/dist/fol-prover-equality/types.d.ts +20 -0
  62. package/dist/fol-prover-equality/types.d.ts.map +1 -0
  63. package/dist/fol-prover-equality/types.js +5 -0
  64. package/dist/fol-prover-equality/types.js.map +1 -0
  65. package/dist/index.d.ts +4 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +18 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/profiles/ctl/check.d.ts +13 -0
  70. package/dist/profiles/ctl/check.d.ts.map +1 -0
  71. package/dist/profiles/ctl/check.js +359 -0
  72. package/dist/profiles/ctl/check.js.map +1 -0
  73. package/dist/profiles/ctl/index.d.ts +5 -0
  74. package/dist/profiles/ctl/index.d.ts.map +1 -0
  75. package/dist/profiles/ctl/index.js +23 -0
  76. package/dist/profiles/ctl/index.js.map +1 -0
  77. package/dist/profiles/ctl/types.d.ts +74 -0
  78. package/dist/profiles/ctl/types.d.ts.map +1 -0
  79. package/dist/profiles/ctl/types.js +53 -0
  80. package/dist/profiles/ctl/types.js.map +1 -0
  81. package/dist/profiles/ctl/witness.d.ts +20 -0
  82. package/dist/profiles/ctl/witness.d.ts.map +1 -0
  83. package/dist/profiles/ctl/witness.js +149 -0
  84. package/dist/profiles/ctl/witness.js.map +1 -0
  85. package/dist/profiles/default-logic/entailment.d.ts +14 -0
  86. package/dist/profiles/default-logic/entailment.d.ts.map +1 -0
  87. package/dist/profiles/default-logic/entailment.js +36 -0
  88. package/dist/profiles/default-logic/entailment.js.map +1 -0
  89. package/dist/profiles/default-logic/extensions.d.ts +35 -0
  90. package/dist/profiles/default-logic/extensions.d.ts.map +1 -0
  91. package/dist/profiles/default-logic/extensions.js +276 -0
  92. package/dist/profiles/default-logic/extensions.js.map +1 -0
  93. package/dist/profiles/default-logic/index.d.ts +5 -0
  94. package/dist/profiles/default-logic/index.d.ts.map +1 -0
  95. package/dist/profiles/default-logic/index.js +33 -0
  96. package/dist/profiles/default-logic/index.js.map +1 -0
  97. package/dist/profiles/default-logic/types.d.ts +29 -0
  98. package/dist/profiles/default-logic/types.d.ts.map +1 -0
  99. package/dist/profiles/default-logic/types.js +25 -0
  100. package/dist/profiles/default-logic/types.js.map +1 -0
  101. package/dist/profiles/description-logic/index.d.ts +5 -0
  102. package/dist/profiles/description-logic/index.d.ts.map +1 -0
  103. package/dist/profiles/description-logic/index.js +39 -0
  104. package/dist/profiles/description-logic/index.js.map +1 -0
  105. package/dist/profiles/description-logic/nnf.d.ts +13 -0
  106. package/dist/profiles/description-logic/nnf.d.ts.map +1 -0
  107. package/dist/profiles/description-logic/nnf.js +123 -0
  108. package/dist/profiles/description-logic/nnf.js.map +1 -0
  109. package/dist/profiles/description-logic/tableau.d.ts +27 -0
  110. package/dist/profiles/description-logic/tableau.d.ts.map +1 -0
  111. package/dist/profiles/description-logic/tableau.js +491 -0
  112. package/dist/profiles/description-logic/tableau.js.map +1 -0
  113. package/dist/profiles/description-logic/types.d.ts +45 -0
  114. package/dist/profiles/description-logic/types.d.ts.map +1 -0
  115. package/dist/profiles/description-logic/types.js +71 -0
  116. package/dist/profiles/description-logic/types.js.map +1 -0
  117. package/dist/profiles/hybrid-logic/index.d.ts +5 -0
  118. package/dist/profiles/hybrid-logic/index.d.ts.map +1 -0
  119. package/dist/profiles/hybrid-logic/index.js +34 -0
  120. package/dist/profiles/hybrid-logic/index.js.map +1 -0
  121. package/dist/profiles/hybrid-logic/sat.d.ts +15 -0
  122. package/dist/profiles/hybrid-logic/sat.d.ts.map +1 -0
  123. package/dist/profiles/hybrid-logic/sat.js +142 -0
  124. package/dist/profiles/hybrid-logic/sat.js.map +1 -0
  125. package/dist/profiles/hybrid-logic/semantics.d.ts +20 -0
  126. package/dist/profiles/hybrid-logic/semantics.d.ts.map +1 -0
  127. package/dist/profiles/hybrid-logic/semantics.js +107 -0
  128. package/dist/profiles/hybrid-logic/semantics.js.map +1 -0
  129. package/dist/profiles/hybrid-logic/types.d.ts +78 -0
  130. package/dist/profiles/hybrid-logic/types.d.ts.map +1 -0
  131. package/dist/profiles/hybrid-logic/types.js +107 -0
  132. package/dist/profiles/hybrid-logic/types.js.map +1 -0
  133. package/dist/profiles/ltl-sat/index.d.ts +4 -0
  134. package/dist/profiles/ltl-sat/index.d.ts.map +1 -0
  135. package/dist/profiles/ltl-sat/index.js +40 -0
  136. package/dist/profiles/ltl-sat/index.js.map +1 -0
  137. package/dist/profiles/ltl-sat/sat.d.ts +8 -0
  138. package/dist/profiles/ltl-sat/sat.d.ts.map +1 -0
  139. package/dist/profiles/ltl-sat/sat.js +140 -0
  140. package/dist/profiles/ltl-sat/sat.js.map +1 -0
  141. package/dist/profiles/ltl-sat/tableau.d.ts +19 -0
  142. package/dist/profiles/ltl-sat/tableau.d.ts.map +1 -0
  143. package/dist/profiles/ltl-sat/tableau.js +358 -0
  144. package/dist/profiles/ltl-sat/tableau.js.map +1 -0
  145. package/dist/profiles/ltl-sat/types.d.ts +52 -0
  146. package/dist/profiles/ltl-sat/types.d.ts.map +1 -0
  147. package/dist/profiles/ltl-sat/types.js +101 -0
  148. package/dist/profiles/ltl-sat/types.js.map +1 -0
  149. package/dist/profiles/sequent-g3/index.d.ts +5 -0
  150. package/dist/profiles/sequent-g3/index.d.ts.map +1 -0
  151. package/dist/profiles/sequent-g3/index.js +23 -0
  152. package/dist/profiles/sequent-g3/index.js.map +1 -0
  153. package/dist/profiles/sequent-g3/latex.d.ts +7 -0
  154. package/dist/profiles/sequent-g3/latex.d.ts.map +1 -0
  155. package/dist/profiles/sequent-g3/latex.js +107 -0
  156. package/dist/profiles/sequent-g3/latex.js.map +1 -0
  157. package/dist/profiles/sequent-g3/normalize.d.ts +15 -0
  158. package/dist/profiles/sequent-g3/normalize.d.ts.map +1 -0
  159. package/dist/profiles/sequent-g3/normalize.js +121 -0
  160. package/dist/profiles/sequent-g3/normalize.js.map +1 -0
  161. package/dist/profiles/sequent-g3/prover.d.ts +16 -0
  162. package/dist/profiles/sequent-g3/prover.d.ts.map +1 -0
  163. package/dist/profiles/sequent-g3/prover.js +348 -0
  164. package/dist/profiles/sequent-g3/prover.js.map +1 -0
  165. package/dist/profiles/sequent-g3/types.d.ts +30 -0
  166. package/dist/profiles/sequent-g3/types.d.ts.map +1 -0
  167. package/dist/profiles/sequent-g3/types.js +16 -0
  168. package/dist/profiles/sequent-g3/types.js.map +1 -0
  169. package/dist/runtime/countermodel-min/index.d.ts +3 -0
  170. package/dist/runtime/countermodel-min/index.d.ts.map +1 -0
  171. package/dist/runtime/countermodel-min/index.js +9 -0
  172. package/dist/runtime/countermodel-min/index.js.map +1 -0
  173. package/dist/runtime/countermodel-min/minimize.d.ts +17 -0
  174. package/dist/runtime/countermodel-min/minimize.d.ts.map +1 -0
  175. package/dist/runtime/countermodel-min/minimize.js +0 -0
  176. package/dist/runtime/countermodel-min/minimize.js.map +1 -0
  177. package/dist/runtime/countermodel-min/types.d.ts +40 -0
  178. package/dist/runtime/countermodel-min/types.d.ts.map +1 -0
  179. package/dist/runtime/countermodel-min/types.js +6 -0
  180. package/dist/runtime/countermodel-min/types.js.map +1 -0
  181. package/dist/runtime/mus/extract.d.ts +34 -0
  182. package/dist/runtime/mus/extract.d.ts.map +1 -0
  183. package/dist/runtime/mus/extract.js +243 -0
  184. package/dist/runtime/mus/extract.js.map +1 -0
  185. package/dist/runtime/mus/index.d.ts +4 -0
  186. package/dist/runtime/mus/index.d.ts.map +1 -0
  187. package/dist/runtime/mus/index.js +12 -0
  188. package/dist/runtime/mus/index.js.map +1 -0
  189. package/dist/runtime/mus/quickxplain.d.ts +10 -0
  190. package/dist/runtime/mus/quickxplain.d.ts.map +1 -0
  191. package/dist/runtime/mus/quickxplain.js +100 -0
  192. package/dist/runtime/mus/quickxplain.js.map +1 -0
  193. package/dist/runtime/mus/types.d.ts +59 -0
  194. package/dist/runtime/mus/types.d.ts.map +1 -0
  195. package/dist/runtime/mus/types.js +20 -0
  196. package/dist/runtime/mus/types.js.map +1 -0
  197. package/dist/solver/cdcl-v2-incremental/index.d.ts +3 -0
  198. package/dist/solver/cdcl-v2-incremental/index.d.ts.map +1 -0
  199. package/dist/solver/cdcl-v2-incremental/index.js +16 -0
  200. package/dist/solver/cdcl-v2-incremental/index.js.map +1 -0
  201. package/dist/solver/cdcl-v2-incremental/solver.d.ts +83 -0
  202. package/dist/solver/cdcl-v2-incremental/solver.d.ts.map +1 -0
  203. package/dist/solver/cdcl-v2-incremental/solver.js +727 -0
  204. package/dist/solver/cdcl-v2-incremental/solver.js.map +1 -0
  205. package/dist/solver/cdcl-v2-incremental/types.d.ts +47 -0
  206. package/dist/solver/cdcl-v2-incremental/types.d.ts.map +1 -0
  207. package/dist/solver/cdcl-v2-incremental/types.js +13 -0
  208. package/dist/solver/cdcl-v2-incremental/types.js.map +1 -0
  209. package/dist/tests/belief-revision/agm.test.d.ts +2 -0
  210. package/dist/tests/belief-revision/agm.test.d.ts.map +1 -0
  211. package/dist/tests/belief-revision/agm.test.js +173 -0
  212. package/dist/tests/belief-revision/agm.test.js.map +1 -0
  213. package/dist/tests/countermodel-min/minimize.test.d.ts +2 -0
  214. package/dist/tests/countermodel-min/minimize.test.d.ts.map +1 -0
  215. package/dist/tests/countermodel-min/minimize.test.js +241 -0
  216. package/dist/tests/countermodel-min/minimize.test.js.map +1 -0
  217. package/dist/tests/ctl/check.test.d.ts +2 -0
  218. package/dist/tests/ctl/check.test.d.ts.map +1 -0
  219. package/dist/tests/ctl/check.test.js +337 -0
  220. package/dist/tests/ctl/check.test.js.map +1 -0
  221. package/dist/tests/curry-howard/infer.test.d.ts +2 -0
  222. package/dist/tests/curry-howard/infer.test.d.ts.map +1 -0
  223. package/dist/tests/curry-howard/infer.test.js +93 -0
  224. package/dist/tests/curry-howard/infer.test.js.map +1 -0
  225. package/dist/tests/curry-howard/proof.test.d.ts +2 -0
  226. package/dist/tests/curry-howard/proof.test.d.ts.map +1 -0
  227. package/dist/tests/curry-howard/proof.test.js +105 -0
  228. package/dist/tests/curry-howard/proof.test.js.map +1 -0
  229. package/dist/tests/curry-howard/reduce.test.d.ts +2 -0
  230. package/dist/tests/curry-howard/reduce.test.d.ts.map +1 -0
  231. package/dist/tests/curry-howard/reduce.test.js +109 -0
  232. package/dist/tests/curry-howard/reduce.test.js.map +1 -0
  233. package/dist/tests/default-logic/extensions.test.d.ts +2 -0
  234. package/dist/tests/default-logic/extensions.test.d.ts.map +1 -0
  235. package/dist/tests/default-logic/extensions.test.js +323 -0
  236. package/dist/tests/default-logic/extensions.test.js.map +1 -0
  237. package/dist/tests/description-logic/alc.test.d.ts +2 -0
  238. package/dist/tests/description-logic/alc.test.d.ts.map +1 -0
  239. package/dist/tests/description-logic/alc.test.js +253 -0
  240. package/dist/tests/description-logic/alc.test.js.map +1 -0
  241. package/dist/tests/fol-prover-equality/prove.test.d.ts +2 -0
  242. package/dist/tests/fol-prover-equality/prove.test.d.ts.map +1 -0
  243. package/dist/tests/fol-prover-equality/prove.test.js +179 -0
  244. package/dist/tests/fol-prover-equality/prove.test.js.map +1 -0
  245. package/dist/tests/hybrid-logic/semantics.test.d.ts +2 -0
  246. package/dist/tests/hybrid-logic/semantics.test.d.ts.map +1 -0
  247. package/dist/tests/hybrid-logic/semantics.test.js +169 -0
  248. package/dist/tests/hybrid-logic/semantics.test.js.map +1 -0
  249. package/dist/tests/ltl-sat/sat.test.d.ts +2 -0
  250. package/dist/tests/ltl-sat/sat.test.d.ts.map +1 -0
  251. package/dist/tests/ltl-sat/sat.test.js +160 -0
  252. package/dist/tests/ltl-sat/sat.test.js.map +1 -0
  253. package/dist/tests/mus/extract.test.d.ts +2 -0
  254. package/dist/tests/mus/extract.test.d.ts.map +1 -0
  255. package/dist/tests/mus/extract.test.js +352 -0
  256. package/dist/tests/mus/extract.test.js.map +1 -0
  257. package/dist/tests/sat-v2-incremental/basic.test.d.ts +2 -0
  258. package/dist/tests/sat-v2-incremental/basic.test.d.ts.map +1 -0
  259. package/dist/tests/sat-v2-incremental/basic.test.js +352 -0
  260. package/dist/tests/sat-v2-incremental/basic.test.js.map +1 -0
  261. package/dist/tests/sequent-g3/prover.test.d.ts +2 -0
  262. package/dist/tests/sequent-g3/prover.test.d.ts.map +1 -0
  263. package/dist/tests/sequent-g3/prover.test.js +205 -0
  264. package/dist/tests/sequent-g3/prover.test.js.map +1 -0
  265. package/package.json +1 -1
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Default Logic (Reiter) — Tipos
4
+ // ============================================================
5
+ //
6
+ // Lógica default de Reiter (1980). Una default rule:
7
+ //
8
+ // α : β1, ..., βn / γ
9
+ //
10
+ // significa "si α se cree y cada βi es consistente con las creencias
11
+ // actuales, entonces concluye γ". Una extensión es un punto fijo del
12
+ // operador inducido por la teoría: el conjunto de creencias estable
13
+ // donde todos los defaults aplicables ya fueron aplicados y ninguno
14
+ // más aplica sin generar inconsistencia.
15
+ //
16
+ // Limitación v1: prerequisites, justifications y consequents son
17
+ // literales (ground): "P" o "¬P". La consistencia se verifica buscando
18
+ // pares L/¬L en el conjunto de creencias. Esto cubre todos los
19
+ // ejemplos clásicos (Tweety, Nixon-diamond, etc.) sin SAT completo.
20
+ // ============================================================
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.DEFAULT_MAX_DEFAULTS = exports.DEFAULT_MAX_EXTENSIONS = void 0;
23
+ exports.DEFAULT_MAX_EXTENSIONS = 64;
24
+ exports.DEFAULT_MAX_DEFAULTS = 64;
25
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/profiles/default-logic/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,oCAAoC;AACpC,+DAA+D;AAC/D,EAAE;AACF,qDAAqD;AACrD,EAAE;AACF,0BAA0B;AAC1B,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,yCAAyC;AACzC,EAAE;AACF,iEAAiE;AACjE,uEAAuE;AACvE,+DAA+D;AAC/D,oEAAoE;AACpE,+DAA+D;;;AAgClD,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,oBAAoB,GAAG,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type { DLConcept, DLConceptKind, DLAxiom, DLAxiomKind, DLKnowledgeBase } from './types';
2
+ export { TOP, BOTTOM, atomic, not, and, or, exists, forall, subsumes, equivalent, instance, roleInstance, emptyKB, } from './types';
3
+ export { toNNF, conceptHash, conceptEqual, conceptToString } from './nnf';
4
+ export { isSatisfiable, isSubsumed, isInstance, classify } from './tableau';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/profiles/description-logic/index.ts"],"names":[],"mappings":"AAYA,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/F,OAAO,EACL,GAAG,EACH,MAAM,EACN,MAAM,EACN,GAAG,EACH,GAAG,EACH,EAAE,EACF,MAAM,EACN,MAAM,EACN,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,OAAO,GACR,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Description Logic — Public API (ALC profile)
4
+ // ============================================================
5
+ // Perfil ALC: el fragmento base de OWL/DL. Provee un decisor
6
+ // completo y terminante para satisfacibilidad de conceptos,
7
+ // subsumption, instance checking y clasificación.
8
+ //
9
+ // Procedimiento: tableau con subset blocking. Termina sobre KBs
10
+ // cíclicas. NO se inscribe en el ProfileRegistry (esto es un módulo
11
+ // de razonamiento independiente, no un perfil sentencial textual).
12
+ // ============================================================
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.classify = exports.isInstance = exports.isSubsumed = exports.isSatisfiable = exports.conceptToString = exports.conceptEqual = exports.conceptHash = exports.toNNF = exports.emptyKB = exports.roleInstance = exports.instance = exports.equivalent = exports.subsumes = exports.forall = exports.exists = exports.or = exports.and = exports.not = exports.atomic = exports.BOTTOM = exports.TOP = void 0;
15
+ var types_1 = require("./types");
16
+ Object.defineProperty(exports, "TOP", { enumerable: true, get: function () { return types_1.TOP; } });
17
+ Object.defineProperty(exports, "BOTTOM", { enumerable: true, get: function () { return types_1.BOTTOM; } });
18
+ Object.defineProperty(exports, "atomic", { enumerable: true, get: function () { return types_1.atomic; } });
19
+ Object.defineProperty(exports, "not", { enumerable: true, get: function () { return types_1.not; } });
20
+ Object.defineProperty(exports, "and", { enumerable: true, get: function () { return types_1.and; } });
21
+ Object.defineProperty(exports, "or", { enumerable: true, get: function () { return types_1.or; } });
22
+ Object.defineProperty(exports, "exists", { enumerable: true, get: function () { return types_1.exists; } });
23
+ Object.defineProperty(exports, "forall", { enumerable: true, get: function () { return types_1.forall; } });
24
+ Object.defineProperty(exports, "subsumes", { enumerable: true, get: function () { return types_1.subsumes; } });
25
+ Object.defineProperty(exports, "equivalent", { enumerable: true, get: function () { return types_1.equivalent; } });
26
+ Object.defineProperty(exports, "instance", { enumerable: true, get: function () { return types_1.instance; } });
27
+ Object.defineProperty(exports, "roleInstance", { enumerable: true, get: function () { return types_1.roleInstance; } });
28
+ Object.defineProperty(exports, "emptyKB", { enumerable: true, get: function () { return types_1.emptyKB; } });
29
+ var nnf_1 = require("./nnf");
30
+ Object.defineProperty(exports, "toNNF", { enumerable: true, get: function () { return nnf_1.toNNF; } });
31
+ Object.defineProperty(exports, "conceptHash", { enumerable: true, get: function () { return nnf_1.conceptHash; } });
32
+ Object.defineProperty(exports, "conceptEqual", { enumerable: true, get: function () { return nnf_1.conceptEqual; } });
33
+ Object.defineProperty(exports, "conceptToString", { enumerable: true, get: function () { return nnf_1.conceptToString; } });
34
+ var tableau_1 = require("./tableau");
35
+ Object.defineProperty(exports, "isSatisfiable", { enumerable: true, get: function () { return tableau_1.isSatisfiable; } });
36
+ Object.defineProperty(exports, "isSubsumed", { enumerable: true, get: function () { return tableau_1.isSubsumed; } });
37
+ Object.defineProperty(exports, "isInstance", { enumerable: true, get: function () { return tableau_1.isInstance; } });
38
+ Object.defineProperty(exports, "classify", { enumerable: true, get: function () { return tableau_1.classify; } });
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/profiles/description-logic/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;AAC/D,6DAA6D;AAC7D,4DAA4D;AAC5D,kDAAkD;AAClD,EAAE;AACF,gEAAgE;AAChE,oEAAoE;AACpE,mEAAmE;AACnE,+DAA+D;;;AAI/D,iCAciB;AAbf,4FAAA,GAAG,OAAA;AACH,+FAAA,MAAM,OAAA;AACN,+FAAA,MAAM,OAAA;AACN,4FAAA,GAAG,OAAA;AACH,4FAAA,GAAG,OAAA;AACH,2FAAA,EAAE,OAAA;AACF,+FAAA,MAAM,OAAA;AACN,+FAAA,MAAM,OAAA;AACN,iGAAA,QAAQ,OAAA;AACR,mGAAA,UAAU,OAAA;AACV,iGAAA,QAAQ,OAAA;AACR,qGAAA,YAAY,OAAA;AACZ,gGAAA,OAAO,OAAA;AAGT,6BAA0E;AAAjE,4FAAA,KAAK,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,mGAAA,YAAY,OAAA;AAAE,sGAAA,eAAe,OAAA;AAE1D,qCAA4E;AAAnE,wGAAA,aAAa,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,mGAAA,QAAQ,OAAA"}
@@ -0,0 +1,13 @@
1
+ import { DLConcept } from './types';
2
+ export declare function toNNF(c: DLConcept): DLConcept;
3
+ /**
4
+ * Hash canónico de un concepto. Dos conceptos sintácticamente iguales
5
+ * (módulo orden de hijos en and/or) producen el mismo hash.
6
+ */
7
+ export declare function conceptHash(c: DLConcept): string;
8
+ export declare function conceptEqual(a: DLConcept, b: DLConcept): boolean;
9
+ /**
10
+ * Render legible para tracing / mensajes.
11
+ */
12
+ export declare function conceptToString(c: DLConcept): string;
13
+ //# sourceMappingURL=nnf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nnf.d.ts","sourceRoot":"","sources":["../../../src/profiles/description-logic/nnf.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAA6C,MAAM,SAAS,CAAC;AAE/E,wBAAgB,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAoB7C;AA+BD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAuBhD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAmBpD"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Description Logic — Negation Normal Form & hashing
4
+ // ============================================================
5
+ // Empuja ¬ hasta los átomos. Tras NNF:
6
+ // - kind 'not' SOLO envuelve 'atomic'.
7
+ // - 'top' / 'bottom' nunca aparecen bajo 'not' (se simplifican).
8
+ // ============================================================
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.toNNF = toNNF;
11
+ exports.conceptHash = conceptHash;
12
+ exports.conceptEqual = conceptEqual;
13
+ exports.conceptToString = conceptToString;
14
+ const types_1 = require("./types");
15
+ function toNNF(c) {
16
+ switch (c.kind) {
17
+ case 'top':
18
+ case 'bottom':
19
+ return c;
20
+ case 'atomic':
21
+ return c;
22
+ case 'and':
23
+ return (0, types_1.and)(...(c.args || []).map(toNNF));
24
+ case 'or':
25
+ return (0, types_1.or)(...(c.args || []).map(toNNF));
26
+ case 'exists':
27
+ if (!c.role || !c.arg)
28
+ throw new Error('exists sin rol o argumento');
29
+ return (0, types_1.exists)(c.role, toNNF(c.arg));
30
+ case 'forall':
31
+ if (!c.role || !c.arg)
32
+ throw new Error('forall sin rol o argumento');
33
+ return (0, types_1.forall)(c.role, toNNF(c.arg));
34
+ case 'not':
35
+ return pushNot(c.arg);
36
+ }
37
+ }
38
+ function pushNot(inner) {
39
+ if (!inner)
40
+ throw new Error('not sin argumento');
41
+ switch (inner.kind) {
42
+ case 'top':
43
+ return types_1.BOTTOM;
44
+ case 'bottom':
45
+ return types_1.TOP;
46
+ case 'atomic':
47
+ return (0, types_1.not)(inner);
48
+ case 'not':
49
+ // doble negación
50
+ return toNNF(inner.arg);
51
+ case 'and':
52
+ // ¬(C ⊓ D) = ¬C ⊔ ¬D
53
+ return (0, types_1.or)(...(inner.args || []).map((a) => pushNot(a)));
54
+ case 'or':
55
+ // ¬(C ⊔ D) = ¬C ⊓ ¬D
56
+ return (0, types_1.and)(...(inner.args || []).map((a) => pushNot(a)));
57
+ case 'exists':
58
+ // ¬∃R.C = ∀R.¬C
59
+ if (!inner.role)
60
+ throw new Error('exists sin rol');
61
+ return (0, types_1.forall)(inner.role, pushNot(inner.arg));
62
+ case 'forall':
63
+ // ¬∀R.C = ∃R.¬C
64
+ if (!inner.role)
65
+ throw new Error('forall sin rol');
66
+ return (0, types_1.exists)(inner.role, pushNot(inner.arg));
67
+ }
68
+ }
69
+ /**
70
+ * Hash canónico de un concepto. Dos conceptos sintácticamente iguales
71
+ * (módulo orden de hijos en and/or) producen el mismo hash.
72
+ */
73
+ function conceptHash(c) {
74
+ switch (c.kind) {
75
+ case 'top':
76
+ return 'T';
77
+ case 'bottom':
78
+ return 'F';
79
+ case 'atomic':
80
+ return `A:${c.name || '?'}`;
81
+ case 'not':
82
+ return `!(${conceptHash(c.arg)})`;
83
+ case 'and': {
84
+ const parts = (c.args || []).map(conceptHash).sort();
85
+ return `&(${parts.join(',')})`;
86
+ }
87
+ case 'or': {
88
+ const parts = (c.args || []).map(conceptHash).sort();
89
+ return `|(${parts.join(',')})`;
90
+ }
91
+ case 'exists':
92
+ return `E:${c.role || '?'}(${conceptHash(c.arg)})`;
93
+ case 'forall':
94
+ return `V:${c.role || '?'}(${conceptHash(c.arg)})`;
95
+ }
96
+ }
97
+ function conceptEqual(a, b) {
98
+ return conceptHash(a) === conceptHash(b);
99
+ }
100
+ /**
101
+ * Render legible para tracing / mensajes.
102
+ */
103
+ function conceptToString(c) {
104
+ switch (c.kind) {
105
+ case 'top':
106
+ return '⊤';
107
+ case 'bottom':
108
+ return '⊥';
109
+ case 'atomic':
110
+ return c.name || '?';
111
+ case 'not':
112
+ return `¬${conceptToString(c.arg)}`;
113
+ case 'and':
114
+ return `(${(c.args || []).map(conceptToString).join(' ⊓ ')})`;
115
+ case 'or':
116
+ return `(${(c.args || []).map(conceptToString).join(' ⊔ ')})`;
117
+ case 'exists':
118
+ return `∃${c.role || '?'}.${conceptToString(c.arg)}`;
119
+ case 'forall':
120
+ return `∀${c.role || '?'}.${conceptToString(c.arg)}`;
121
+ }
122
+ }
123
+ //# sourceMappingURL=nnf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nnf.js","sourceRoot":"","sources":["../../../src/profiles/description-logic/nnf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { DLConcept, DLKnowledgeBase } from './types';
2
+ import { conceptToString } from './nnf';
3
+ /**
4
+ * Decide si `concept` es satisfacible (eventualmente bajo la KB).
5
+ * Construye un tableau iniciando con un individuo fresco x : concept,
6
+ * y aplica las reglas hasta cerrar todas las ramas o encontrar una abierta.
7
+ */
8
+ export declare function isSatisfiable(concept: DLConcept, kb?: DLKnowledgeBase): boolean;
9
+ /**
10
+ * Decide si `sub ⊑ sup` (bajo la KB). Equivale a: ¬(sub ⊓ ¬sup) es válida,
11
+ * o sea, `sub ⊓ ¬sup` es insatisfacible.
12
+ */
13
+ export declare function isSubsumed(sub: DLConcept, sup: DLConcept, kb?: DLKnowledgeBase): boolean;
14
+ /**
15
+ * Decide si `individual` es instancia de `concept` bajo la KB.
16
+ * Equivale a: KB ∪ {individual : ¬concept} es inconsistente.
17
+ */
18
+ export declare function isInstance(individual: string, concept: DLConcept, kb: DLKnowledgeBase): boolean;
19
+ /**
20
+ * Clasificación: produce taxonomía de conceptos atómicos de la KB.
21
+ * Devuelve Map<conceptName, Set<conceptName>> donde `Set` contiene
22
+ * los conceptos atómicos que subsumen al name (es decir: superconceptos).
23
+ * ⊤ y ⊥ se incluyen siempre.
24
+ */
25
+ export declare function classify(kb: DLKnowledgeBase): Map<string, Set<string>>;
26
+ export { conceptToString };
27
+ //# sourceMappingURL=tableau.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableau.d.ts","sourceRoot":"","sources":["../../../src/profiles/description-logic/tableau.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAqC,MAAM,SAAS,CAAC;AACxF,OAAO,EAAsB,eAAe,EAAE,MAAM,OAAO,CAAC;AA0V5D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CAgB/E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CAGxF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,eAAe,GAAG,OAAO,CAgB/F;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAoCtE;AAoBD,OAAO,EAAE,eAAe,EAAE,CAAC"}