@stevenvo780/st-lang 0.5.0 → 1.5.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 (67) hide show
  1. package/dist/api.d.ts +6 -3
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +7 -99
  4. package/dist/api.js.map +1 -1
  5. package/dist/ast/nodes.d.ts +31 -3
  6. package/dist/ast/nodes.d.ts.map +1 -1
  7. package/dist/cli/index.js +1 -1
  8. package/dist/index.d.ts +3 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +8 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/lexer/lexer.d.ts +1 -0
  13. package/dist/lexer/lexer.d.ts.map +1 -1
  14. package/dist/lexer/lexer.js +34 -0
  15. package/dist/lexer/lexer.js.map +1 -1
  16. package/dist/lexer/tokens.d.ts +9 -0
  17. package/dist/lexer/tokens.d.ts.map +1 -1
  18. package/dist/lexer/tokens.js +51 -0
  19. package/dist/lexer/tokens.js.map +1 -1
  20. package/dist/parser/parser.d.ts +5 -0
  21. package/dist/parser/parser.d.ts.map +1 -1
  22. package/dist/parser/parser.js +209 -8
  23. package/dist/parser/parser.js.map +1 -1
  24. package/dist/profiles/aristotelian/syllogistic.d.ts.map +1 -1
  25. package/dist/profiles/aristotelian/syllogistic.js.map +1 -1
  26. package/dist/profiles/classical/propositional.d.ts.map +1 -1
  27. package/dist/profiles/classical/propositional.js +10 -0
  28. package/dist/profiles/classical/propositional.js.map +1 -1
  29. package/dist/profiles/deontic/standard.d.ts.map +1 -1
  30. package/dist/profiles/deontic/standard.js.map +1 -1
  31. package/dist/profiles/probabilistic/basic.d.ts.map +1 -1
  32. package/dist/profiles/probabilistic/basic.js +1 -1
  33. package/dist/profiles/probabilistic/basic.js.map +1 -1
  34. package/dist/profiles/shared/base-profile.d.ts.map +1 -1
  35. package/dist/profiles/shared/base-profile.js +1 -3
  36. package/dist/profiles/shared/base-profile.js.map +1 -1
  37. package/dist/profiles/shared/tableau-engine.d.ts.map +1 -1
  38. package/dist/profiles/shared/tableau-engine.js +69 -5
  39. package/dist/profiles/shared/tableau-engine.js.map +1 -1
  40. package/dist/profiles/temporal/ltl.d.ts.map +1 -1
  41. package/dist/profiles/temporal/ltl.js +14 -4
  42. package/dist/profiles/temporal/ltl.js.map +1 -1
  43. package/dist/protocol/handler.d.ts.map +1 -1
  44. package/dist/protocol/handler.js +147 -0
  45. package/dist/protocol/handler.js.map +1 -1
  46. package/dist/repl/repl.d.ts.map +1 -1
  47. package/dist/repl/repl.js +17 -7
  48. package/dist/repl/repl.js.map +1 -1
  49. package/dist/runtime/fallacies.d.ts +21 -0
  50. package/dist/runtime/fallacies.d.ts.map +1 -0
  51. package/dist/runtime/fallacies.js +235 -0
  52. package/dist/runtime/fallacies.js.map +1 -0
  53. package/dist/runtime/format.d.ts +6 -0
  54. package/dist/runtime/format.d.ts.map +1 -0
  55. package/dist/runtime/format.js +125 -0
  56. package/dist/runtime/format.js.map +1 -0
  57. package/dist/runtime/interpreter.d.ts +5 -0
  58. package/dist/runtime/interpreter.d.ts.map +1 -1
  59. package/dist/runtime/interpreter.js +214 -2
  60. package/dist/runtime/interpreter.js.map +1 -1
  61. package/dist/tests/v1-features.test.d.ts +2 -0
  62. package/dist/tests/v1-features.test.d.ts.map +1 -0
  63. package/dist/tests/v1-features.test.js +544 -0
  64. package/dist/tests/v1-features.test.js.map +1 -0
  65. package/dist/types/index.d.ts +1 -1
  66. package/dist/types/index.d.ts.map +1 -1
  67. package/package.json +2 -1
