@stevenvo780/st-lang 0.3.0 → 0.4.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 (84) hide show
  1. package/README.md +86 -0
  2. package/dist/api.d.ts +7 -0
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +20 -19
  5. package/dist/api.js.map +1 -1
  6. package/dist/ast/nodes.d.ts +1 -0
  7. package/dist/ast/nodes.d.ts.map +1 -1
  8. package/dist/cli/index.d.ts +1 -0
  9. package/dist/cli/index.js +116 -182
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/index.d.ts +4 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +3 -3
  14. package/dist/index.js.map +1 -1
  15. package/dist/lexer/lexer.d.ts +3 -0
  16. package/dist/lexer/lexer.d.ts.map +1 -1
  17. package/dist/lexer/lexer.js +15 -7
  18. package/dist/lexer/lexer.js.map +1 -1
  19. package/dist/lexer/tokens.d.ts +4 -0
  20. package/dist/lexer/tokens.d.ts.map +1 -1
  21. package/dist/lexer/tokens.js +28 -21
  22. package/dist/lexer/tokens.js.map +1 -1
  23. package/dist/parser/parser.d.ts +4 -0
  24. package/dist/parser/parser.d.ts.map +1 -1
  25. package/dist/parser/parser.js +107 -23
  26. package/dist/parser/parser.js.map +1 -1
  27. package/dist/profiles/classical/first-order.d.ts +7 -2
  28. package/dist/profiles/classical/first-order.d.ts.map +1 -1
  29. package/dist/profiles/classical/first-order.js +144 -29
  30. package/dist/profiles/classical/first-order.js.map +1 -1
  31. package/dist/profiles/classical/propositional.d.ts +1 -0
  32. package/dist/profiles/classical/propositional.d.ts.map +1 -1
  33. package/dist/profiles/classical/propositional.js +175 -61
  34. package/dist/profiles/classical/propositional.js.map +1 -1
  35. package/dist/profiles/interface.d.ts.map +1 -1
  36. package/dist/profiles/modal/k.d.ts +11 -3
  37. package/dist/profiles/modal/k.d.ts.map +1 -1
  38. package/dist/profiles/modal/k.js +305 -11
  39. package/dist/profiles/modal/k.js.map +1 -1
  40. package/dist/profiles/paraconsistent/belnap.d.ts +17 -1
  41. package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
  42. package/dist/profiles/paraconsistent/belnap.js +195 -11
  43. package/dist/profiles/paraconsistent/belnap.js.map +1 -1
  44. package/dist/protocol/handler.d.ts.map +1 -1
  45. package/dist/protocol/handler.js +208 -22
  46. package/dist/protocol/handler.js.map +1 -1
  47. package/dist/repl/repl.d.ts.map +1 -1
  48. package/dist/repl/repl.js +9 -6
  49. package/dist/repl/repl.js.map +1 -1
  50. package/dist/runtime/interpreter.d.ts +4 -2
  51. package/dist/runtime/interpreter.d.ts.map +1 -1
  52. package/dist/runtime/interpreter.js +86 -48
  53. package/dist/runtime/interpreter.js.map +1 -1
  54. package/dist/tests/cli.test.d.ts +1 -1
  55. package/dist/tests/cli.test.d.ts.map +1 -1
  56. package/dist/tests/cli.test.js +112 -115
  57. package/dist/tests/cli.test.js.map +1 -1
  58. package/dist/tests/core.test.d.ts +1 -1
  59. package/dist/tests/core.test.d.ts.map +1 -1
  60. package/dist/tests/core.test.js +175 -174
  61. package/dist/tests/core.test.js.map +1 -1
  62. package/dist/tests/engines.test.d.ts +2 -0
  63. package/dist/tests/engines.test.d.ts.map +1 -0
  64. package/dist/tests/engines.test.js +81 -0
  65. package/dist/tests/engines.test.js.map +1 -0
  66. package/dist/tests/parser.test.d.ts +1 -1
  67. package/dist/tests/parser.test.d.ts.map +1 -1
  68. package/dist/tests/parser.test.js +162 -165
  69. package/dist/tests/parser.test.js.map +1 -1
  70. package/dist/tests/philosophy.test.d.ts +2 -0
  71. package/dist/tests/philosophy.test.d.ts.map +1 -0
  72. package/dist/tests/philosophy.test.js +588 -0
  73. package/dist/tests/philosophy.test.js.map +1 -0
  74. package/dist/text-layer/compiler.d.ts +5 -9
  75. package/dist/text-layer/compiler.d.ts.map +1 -1
  76. package/dist/text-layer/compiler.js +6 -4
  77. package/dist/text-layer/compiler.js.map +1 -1
  78. package/dist/types/index.d.ts +10 -1
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/package.json +24 -7
  81. package/dist/tests/runner.d.ts +0 -6
  82. package/dist/tests/runner.d.ts.map +0 -1
  83. package/dist/tests/runner.js +0 -69
  84. package/dist/tests/runner.js.map +0 -1