@@ -0,0 +1,544 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Tests v1.0 — Spanish keywords, analyze, explain, format
4
+ // ============================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const vitest_1 = require("vitest");
7
+ const interpreter_1 = require("../runtime/interpreter");
8
+ const parser_1 = require("../parser/parser");
9
+ const format_1 = require("../runtime/format");
10
+ const fallacies_1 = require("../runtime/fallacies");
11
+ const interface_1 = require("../profiles/interface");
12
+ const tableau_engine_1 = require("../profiles/shared/tableau-engine");
13
+ // ── Helpers ──────────────────────────────────────────────────
14
+ function run(source) {
15
+ const interp = new interpreter_1.Interpreter();
16
+ return interp.execute(source);
17
+ }
18
+ function parseOk(source) {
19
+ const parser = new parser_1.Parser('<test>');
20
+ const program = parser.parse(source);
21
+ (0, vitest_1.expect)(parser.diagnostics.filter((d) => d.severity === 'error')).toHaveLength(0);
22
+ return program;
23
+ }
24
+ // ── 1. Keywords en español ───────────────────────────────────
25
+ (0, vitest_1.describe)('Spanish keyword aliases', () => {
26
+ (0, vitest_1.it)('axioma / teorema parse correctly', () => {
27
+ const prog = parseOk('logic classical.propositional\naxioma A1 : P -> Q');
28
+ (0, vitest_1.expect)(prog.statements).toHaveLength(2);
29
+ (0, vitest_1.expect)(prog.statements[1].kind).toBe('axiom_decl');
30
+ });
31
+ (0, vitest_1.it)('verificar valido = check valid', () => {
32
+ const out = run('logic classical.propositional\nverificar valido (P -> P)');
33
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
34
+ (0, vitest_1.expect)(out.results[0].status).toBe('valid');
35
+ });
36
+ (0, vitest_1.it)('verificar satisfacible = check satisfiable', () => {
37
+ const out = run('logic classical.propositional\nverificar satisfacible P');
38
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
39
+ (0, vitest_1.expect)(out.results[0].status).toBe('satisfiable');
40
+ });
41
+ (0, vitest_1.it)('derivar ... desde = derive ... from', () => {
42
+ const out = run('logic classical.propositional\n' +
43
+ 'axioma A1 : P -> Q\n' +
44
+ 'axioma A2 : P\n' +
45
+ 'derivar Q desde {A1, A2}');
46
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
47
+ (0, vitest_1.expect)(out.results[0].status).toBe('provable');
48
+ });
49
+ (0, vitest_1.it)('probar ... desde = prove ... from', () => {
50
+ const out = run('logic classical.propositional\n' + 'axioma A1 : P -> P\n' + 'probar (P -> P) desde {A1}');
51
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
52
+ });
53
+ (0, vitest_1.it)('contramodelo works in Spanish', () => {
54
+ const out = run('logic classical.propositional\ncontramodelo P');
55
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
56
+ (0, vitest_1.expect)(out.results[0].status).toBe('invalid');
57
+ });
58
+ (0, vitest_1.it)('tabla_verdad works in Spanish', () => {
59
+ const out = run('logic classical.propositional\ntabla_verdad (P -> Q)');
60
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
61
+ (0, vitest_1.expect)(out.stdout).toContain('T');
62
+ });
63
+ (0, vitest_1.it)('explicar = explain', () => {
64
+ const out = run('logic classical.propositional\nexplicar (P -> P)');
65
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
66
+ (0, vitest_1.expect)(out.stdout.length).toBeGreaterThan(0);
67
+ });
68
+ (0, vitest_1.it)('analizar = analyze', () => {
69
+ const out = run('logic classical.propositional\nanalizar {P, P -> Q} -> Q');
70
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
71
+ (0, vitest_1.expect)(out.stdout).toContain('analyze');
72
+ });
73
+ (0, vitest_1.it)('paratodo = forall', () => {
74
+ const prog = parseOk('logic classical.first_order\nverificar valido paratodo x (P(x) -> P(x))');
75
+ (0, vitest_1.expect)(prog.statements).toHaveLength(2);
76
+ });
77
+ (0, vitest_1.it)('existe = exists', () => {
78
+ const prog = parseOk('logic classical.first_order\nverificar valido (existe x P(x) -> existe x P(x))');
79
+ (0, vitest_1.expect)(prog.statements).toHaveLength(2);
80
+ });
81
+ });
82
+ // ── 2. Explain command ───────────────────────────────────────
83
+ (0, vitest_1.describe)('explain command', () => {
84
+ (0, vitest_1.it)('explains a propositional formula', () => {
85
+ const out = run('logic classical.propositional\nexplain (P & !P)');
86
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
87
+ (0, vitest_1.expect)(out.stdout).toContain('Formula');
88
+ });
89
+ (0, vitest_1.it)('explains a modal formula', () => {
90
+ const out = run('logic modal.k\nexplain [](P -> P)');
91
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
92
+ (0, vitest_1.expect)(out.stdout).toContain('modal.k');
93
+ });
94
+ (0, vitest_1.it)('explains a deontic formula', () => {
95
+ const out = run('logic deontic.standard\nexplain [](P -> <>P)');
96
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
97
+ (0, vitest_1.expect)(out.stdout.length).toBeGreaterThan(0);
98
+ });
99
+ (0, vitest_1.it)('explains an epistemic formula', () => {
100
+ const out = run('logic epistemic.s5\nexplain [](P -> P)');
101
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
102
+ });
103
+ (0, vitest_1.it)('explain produces a RunResult', () => {
104
+ const out = run('logic classical.propositional\nexplain (P -> P)');
105
+ (0, vitest_1.expect)(out.results).toHaveLength(1);
106
+ (0, vitest_1.expect)(out.results[0].output).toBeTruthy();
107
+ });
108
+ });
109
+ // ── 3. Analyze command — fallacy detection ───────────────────
110
+ (0, vitest_1.describe)('analyze command', () => {
111
+ (0, vitest_1.it)('reports valid modus ponens', () => {
112
+ const out = run('logic classical.propositional\nanalyze {P, P -> Q} -> Q');
113
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
114
+ (0, vitest_1.expect)(out.stdout).toContain('VÁLIDA');
115
+ });
116
+ (0, vitest_1.it)('reports invalid inference', () => {
117
+ const out = run('logic classical.propositional\nanalyze {P} -> Q');
118
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
119
+ (0, vitest_1.expect)(out.stdout).toContain('NO VÁLIDA');
120
+ });
121
+ (0, vitest_1.it)('detects affirming the consequent', () => {
122
+ // (P->Q), Q ⊬ P
123
+ const P = { kind: 'atom', name: 'P' };
124
+ const Q = { kind: 'atom', name: 'Q' };
125
+ const impl = { kind: 'implies', args: [P, Q] };
126
+ const profile = interface_1.registry.get('classical.propositional');
127
+ const fallacies = (0, fallacies_1.detectFallacies)([impl, Q], P, profile);
128
+ (0, vitest_1.expect)(fallacies.length).toBeGreaterThanOrEqual(1);
129
+ (0, vitest_1.expect)(fallacies[0].name).toBe('Afirmación del consecuente');
130
+ });
131
+ (0, vitest_1.it)('detects denying the antecedent', () => {
132
+ // (P->Q), ¬P ⊬ ¬Q
133
+ const P = { kind: 'atom', name: 'P' };
134
+ const Q = { kind: 'atom', name: 'Q' };
135
+ const impl = { kind: 'implies', args: [P, Q] };
136
+ const notP = { kind: 'not', args: [P] };
137
+ const notQ = { kind: 'not', args: [Q] };
138
+ const profile = interface_1.registry.get('classical.propositional');
139
+ const fallacies = (0, fallacies_1.detectFallacies)([impl, notP], notQ, profile);
140
+ (0, vitest_1.expect)(fallacies.length).toBeGreaterThanOrEqual(1);
141
+ (0, vitest_1.expect)(fallacies[0].name).toBe('Negación del antecedente');
142
+ });
143
+ (0, vitest_1.it)('detects undistributed middle', () => {
144
+ // (P→M), (S→M) ⊬ (S→P)
145
+ const P = { kind: 'atom', name: 'P' };
146
+ const S = { kind: 'atom', name: 'S' };
147
+ const M = { kind: 'atom', name: 'M' };
148
+ const pm = { kind: 'implies', args: [P, M] };
149
+ const sm = { kind: 'implies', args: [S, M] };
150
+ const sp = { kind: 'implies', args: [S, P] };
151
+ const profile = interface_1.registry.get('classical.propositional');
152
+ const fallacies = (0, fallacies_1.detectFallacies)([pm, sm], sp, profile);
153
+ (0, vitest_1.expect)(fallacies.length).toBeGreaterThanOrEqual(1);
154
+ (0, vitest_1.expect)(fallacies[0].name).toBe('Medio no distribuido');
155
+ });
156
+ (0, vitest_1.it)('returns empty for a valid modus ponens', () => {
157
+ const P = { kind: 'atom', name: 'P' };
158
+ const Q = { kind: 'atom', name: 'Q' };
159
+ const impl = { kind: 'implies', args: [P, Q] };
160
+ const profile = interface_1.registry.get('classical.propositional');
161
+ const fallacies = (0, fallacies_1.detectFallacies)([impl, P], Q, profile);
162
+ (0, vitest_1.expect)(fallacies).toHaveLength(0);
163
+ });
164
+ (0, vitest_1.it)('analyze with single premise', () => {
165
+ const out = run('logic classical.propositional\nanalyze {P -> P} -> (P -> P)');
166
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
167
+ (0, vitest_1.expect)(out.stdout).toContain('VÁLIDA');
168
+ });
169
+ });
170
+ // ── 4. formulaToUnicode / formulaToLaTeX ─────────────────────
171
+ (0, vitest_1.describe)('formulaToUnicode', () => {
172
+ (0, vitest_1.it)('converts atom', () => {
173
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)({ kind: 'atom', name: 'P' })).toBe('P');
174
+ });
175
+ (0, vitest_1.it)('converts negation', () => {
176
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)({ kind: 'not', args: [{ kind: 'atom', name: 'P' }] })).toBe('¬P');
177
+ });
178
+ (0, vitest_1.it)('converts conjunction', () => {
179
+ const f = {
180
+ kind: 'and',
181
+ args: [
182
+ { kind: 'atom', name: 'P' },
183
+ { kind: 'atom', name: 'Q' },
184
+ ],
185
+ };
186
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toBe('(P ∧ Q)');
187
+ });
188
+ (0, vitest_1.it)('converts disjunction', () => {
189
+ const f = {
190
+ kind: 'or',
191
+ args: [
192
+ { kind: 'atom', name: 'P' },
193
+ { kind: 'atom', name: 'Q' },
194
+ ],
195
+ };
196
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toBe('(P ∨ Q)');
197
+ });
198
+ (0, vitest_1.it)('converts implication', () => {
199
+ const f = {
200
+ kind: 'implies',
201
+ args: [
202
+ { kind: 'atom', name: 'P' },
203
+ { kind: 'atom', name: 'Q' },
204
+ ],
205
+ };
206
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toBe('(P → Q)');
207
+ });
208
+ (0, vitest_1.it)('converts biconditional', () => {
209
+ const f = {
210
+ kind: 'biconditional',
211
+ args: [
212
+ { kind: 'atom', name: 'P' },
213
+ { kind: 'atom', name: 'Q' },
214
+ ],
215
+ };
216
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toBe('(P ↔ Q)');
217
+ });
218
+ (0, vitest_1.it)('converts necessity', () => {
219
+ const f = { kind: 'modal_necessity', args: [{ kind: 'atom', name: 'P' }] };
220
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toBe('□(P)');
221
+ });
222
+ (0, vitest_1.it)('converts possibility', () => {
223
+ const f = { kind: 'modal_possibility', args: [{ kind: 'atom', name: 'P' }] };
224
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toBe('◇(P)');
225
+ });
226
+ (0, vitest_1.it)('converts forall', () => {
227
+ const f = { kind: 'forall', variable: 'x', args: [{ kind: 'atom', name: 'P' }] };
228
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toBe('∀x(P)');
229
+ });
230
+ (0, vitest_1.it)('converts exists', () => {
231
+ const f = { kind: 'exists', variable: 'x', args: [{ kind: 'atom', name: 'P' }] };
232
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toBe('∃x(P)');
233
+ });
234
+ (0, vitest_1.it)('converts predicate', () => {
235
+ const f = { kind: 'predicate', name: 'Loves', params: ['a', 'b'] };
236
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toBe('Loves(a, b)');
237
+ });
238
+ });
239
+ (0, vitest_1.describe)('formulaToLaTeX', () => {
240
+ (0, vitest_1.it)('converts implication', () => {
241
+ const f = {
242
+ kind: 'implies',
243
+ args: [
244
+ { kind: 'atom', name: 'P' },
245
+ { kind: 'atom', name: 'Q' },
246
+ ],
247
+ };
248
+ (0, vitest_1.expect)((0, format_1.formulaToLaTeX)(f)).toBe('(P \\to Q)');
249
+ });
250
+ (0, vitest_1.it)('converts negation', () => {
251
+ (0, vitest_1.expect)((0, format_1.formulaToLaTeX)({ kind: 'not', args: [{ kind: 'atom', name: 'P' }] })).toBe('\\neg P');
252
+ });
253
+ (0, vitest_1.it)('converts necessity', () => {
254
+ const f = { kind: 'modal_necessity', args: [{ kind: 'atom', name: 'P' }] };
255
+ (0, vitest_1.expect)((0, format_1.formulaToLaTeX)(f)).toBe('\\Box P');
256
+ });
257
+ });
258
+ // ── 5. Unicode output in interpreter ─────────────────────────
259
+ (0, vitest_1.describe)('interpreter Unicode output', () => {
260
+ (0, vitest_1.it)('proof steps use Unicode symbols', () => {
261
+ const out = run('logic classical.propositional\n' + 'axiom A1 : P -> Q\n' + 'axiom A2 : P\n' + 'prove Q');
262
+ // The proof step output should have Unicode arrow
263
+ if (out.stdout.includes('Prueba:')) {
264
+ (0, vitest_1.expect)(out.stdout).toMatch(/[→∧∨¬↔□◇∀∃]/);
265
+ }
266
+ });
267
+ });
268
+ // ── 6. let FORMULA alias ─────────────────────────────────────
269
+ (0, vitest_1.describe)('let formula alias', () => {
270
+ (0, vitest_1.it)('parses let name = formula', () => {
271
+ const prog = parseOk('logic classical.propositional\nlet phi = (P -> Q)');
272
+ (0, vitest_1.expect)(prog.statements).toHaveLength(2);
273
+ (0, vitest_1.expect)(prog.statements[1].kind).toBe('let_decl');
274
+ });
275
+ (0, vitest_1.it)('let formula registers as axiom and can be derived from', () => {
276
+ const out = run('logic classical.propositional\n' +
277
+ 'let h1 = P -> Q\n' +
278
+ 'let h2 = P\n' +
279
+ 'derive Q from {h1, h2}');
280
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
281
+ (0, vitest_1.expect)(out.results[0].status).toMatch(/valid|provable/);
282
+ });
283
+ (0, vitest_1.it)('let formula output shows Unicode', () => {
284
+ const out = run('logic classical.propositional\nlet phi = (P -> Q)');
285
+ (0, vitest_1.expect)(out.stdout).toContain('Let phi');
286
+ (0, vitest_1.expect)(out.stdout).toContain('→');
287
+ });
288
+ (0, vitest_1.it)('let passage still works', () => {
289
+ const out = run('logic classical.propositional\nlet p = passage([[doc.md#h1]])');
290
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
291
+ (0, vitest_1.expect)(out.stdout).toContain('Passage p');
292
+ });
293
+ (0, vitest_1.it)('let formalize still works', () => {
294
+ const out = run('logic classical.propositional\n' +
295
+ 'let p = passage([[doc.md#b1]])\n' +
296
+ 'let f = formalize p as (P -> Q)');
297
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
298
+ (0, vitest_1.expect)(out.stdout).toContain('Formalizacion f');
299
+ });
300
+ });
301
+ // ── 7. Block comments /* ... */ ──────────────────────────────
302
+ (0, vitest_1.describe)('block comments', () => {
303
+ (0, vitest_1.it)('ignores single-line block comment', () => {
304
+ const out = run('logic classical.propositional\n/* esto es un comentario */\ncheck valid (P -> P)');
305
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
306
+ (0, vitest_1.expect)(out.results[0].status).toBe('valid');
307
+ });
308
+ (0, vitest_1.it)('ignores multi-line block comment', () => {
309
+ const source = [
310
+ 'logic classical.propositional',
311
+ '/* esto es',
312
+ ' un comentario',
313
+ ' de varias líneas */',
314
+ 'check valid (P | !P)',
315
+ ].join('\n');
316
+ const out = run(source);
317
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
318
+ (0, vitest_1.expect)(out.results[0].status).toBe('valid');
319
+ });
320
+ (0, vitest_1.it)('reports error on unclosed block comment', () => {
321
+ const parser = new parser_1.Parser('<test>');
322
+ parser.parse('logic classical.propositional\n/* unclosed comment');
323
+ const errors = parser.diagnostics.filter((d) => d.severity === 'error');
324
+ (0, vitest_1.expect)(errors.length).toBeGreaterThan(0);
325
+ (0, vitest_1.expect)(errors[0].message).toContain('Comentario');
326
+ });
327
+ });
328
+ // ── 8. refute / refutar alias ────────────────────────────────
329
+ (0, vitest_1.describe)('refute alias', () => {
330
+ (0, vitest_1.it)('refute works as countermodel', () => {
331
+ const out = run('logic classical.propositional\nrefute (P & !P)');
332
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
333
+ });
334
+ (0, vitest_1.it)('refutar works in Spanish', () => {
335
+ const out = run('logica classical.propositional\nrefutar P');
336
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
337
+ });
338
+ });
339
+ // ── 9. FOL equality x = y ───────────────────────────────────
340
+ (0, vitest_1.describe)('FOL equality', () => {
341
+ (0, vitest_1.it)('parses x = y as equals formula', () => {
342
+ const prog = parseOk('logic classical.first_order\naxiom eq1 : x = y');
343
+ (0, vitest_1.expect)(prog.statements).toHaveLength(2);
344
+ const axiom = prog.statements[1];
345
+ if (axiom.kind === 'axiom_decl') {
346
+ (0, vitest_1.expect)(axiom.formula.kind).toBe('equals');
347
+ }
348
+ });
349
+ (0, vitest_1.it)('formulaToUnicode renders equals', () => {
350
+ const f = {
351
+ kind: 'equals',
352
+ args: [
353
+ { kind: 'atom', name: 'x' },
354
+ { kind: 'atom', name: 'y' },
355
+ ],
356
+ };
357
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toContain('=');
358
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toContain('x');
359
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(f)).toContain('y');
360
+ });
361
+ });
362
+ // ── 10. Render mejorado ──────────────────────────────────────
363
+ (0, vitest_1.describe)('render command', () => {
364
+ (0, vitest_1.it)('render theory shows axioms', () => {
365
+ const out = run('logic classical.propositional\n' + 'axiom a1 : P -> Q\n' + 'render theory');
366
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
367
+ (0, vitest_1.expect)(out.stdout).toContain('Render: theory');
368
+ (0, vitest_1.expect)(out.stdout).toContain('a1');
369
+ });
370
+ (0, vitest_1.it)('render claims shows registered claims', () => {
371
+ const out = run('logic classical.propositional\n' +
372
+ 'let p = passage([[doc.md#h1]])\n' +
373
+ 'let f = formalize p as (P -> Q)\n' +
374
+ 'claim c1 = f\n' +
375
+ 'confidence c1 = 0.9\n' +
376
+ 'render claims');
377
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
378
+ (0, vitest_1.expect)(out.stdout).toContain('Render: claims');
379
+ });
380
+ });
381
+ // ── 11. Parser error recovery ────────────────────────────────
382
+ (0, vitest_1.describe)('parser error recovery', () => {
383
+ (0, vitest_1.it)('continues after syntax error to parse next statement', () => {
384
+ const parser = new parser_1.Parser('<test>');
385
+ const prog = parser.parse('logic classical.propositional\n' + 'invalid garbage here\n' + 'check valid (P -> P)');
386
+ // Should have errors but also parsed statements
387
+ const errors = parser.diagnostics.filter((d) => d.severity === 'error');
388
+ (0, vitest_1.expect)(errors.length).toBeGreaterThan(0);
389
+ // Should still have the logic_decl and check_valid
390
+ (0, vitest_1.expect)(prog.statements.length).toBeGreaterThanOrEqual(2);
391
+ });
392
+ });
393
+ // ── 12. LTL Next (X) y Until (U) ────────────────────────────
394
+ (0, vitest_1.describe)('LTL next and until', () => {
395
+ (0, vitest_1.it)('parses next operator', () => {
396
+ const prog = parseOk('logic temporal.ltl\naxiom a1 : next P');
397
+ (0, vitest_1.expect)(prog.statements).toHaveLength(2);
398
+ const axiom = prog.statements[1];
399
+ if (axiom.kind === 'axiom_decl') {
400
+ (0, vitest_1.expect)(axiom.formula.kind).toBe('temporal_next');
401
+ }
402
+ });
403
+ (0, vitest_1.it)('parses until operator', () => {
404
+ const prog = parseOk('logic temporal.ltl\naxiom a1 : P until Q');
405
+ (0, vitest_1.expect)(prog.statements).toHaveLength(2);
406
+ const axiom = prog.statements[1];
407
+ if (axiom.kind === 'axiom_decl') {
408
+ (0, vitest_1.expect)(axiom.formula.kind).toBe('temporal_until');
409
+ }
410
+ });
411
+ (0, vitest_1.it)('parses Spanish aliases siguiente/hasta', () => {
412
+ const prog = parseOk('logica temporal.ltl\naxioma a1 : siguiente P');
413
+ const axiom = prog.statements[1];
414
+ if (axiom.kind === 'axiom_decl') {
415
+ (0, vitest_1.expect)(axiom.formula.kind).toBe('temporal_next');
416
+ }
417
+ });
418
+ (0, vitest_1.it)('formulaToUnicode renders X and U', () => {
419
+ const nextF = { kind: 'temporal_next', args: [{ kind: 'atom', name: 'P' }] };
420
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(nextF)).toBe('X(P)');
421
+ const untilF = {
422
+ kind: 'temporal_until',
423
+ args: [{ kind: 'atom', name: 'P' }, { kind: 'atom', name: 'Q' }],
424
+ };
425
+ (0, vitest_1.expect)((0, format_1.formulaToUnicode)(untilF)).toBe('(P U Q)');
426
+ });
427
+ (0, vitest_1.it)('formulaToLaTeX renders X and U', () => {
428
+ const nextF = { kind: 'temporal_next', args: [{ kind: 'atom', name: 'P' }] };
429
+ (0, vitest_1.expect)((0, format_1.formulaToLaTeX)(nextF)).toContain('X');
430
+ const untilF = {
431
+ kind: 'temporal_until',
432
+ args: [{ kind: 'atom', name: 'P' }, { kind: 'atom', name: 'Q' }],
433
+ };
434
+ (0, vitest_1.expect)((0, format_1.formulaToLaTeX)(untilF)).toContain('U');
435
+ });
436
+ (0, vitest_1.it)('next and until work in temporal.ltl profile', () => {
437
+ const out = run('logic temporal.ltl\naxiom a1 : next P\naxiom a2 : P until Q');
438
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
439
+ });
440
+ });
441
+ // ── 13. Import system ────────────────────────────────────────
442
+ (0, vitest_1.describe)('import system', () => {
443
+ (0, vitest_1.it)('parses import statement with string path', () => {
444
+ const prog = parseOk('import "utils.st"');
445
+ (0, vitest_1.expect)(prog.statements).toHaveLength(1);
446
+ (0, vitest_1.expect)(prog.statements[0].kind).toBe('import_decl');
447
+ if (prog.statements[0].kind === 'import_decl') {
448
+ (0, vitest_1.expect)(prog.statements[0].path).toBe('utils.st');
449
+ }
450
+ });
451
+ (0, vitest_1.it)('parses import with identifier path', () => {
452
+ const prog = parseOk('import utils');
453
+ (0, vitest_1.expect)(prog.statements).toHaveLength(1);
454
+ if (prog.statements[0].kind === 'import_decl') {
455
+ (0, vitest_1.expect)(prog.statements[0].path).toBe('utils');
456
+ }
457
+ });
458
+ (0, vitest_1.it)('parses importar (Spanish)', () => {
459
+ const prog = parseOk('importar "lib.st"');
460
+ (0, vitest_1.expect)(prog.statements).toHaveLength(1);
461
+ (0, vitest_1.expect)(prog.statements[0].kind).toBe('import_decl');
462
+ });
463
+ });
464
+ // ── 14. Assume / Show / QED proof blocks ─────────────────────
465
+ (0, vitest_1.describe)('proof blocks', () => {
466
+ (0, vitest_1.it)('parses assume/show/qed block', () => {
467
+ const source = [
468
+ 'logic classical.propositional',
469
+ 'assume h1 : P -> Q',
470
+ 'assume h2 : P',
471
+ 'show Q',
472
+ 'derive Q from {h1, h2}',
473
+ 'qed',
474
+ ].join('\n');
475
+ const prog = parseOk(source);
476
+ (0, vitest_1.expect)(prog.statements.length).toBe(2); // logic_decl + proof_block
477
+ (0, vitest_1.expect)(prog.statements[1].kind).toBe('proof_block');
478
+ });
479
+ (0, vitest_1.it)('executes proof block successfully', () => {
480
+ const source = [
481
+ 'logic classical.propositional',
482
+ 'assume h1 : P -> Q',
483
+ 'assume h2 : P',
484
+ 'show Q',
485
+ 'derive Q from {h1, h2}',
486
+ 'qed',
487
+ ].join('\n');
488
+ const out = run(source);
489
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
490
+ (0, vitest_1.expect)(out.stdout).toContain('QED');
491
+ });
492
+ (0, vitest_1.it)('assumptions are scoped to the block', () => {
493
+ const source = [
494
+ 'logic classical.propositional',
495
+ 'assume h1 : P -> Q',
496
+ 'show (P -> Q)',
497
+ 'qed',
498
+ ].join('\n');
499
+ const out = run(source);
500
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
501
+ // h1 should not leak as an axiom after the block
502
+ (0, vitest_1.expect)(out.stdout).toContain('Proof Block');
503
+ });
504
+ (0, vitest_1.it)('parses Spanish asumir/demostrar', () => {
505
+ const source = [
506
+ 'logica classical.propositional',
507
+ 'asumir h1 : P -> Q',
508
+ 'demostrar (P -> Q)',
509
+ 'qed',
510
+ ].join('\n');
511
+ const prog = parseOk(source);
512
+ (0, vitest_1.expect)(prog.statements[1].kind).toBe('proof_block');
513
+ });
514
+ });
515
+ // ── 15. Alpha-equivalencia ───────────────────────────────────
516
+ (0, vitest_1.describe)('alpha-equivalence', () => {
517
+ (0, vitest_1.it)('treats ∀x.P(x) and ∀y.P(y) as equal via formulaEqual', () => {
518
+ const f1 = {
519
+ kind: 'forall',
520
+ variable: 'x',
521
+ args: [{ kind: 'predicate', name: 'P', params: ['x'] }],
522
+ };
523
+ const f2 = {
524
+ kind: 'forall',
525
+ variable: 'y',
526
+ args: [{ kind: 'predicate', name: 'P', params: ['y'] }],
527
+ };
528
+ (0, vitest_1.expect)((0, tableau_engine_1.formulaEqual)(f1, f2)).toBe(true);
529
+ });
530
+ (0, vitest_1.it)('distinguishes ∀x.P(x) from ∀x.Q(x)', () => {
531
+ const f1 = {
532
+ kind: 'forall',
533
+ variable: 'x',
534
+ args: [{ kind: 'predicate', name: 'P', params: ['x'] }],
535
+ };
536
+ const f2 = {
537
+ kind: 'forall',
538
+ variable: 'x',
539
+ args: [{ kind: 'predicate', name: 'Q', params: ['x'] }],
540
+ };
541
+ (0, vitest_1.expect)((0, tableau_engine_1.formulaEqual)(f1, f2)).toBe(false);
542
+ });
543
+ });
544
+ //# sourceMappingURL=v1-features.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1-features.test.js","sourceRoot":"","sources":["../../src/tests/v1-features.test.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export interface Diagnostic {
11
11
  code?: string;
12
12
  suggestion?: string;
13
13
  }
14
- export type FormulaKind = 'atom' | 'not' | 'and' | 'or' | 'implies' | 'biconditional' | 'forall' | 'exists' | 'predicate' | 'equals' | 'modal_necessity' | 'modal_possibility';
14
+ export type FormulaKind = 'atom' | 'not' | 'and' | 'or' | 'implies' | 'biconditional' | 'forall' | 'exists' | 'predicate' | 'equals' | 'modal_necessity' | 'modal_possibility' | 'temporal_next' | 'temporal_until';
15
15
  export interface Formula {
16
16
  kind: FormulaKind;
17
17
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stevenvo780/st-lang",
3
- "version": "0.5.0",
3
+ "version": "1.5.0",
4
4
  "description": "ST — Lenguaje ejecutable con nucleo logico y capa textual. Motor de lógica proposicional, derivaciones, tablas de verdad, contramodelos y capa textual para formalización de documentos.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -90,6 +90,7 @@
90
90
  },
91
91
  "sideEffects": false,
92
92
  "dependencies": {
93
+ "@replit/codemirror-minimap": "^0.5.2",
93
94
  "chalk": "^5.6.2",
94
95
  "commander": "^14.0.3"
95
96
  }