@@ -0,0 +1,588 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST — Tests Filosóficos Complejos por Sistema Lógico
4
+ // ============================================================
5
+ // Cada sección formaliza argumentos reales de la historia de la
6
+ // filosofía para validar que el motor funciona correctamente
7
+ // con textos complejos de razonamiento filosófico profundo.
8
+ // ============================================================
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const vitest_1 = require("vitest");
11
+ const api_1 = require("../api");
12
+ // ────────────────────────────────────────────────────────────────
13
+ // 1. LÓGICA PROPOSICIONAL CLÁSICA
14
+ // ────────────────────────────────────────────────────────────────
15
+ (0, vitest_1.describe)('Filosofía — Lógica Proposicional Clásica', () => {
16
+ // ── Aristóteles: Principio de No-Contradicción ──
17
+ (0, vitest_1.it)('Aristóteles: Principio de No-Contradicción — !(P & !P) es tautología', () => {
18
+ const r = (0, api_1.evaluate)(`
19
+ logic classical.propositional
20
+
21
+ // Metafísica IV, 3-6: "Es imposible que lo mismo se dé y no se dé
22
+ // en lo mismo a la vez y en el mismo sentido"
23
+ // Formalización: !(P & !P) — El PNC es una ley lógica universal
24
+ check valid (!(P & !P))
25
+ `);
26
+ (0, vitest_1.expect)(r.ok).toBe(true);
27
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
28
+ });
29
+ // ── Aristóteles: Principio del Tercero Excluido ──
30
+ (0, vitest_1.it)('Aristóteles: Tertium Non Datur — (P | !P) es tautología', () => {
31
+ const r = (0, api_1.evaluate)(`
32
+ logic classical.propositional
33
+ // Metafísica IV, 7: "No es posible que haya nada entre los dos
34
+ // miembros de una contradicción, sino que necesariamente
35
+ // se ha de afirmar o negar uno de ellos."
36
+ check valid (P | !P)
37
+ `);
38
+ (0, vitest_1.expect)(r.ok).toBe(true);
39
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
40
+ });
41
+ // ── Estoicos: Modus Ponens ──
42
+ (0, vitest_1.it)('Estoicos: Primer Indemonstrables — Modus Ponens', () => {
43
+ const r = (0, api_1.evaluate)(`
44
+ logic classical.propositional
45
+ // Crisipo, Primer Indemostrable: "Si lo primero, entonces lo segundo;
46
+ // pero lo primero; por tanto, lo segundo."
47
+ // (P -> Q) & P => Q
48
+ axiom premisa_mayor : P -> Q
49
+ axiom premisa_menor : P
50
+ derive Q from {premisa_mayor, premisa_menor}
51
+ `);
52
+ (0, vitest_1.expect)(r.ok).toBe(true);
53
+ (0, vitest_1.expect)(r.results[0].status).toBe('provable');
54
+ });
55
+ // ── Estoicos: Modus Tollens ──
56
+ (0, vitest_1.it)('Estoicos: Segundo Indemostrable — Modus Tollens', () => {
57
+ const r = (0, api_1.evaluate)(`
58
+ logic classical.propositional
59
+ // Crisipo, Segundo Indemostrable: "Si lo primero, entonces lo segundo;
60
+ // pero no lo segundo; por tanto, no lo primero."
61
+ check valid ((P -> Q) -> (!Q -> !P))
62
+ `);
63
+ (0, vitest_1.expect)(r.ok).toBe(true);
64
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
65
+ });
66
+ // ── Estoicos: Silogismo Disyuntivo ──
67
+ (0, vitest_1.it)('Estoicos: Tercer Indemostrable — Silogismo Disyuntivo', () => {
68
+ const r = (0, api_1.evaluate)(`
69
+ logic classical.propositional
70
+ // "O lo primero o lo segundo; pero no lo primero; por tanto, lo segundo."
71
+ check valid (((P | Q) & !P) -> Q)
72
+ `);
73
+ (0, vitest_1.expect)(r.ok).toBe(true);
74
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
75
+ });
76
+ // ── Wittgenstein: Tautología compuesta del Tractatus ──
77
+ (0, vitest_1.it)('Wittgenstein: Tautología compleja — cadena de implicaciones', () => {
78
+ const r = (0, api_1.evaluate)(`
79
+ logic classical.propositional
80
+ // Tractatus 4.461: "La tautología no tiene condiciones de verdad,
81
+ // pues es incondicionalmente verdadera."
82
+ // ((P -> Q) & (Q -> R)) -> (P -> R) — Transitividad del condicional
83
+ check valid (((P -> Q) & (Q -> R)) -> (P -> R))
84
+ `);
85
+ (0, vitest_1.expect)(r.ok).toBe(true);
86
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
87
+ });
88
+ // ── Leibniz: Principio de Razón Suficiente (formalización parcial) ──
89
+ (0, vitest_1.it)('Leibniz: Principio de Identidad — (P <-> P) es tautología', () => {
90
+ const r = (0, api_1.evaluate)(`
91
+ logic classical.propositional
92
+ // Monadología §31-32: "Nuestros razonamientos se fundan en dos grandes
93
+ // principios: el de contradicción y el de razón suficiente."
94
+ // El principio de identidad: P <-> P
95
+ check valid (P <-> P)
96
+ `);
97
+ (0, vitest_1.expect)(r.ok).toBe(true);
98
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
99
+ });
100
+ // ── Peirce: Ley de Peirce ──
101
+ (0, vitest_1.it)('Peirce: Ley de Peirce — ((P -> Q) -> P) -> P', () => {
102
+ const r = (0, api_1.evaluate)(`
103
+ logic classical.propositional
104
+ // C.S. Peirce (1885): Esta ley es válida clásicamente pero no
105
+ // intuicionistamente, distinguiendo ambas lógicas.
106
+ check valid (((P -> Q) -> P) -> P)
107
+ `);
108
+ (0, vitest_1.expect)(r.ok).toBe(true);
109
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
110
+ });
111
+ // ── Tabla de verdad: Análisis de la Paradoja del Condicional Material ──
112
+ (0, vitest_1.it)('Paradoja del Condicional Material — Ex falso quodlibet', () => {
113
+ const r = (0, api_1.evaluate)(`
114
+ logic classical.propositional
115
+ // C.I. Lewis señaló que P -> (Q -> P) es una tautología,
116
+ // lo cual muestra que una verdad se sigue de cualquier cosa.
117
+ check valid (P -> (Q -> P))
118
+ truth_table (P -> (Q -> P))
119
+ `);
120
+ (0, vitest_1.expect)(r.ok).toBe(true);
121
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
122
+ (0, vitest_1.expect)(r.results[1].truthTable).toBeDefined();
123
+ (0, vitest_1.expect)(r.results[1].truthTable.isTautology).toBe(true);
124
+ });
125
+ // ── Argumento complejo: Dilema Constructivo ──
126
+ (0, vitest_1.it)('Dilema Constructivo — ((P->Q) & (R->S)) -> ((P|R) -> (Q|S))', () => {
127
+ const r = (0, api_1.evaluate)(`
128
+ logic classical.propositional
129
+ // Forma de argumento clásica usada extensamente en retórica filosófica.
130
+ check valid (((P -> Q) & (R -> S)) -> ((P | R) -> (Q | S)))
131
+ `);
132
+ (0, vitest_1.expect)(r.ok).toBe(true);
133
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
134
+ });
135
+ // ── De Morgan: Leyes ──
136
+ (0, vitest_1.it)('De Morgan: !(P & Q) <-> (!P | !Q)', () => {
137
+ const r = (0, api_1.evaluate)(`
138
+ logic classical.propositional
139
+ // Augustus De Morgan (1847): Equivalencias fundamentales
140
+ check valid (!(P & Q) <-> (!P | !Q))
141
+ `);
142
+ (0, vitest_1.expect)(r.ok).toBe(true);
143
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
144
+ });
145
+ (0, vitest_1.it)('De Morgan: !(P | Q) <-> (!P & !Q)', () => {
146
+ const r = (0, api_1.evaluate)(`
147
+ logic classical.propositional
148
+ check valid (!(P | Q) <-> (!P & !Q))
149
+ `);
150
+ (0, vitest_1.expect)(r.ok).toBe(true);
151
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
152
+ });
153
+ // ── Derivación compleja: Argumento de Descartes ──
154
+ (0, vitest_1.it)('Descartes: Cogito formalizado como cadena deductiva', () => {
155
+ const r = (0, api_1.evaluate)(`
156
+ logic classical.propositional
157
+ // Reconstrucción formal del Cogito:
158
+ // P = "Pienso" (Cogito)
159
+ // D = "Algo que piensa existe" (res cogitans)
160
+ // E = "Existo" (Sum)
161
+ // Si pienso, entonces algo que piensa existe.
162
+ // Si algo que piensa existe, entonces existo.
163
+ // Pienso. Luego, existo.
164
+ axiom cogito : P
165
+ axiom pensar_implica_res_cogitans : P -> D
166
+ axiom res_cogitans_implica_existencia : D -> E
167
+ derive E from {cogito, pensar_implica_res_cogitans, res_cogitans_implica_existencia}
168
+ `);
169
+ (0, vitest_1.expect)(r.ok).toBe(true);
170
+ (0, vitest_1.expect)(r.results[0].status).toBe('provable');
171
+ });
172
+ // ── Contraejemplo: Falacia de Afirmación del Consecuente ──
173
+ (0, vitest_1.it)('Falacia de Afirmación del Consecuente — NO es válida', () => {
174
+ const r = (0, api_1.evaluate)(`
175
+ logic classical.propositional
176
+ // Si llueve, el suelo está mojado. El suelo está mojado. ¿Llueve?
177
+ // ((P -> Q) & Q) -> P NO es una tautología (falacia)
178
+ check valid (((P -> Q) & Q) -> P)
179
+ `);
180
+ (0, vitest_1.expect)(r.ok).toBe(true);
181
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
182
+ });
183
+ // ── Contraejemplo: Falacia de Negación del Antecedente ──
184
+ (0, vitest_1.it)('Falacia de Negación del Antecedente — NO es válida', () => {
185
+ const r = (0, api_1.evaluate)(`
186
+ logic classical.propositional
187
+ // Si llueve, el suelo está mojado. No llueve. ¿El suelo no está mojado?
188
+ check valid (((P -> Q) & !P) -> !Q)
189
+ `);
190
+ (0, vitest_1.expect)(r.ok).toBe(true);
191
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
192
+ });
193
+ });
194
+ // ────────────────────────────────────────────────────────────────
195
+ // 2. LÓGICA MODAL K
196
+ // ────────────────────────────────────────────────────────────────
197
+ (0, vitest_1.describe)('Filosofía — Lógica Modal K', () => {
198
+ // ── Axioma K: Distribución de la Necesidad ──
199
+ (0, vitest_1.it)('Axioma K — [](P -> Q) -> ([]P -> []Q)', () => {
200
+ const r = (0, api_1.evaluate)(`
201
+ logic modal.k
202
+ // El axioma fundamental del sistema K de Kripke:
203
+ // "Si es necesario que P implique Q, entonces si es necesario P,
204
+ // es necesario Q". Distribución de [] sobre ->.
205
+ check valid ([](P -> Q) -> ([]P -> []Q))
206
+ `);
207
+ (0, vitest_1.expect)(r.ok).toBe(true);
208
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
209
+ });
210
+ // ── Regla de Necessitación (consecuencia) ──
211
+ (0, vitest_1.it)('Necessitación: tautología bajo [] — [](P -> P)', () => {
212
+ const r = (0, api_1.evaluate)(`
213
+ logic modal.k
214
+ // La regla de necessitación dice: si A es un teorema, entonces []A.
215
+ // Como (P -> P) es tautología, [](P -> P) debe ser válida.
216
+ check valid ([](P -> P))
217
+ `);
218
+ (0, vitest_1.expect)(r.ok).toBe(true);
219
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
220
+ });
221
+ // ── Dualidad □/◇ ──
222
+ (0, vitest_1.it)('Dualidad modal: <>P <-> ![]!P', () => {
223
+ const r = (0, api_1.evaluate)(`
224
+ logic modal.k
225
+ // Dualidad fundamental: "Es posible P" equivale a
226
+ // "No es necesario no-P". Análoga a ∃/∀ en FOL.
227
+ check valid (<>P <-> ![]!P)
228
+ `);
229
+ (0, vitest_1.expect)(r.ok).toBe(true);
230
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
231
+ });
232
+ // ── Dualidad simétrica ──
233
+ (0, vitest_1.it)('Dualidad modal simétrica: []P <-> !<>!P', () => {
234
+ const r = (0, api_1.evaluate)(`
235
+ logic modal.k
236
+ // El dual: "Es necesario P" equivale a "No es posible no-P".
237
+ check valid ([]P <-> !<>!P)
238
+ `);
239
+ (0, vitest_1.expect)(r.ok).toBe(true);
240
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
241
+ });
242
+ // ── No-validez del axioma T en K ──
243
+ (0, vitest_1.it)('Axioma T NO es válido en K: []P -> P', () => {
244
+ const r = (0, api_1.evaluate)(`
245
+ logic modal.k
246
+ // El axioma T (reflexividad) requiere que todo mundo sea accesible
247
+ // a sí mismo. En K puro esto no se asume.
248
+ check valid ([]P -> P)
249
+ `);
250
+ (0, vitest_1.expect)(r.ok).toBe(true);
251
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
252
+ });
253
+ // ── No-validez del axioma 4 en K ──
254
+ (0, vitest_1.it)('Axioma 4 NO es válido en K: []P -> [][]P', () => {
255
+ const r = (0, api_1.evaluate)(`
256
+ logic modal.k
257
+ // El axioma 4 (transitividad) requiere que la relación de accesibilidad
258
+ // sea transitiva. En K puro esto no se asume.
259
+ check valid ([]P -> [][]P)
260
+ `);
261
+ (0, vitest_1.expect)(r.ok).toBe(true);
262
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
263
+ });
264
+ // ── No-validez del axioma B en K ──
265
+ (0, vitest_1.it)('Axioma B NO es válido en K: P -> []<>P', () => {
266
+ const r = (0, api_1.evaluate)(`
267
+ logic modal.k
268
+ // El axioma B (simetría) requiere que la relación de accesibilidad
269
+ // sea simétrica. En K puro esto no se asume.
270
+ check valid (P -> []<>P)
271
+ `);
272
+ (0, vitest_1.expect)(r.ok).toBe(true);
273
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
274
+ });
275
+ // ── Distribución de [] sobre & ──
276
+ (0, vitest_1.it)('Distribución de [] sobre conjunción: [](P & Q) <-> ([]P & []Q)', () => {
277
+ const r = (0, api_1.evaluate)(`
278
+ logic modal.k
279
+ // Teorema válido en K: la necesidad distribuye sobre la conjunción.
280
+ check valid ([](P & Q) <-> ([]P & []Q))
281
+ `);
282
+ (0, vitest_1.expect)(r.ok).toBe(true);
283
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
284
+ });
285
+ // ── [] no distribuye sobre disyunción (dirección inversa) ──
286
+ (0, vitest_1.it)('[]P | []Q -> [](P | Q) — válido', () => {
287
+ const r = (0, api_1.evaluate)(`
288
+ logic modal.k
289
+ // Si P es necesario O Q es necesario, entonces (P o Q) es necesario.
290
+ check valid (([]P | []Q) -> [](P | Q))
291
+ `);
292
+ (0, vitest_1.expect)(r.ok).toBe(true);
293
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
294
+ });
295
+ (0, vitest_1.it)('[](P | Q) -> ([]P | []Q) — NO válido', () => {
296
+ const r = (0, api_1.evaluate)(`
297
+ logic modal.k
298
+ // La conversa NO vale: que necesariamente (P o Q) no implica
299
+ // que uno de los dos sea necesario individualmente.
300
+ check valid ([](P | Q) -> ([]P | []Q))
301
+ `);
302
+ (0, vitest_1.expect)(r.ok).toBe(true);
303
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
304
+ });
305
+ // ── Argumento modal ontológico simplificado ──
306
+ (0, vitest_1.it)('Argumento ontológico modal (Gödel simplificado): premisas modales', () => {
307
+ const r = (0, api_1.evaluate)(`
308
+ logic modal.k
309
+ // Simplificación: Si es posible que sea necesario P, y asumimos K,
310
+ // no podemos concluir P (requiere S5).
311
+ // <>[]P -> P NO es válido en K
312
+ check valid (<>[]P -> P)
313
+ `);
314
+ (0, vitest_1.expect)(r.ok).toBe(true);
315
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
316
+ });
317
+ // ── Kripke: Anidamiento modal complejo ──
318
+ (0, vitest_1.it)('Kripke: [](!P -> <>!P) — válido (necesidad de la posibilidad de lo negado)', () => {
319
+ const r = (0, api_1.evaluate)(`
320
+ logic modal.k
321
+ // En K: si no-P es el caso en un mundo, entonces es posible no-P
322
+ // desde ese mundo (reflexividad local). Necesariamente: si no-P, posible no-P.
323
+ // Esto NO es válido porque no tenemos reflexividad.
324
+ check valid ([](!P -> <>!P))
325
+ `);
326
+ // En K sin reflexividad, !P -> <>!P no es válido en general
327
+ (0, vitest_1.expect)(r.ok).toBe(true);
328
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
329
+ });
330
+ });
331
+ // ────────────────────────────────────────────────────────────────
332
+ // 3. LÓGICA DE PRIMER ORDEN
333
+ // ────────────────────────────────────────────────────────────────
334
+ (0, vitest_1.describe)('Filosofía — Lógica de Primer Orden', () => {
335
+ // ── Aristóteles: Barbara (Todos los hombres son mortales) ──
336
+ (0, vitest_1.it)('Barbara: (∀x P(x)->Q(x)) & P(a) => Q(a)', () => {
337
+ const r = (0, api_1.evaluate)(`
338
+ logic classical.first_order
339
+ // Silogismo clásico aristotélico (Barbara):
340
+ // Todo hombre es mortal. Sócrates es hombre. Luego Sócrates es mortal.
341
+ // Formalizado: (∀x (Hombre(x) -> Mortal(x))) & Hombre(socrates) => Mortal(socrates)
342
+ check valid ((forall x (P(x) -> Q(x))) -> (P(a) -> Q(a)))
343
+ `);
344
+ (0, vitest_1.expect)(r.ok).toBe(true);
345
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
346
+ });
347
+ // ── Instanciación Universal ──
348
+ (0, vitest_1.it)('Instanciación Universal: (∀x P(x)) -> P(a)', () => {
349
+ const r = (0, api_1.evaluate)(`
350
+ logic classical.first_order
351
+ // Regla fundamental: lo que vale para todos, vale para cualquiera.
352
+ check valid ((forall x P(x)) -> P(a))
353
+ `);
354
+ (0, vitest_1.expect)(r.ok).toBe(true);
355
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
356
+ });
357
+ // ── Generalización Existencial ──
358
+ (0, vitest_1.it)('Generalización Existencial: P(a) -> (∃x P(x))', () => {
359
+ const r = (0, api_1.evaluate)(`
360
+ logic classical.first_order
361
+ // Si algo es verdadero de 'a', entonces existe algo de lo cual es verdadero.
362
+ check valid (P(a) -> (exists x P(x)))
363
+ `);
364
+ (0, vitest_1.expect)(r.ok).toBe(true);
365
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
366
+ });
367
+ // ── Falacia existencial→universal ──
368
+ (0, vitest_1.it)('Falacia: (∃x P(x)) -> (∀x P(x)) — NO válida', () => {
369
+ const r = (0, api_1.evaluate)(`
370
+ logic classical.first_order
371
+ // Que exista algo con propiedad P no implica que todo tenga P.
372
+ // "Algunos cisnes son blancos" no implica "Todos los cisnes son blancos".
373
+ check valid ((exists x P(x)) -> (forall x P(x)))
374
+ `);
375
+ (0, vitest_1.expect)(r.ok).toBe(true);
376
+ // FOL puede devolver 'unknown' si no cierra tableau
377
+ (0, vitest_1.expect)(['invalid', 'unknown']).toContain(r.results[0].status);
378
+ });
379
+ // ── Dualidad cuantificadores ──
380
+ (0, vitest_1.it)('Dualidad: (∀x P(x)) -> !(∃x !P(x)) — válida', () => {
381
+ const r = (0, api_1.evaluate)(`
382
+ logic classical.first_order
383
+ // Si todo tiene P, no existe nada sin P.
384
+ check valid ((forall x P(x)) -> !(exists x !P(x)))
385
+ `);
386
+ (0, vitest_1.expect)(r.ok).toBe(true);
387
+ // Puede no cerrar tableau en FOL limitado
388
+ (0, vitest_1.expect)(['valid', 'unknown']).toContain(r.results[0].status);
389
+ });
390
+ });
391
+ // ────────────────────────────────────────────────────────────────
392
+ // 4. LÓGICA PARACONSISTENTE DE BELNAP
393
+ // ────────────────────────────────────────────────────────────────
394
+ (0, vitest_1.describe)('Filosofía — Lógica Paraconsistente (Belnap 4-valued)', () => {
395
+ // ── Belnap: Tolerancia a contradicciones ──
396
+ (0, vitest_1.it)('Belnap: P & !P NO es tautología (no es siempre T/B)', () => {
397
+ const r = (0, api_1.evaluate)(`
398
+ logic paraconsistent.belnap
399
+ // En Belnap, una contradicción P & !P evalúa a:
400
+ // - B (Both) cuando P = B
401
+ // - F cuando P = T, F, o N
402
+ // No es designada (T o B) en todos los casos → no es tautología.
403
+ check valid (P & !P)
404
+ `);
405
+ (0, vitest_1.expect)(r.ok).toBe(true);
406
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
407
+ });
408
+ // ── Belnap: Disyunción inclusiva ──
409
+ (0, vitest_1.it)('Belnap: P | !P es satisfacible pero NO tautología', () => {
410
+ const r = (0, api_1.evaluate)(`
411
+ logic paraconsistent.belnap
412
+ // En lógica clásica, P | !P es siempre verdadero.
413
+ // En Belnap, si P = N (None), entonces P | !P = N | N = N,
414
+ // que no es designado. Por tanto NO es tautología en Belnap.
415
+ check valid (P | !P)
416
+ `);
417
+ (0, vitest_1.expect)(r.ok).toBe(true);
418
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
419
+ });
420
+ (0, vitest_1.it)('Belnap: P | !P es satisfacible', () => {
421
+ const r = (0, api_1.evaluate)(`
422
+ logic paraconsistent.belnap
423
+ check satisfiable (P | !P)
424
+ `);
425
+ (0, vitest_1.expect)(r.ok).toBe(true);
426
+ (0, vitest_1.expect)(r.results[0].status).toBe('satisfiable');
427
+ });
428
+ // ── Belnap: Explosión controlada ──
429
+ (0, vitest_1.it)('Belnap: Ex Falso Quodlibet FALLA — (P & !P) -> Q no es tautología', () => {
430
+ const r = (0, api_1.evaluate)(`
431
+ logic paraconsistent.belnap
432
+ // En lógica clásica, de una contradicción se sigue cualquier cosa.
433
+ // En Belnap, esto FALLA: la contradicción no "explota" el sistema.
434
+ // Si P = B, entonces P & !P = B, y B -> Q depende de Q.
435
+ // Si Q = F, entonces B -> F = (no-B | F) = (B | F) = B,
436
+ // que es designado... pero si Q = N, B -> N = (B | N) = T.
437
+ // Hay que verificar todos los 16 casos.
438
+ check valid ((P & !P) -> Q)
439
+ `);
440
+ (0, vitest_1.expect)(r.ok).toBe(true);
441
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
442
+ });
443
+ // ── Priest / Belnap: Información inconsistente pero útil ──
444
+ (0, vitest_1.it)('Belnap: Ex Falso no explota — (P & !P) -> Q no preserva designación', () => {
445
+ const r = (0, api_1.evaluate)(`
446
+ logic paraconsistent.belnap
447
+ // En Belnap, la inferencia de premisas contradictorias a cualquier Q
448
+ // NO es válida: (P & !P) -> Q no siempre da valor designado.
449
+ // Esto es BUENO: Belnap tolera contradicciones sin explosión.
450
+ // Si P=B, Q=N: (B & B) -> N = B -> N = (!B | N) = (B | N) = T (designado)
451
+ // Pero si P=T, Q=F: (T & F) -> F = F -> F = (!F | F) = (T | F) = T
452
+ // Revisemos con prove: la prueba falla porque la implicación material no preserva.
453
+ axiom fuente1 : P
454
+ axiom fuente2 : !P
455
+ axiom dato_independiente : Q
456
+ prove Q from {fuente1, fuente2, dato_independiente}
457
+ `);
458
+ (0, vitest_1.expect)(r.ok).toBe(true);
459
+ // En Belnap prove, se evalúa (premisas -> goal) con 4 valores.
460
+ // La conjunción de los axiomas no siempre implica Q designadamente.
461
+ (0, vitest_1.expect)(r.results[0].status).toBe('refutable');
462
+ });
463
+ // ── Belnap: Implicación material con None ──
464
+ (0, vitest_1.it)('Belnap: (P -> P) NO es tautología (N -> N = N, no designado)', () => {
465
+ const r = (0, api_1.evaluate)(`
466
+ logic paraconsistent.belnap
467
+ // En Belnap, P -> P = !P | P.
468
+ // Si P = N (None): !N = N, N | N = N, que NO es designado.
469
+ // Por tanto P -> P NO es tautología en Belnap 4-valued.
470
+ check valid (P -> P)
471
+ `);
472
+ (0, vitest_1.expect)(r.ok).toBe(true);
473
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
474
+ });
475
+ // ── Belnap: Contrapositiva no vale completamente ──
476
+ (0, vitest_1.it)('Belnap: check valid del condicional material devuelve truthTable', () => {
477
+ const r = (0, api_1.evaluate)(`
478
+ logic paraconsistent.belnap
479
+ // El condicional material en Belnap NO es tautología.
480
+ // Usamos check valid que internamente genera la tabla Belnap.
481
+ check valid (P -> Q)
482
+ `);
483
+ (0, vitest_1.expect)(r.ok).toBe(true);
484
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
485
+ // checkValid de Belnap devuelve la tabla de verdad en el resultado
486
+ (0, vitest_1.expect)(r.results[0].truthTable).toBeDefined();
487
+ // 4 valores × 4 valores = 16 filas
488
+ (0, vitest_1.expect)(r.results[0].truthTable.rows.length).toBe(16);
489
+ });
490
+ });
491
+ // ────────────────────────────────────────────────────────────────
492
+ // 5. TESTS MULTI-SISTEMA — Argumentos filosóficos extensos
493
+ // ────────────────────────────────────────────────────────────────
494
+ (0, vitest_1.describe)('Filosofía — Argumentos Extensos Multi-paso', () => {
495
+ // ── Kant: Estructura del Imperativo Categórico (formalización) ──
496
+ (0, vitest_1.it)('Kant: Cadena deductiva del Imperativo Categórico', () => {
497
+ const r = (0, api_1.evaluate)(`
498
+ logic classical.propositional
499
+ // Fundamentación de la Metafísica de las Costumbres (1785):
500
+ // U = "La máxima es universalizable"
501
+ // D = "Es deber moral"
502
+ // A = "La acción es moralmente permisible"
503
+ //
504
+ // Si universalizable, entonces deber. Si deber, entonces permisible.
505
+ // Conclusión: Si universalizable, entonces permisible. (Transitividad)
506
+ check valid (((U -> D) & (D -> A)) -> (U -> A))
507
+ `);
508
+ (0, vitest_1.expect)(r.ok).toBe(true);
509
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
510
+ });
511
+ // ── Hume: Problema de la Inducción ──
512
+ (0, vitest_1.it)('Hume: Falacia inductiva — lo particular no implica lo universal', () => {
513
+ const r = (0, api_1.evaluate)(`
514
+ logic classical.propositional
515
+ // Hume, Tratado de la Naturaleza Humana (1739):
516
+ // Que hayamos observado N casos de (P -> Q) no garantiza el caso N+1.
517
+ // Formalización simplificada: (P1 -> Q1) & (P2 -> Q2) no implica (P3 -> Q3)
518
+ check valid (((A -> B) & (C -> D)) -> (E -> F))
519
+ `);
520
+ (0, vitest_1.expect)(r.ok).toBe(true);
521
+ (0, vitest_1.expect)(r.results[0].status).toBe('invalid');
522
+ });
523
+ // ── Russell: Paradoja del Barbero (estructura lógica) ──
524
+ (0, vitest_1.it)('Russell: Estructura auto-referencial — (P <-> !P) es contradicción', () => {
525
+ const r = (0, api_1.evaluate)(`
526
+ logic classical.propositional
527
+ // La paradoja de Russell muestra que (P <-> !P) es insatisfacible:
528
+ // "El barbero afeita a todos los que no se afeitan a sí mismos"
529
+ // Si el barbero se afeita: no debería. Si no: debería. Contradicción.
530
+ check satisfiable (P <-> !P)
531
+ `);
532
+ (0, vitest_1.expect)(r.ok).toBe(true);
533
+ (0, vitest_1.expect)(r.results[0].status).toBe('unsatisfiable');
534
+ });
535
+ // ── Gödel-Henkin: Completitud (meta-propiedad demostrada formalmente) ──
536
+ (0, vitest_1.it)('Completitud proposicional: toda tautología es derivable', () => {
537
+ const r = (0, api_1.evaluate)(`
538
+ logic classical.propositional
539
+ // Verificamos varias tautologías clásicas conocidas:
540
+ check valid ((P -> (Q -> R)) -> ((P -> Q) -> (P -> R)))
541
+ `);
542
+ (0, vitest_1.expect)(r.ok).toBe(true);
543
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
544
+ });
545
+ // ── Frege: Axioma 1 del Begriffsschrift ──
546
+ (0, vitest_1.it)('Frege: Axioma 1 del Begriffsschrift — P -> (Q -> P)', () => {
547
+ const r = (0, api_1.evaluate)(`
548
+ logic classical.propositional
549
+ // Gottlob Frege, Begriffsschrift (1879), Axioma 1:
550
+ // "Lo verdadero es implicado por cualquier cosa."
551
+ check valid (P -> (Q -> P))
552
+ `);
553
+ (0, vitest_1.expect)(r.ok).toBe(true);
554
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
555
+ });
556
+ // ── Frege: Axioma 2 del Begriffsschrift ──
557
+ (0, vitest_1.it)('Frege: Axioma 2 — distribución del condicional', () => {
558
+ const r = (0, api_1.evaluate)(`
559
+ logic classical.propositional
560
+ // Frege, Begriffsschrift, Axioma 2:
561
+ // (P -> (Q -> R)) -> ((P -> Q) -> (P -> R))
562
+ check valid ((P -> (Q -> R)) -> ((P -> Q) -> (P -> R)))
563
+ `);
564
+ (0, vitest_1.expect)(r.ok).toBe(true);
565
+ (0, vitest_1.expect)(r.results[0].status).toBe('valid');
566
+ });
567
+ // ── Test combinado extenso: Múltiples operaciones ──
568
+ (0, vitest_1.it)('Combinado: axiomas + derivaciones + tablas + checks en una sesión', () => {
569
+ const r = (0, api_1.evaluate)(`
570
+ logic classical.propositional
571
+
572
+ // Definir una teoría filosófica completa
573
+ axiom determinismo : D -> C
574
+ axiom libre_albedrio : L -> !C
575
+ axiom compatibilismo : D & L
576
+
577
+ // Verificar consecuencias
578
+ derive C from {determinismo, compatibilismo}
579
+ truth_table (D & L)
580
+
581
+ // El compatibilismo lleva a contradicción con estas premisas
582
+ check valid ((D -> C) -> ((L -> !C) -> !(D & L)))
583
+ `);
584
+ (0, vitest_1.expect)(r.ok).toBe(true);
585
+ (0, vitest_1.expect)(r.results.length).toBeGreaterThanOrEqual(2);
586
+ });
587
+ });
588
+ //# sourceMappingURL=philosophy.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"philosophy.test.js","sourceRoot":"","sources":["../../src/tests/philosophy.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- import { Anchor, Passage, Formalization, Claim, Support, Confidence, Context, Formula, Theory, Diagnostic } from '../types';
2
- export interface TextLayerState {
3
- passages: Map<string, Passage>;
4
- formalizations: Map<string, Formalization>;
5
- claims: Map<string, Claim>;
6
- supports: Support[];
7
- confidences: Confidence[];
8
- contexts: Context[];
9
- }
1
+ /**
2
+ * ST Text Layer — Compilador texto -> formula/claim
3
+ */
4
+ import { Anchor, Formula, Theory, Diagnostic, TextLayerState } from '../types';
5
+ export type { TextLayerState };
10
6
  export declare function createTextLayerState(): TextLayerState;
11
7
  export declare function parseAnchorPath(raw: string): Anchor;
12
8
  export declare function registerPassage(state: TextLayerState, name: string, anchorPath: string): Diagnostic[];
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/text-layer/compiler.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAC5E,MAAM,EAAE,UAAU,EACnB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CASrD;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAcnD;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,UAAU,EAAE,CAId;AAGD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACf,UAAU,EAAE,CAYd;AAGD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,UAAU,EAAE,CAYd;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,UAAU,EAAE,CAmBd;AAGD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,UAAU,EAAE,CAyBd;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,UAAU,EAAE,CAkBd;AAGD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,GACb,UAAU,EAAE,CAqBd"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/text-layer/compiler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/E,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,wBAAgB,oBAAoB,IAAI,cAAc,CASrD;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAcnD;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,UAAU,EAAE,CAId;AAGD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACf,UAAU,EAAE,CAYd;AAGD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,UAAU,EAAE,CAgBd;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,UAAU,EAAE,CAmBd;AAGD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,UAAU,EAAE,CAyBd;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,UAAU,EAAE,CAkBd;AAGD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAqBzF"}