@stevenvo780/st-lang 2.8.0 → 3.0.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 (39) hide show
  1. package/dist/ast/nodes.d.ts +35 -2
  2. package/dist/ast/nodes.d.ts.map +1 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +4 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/lexer/lexer.d.ts.map +1 -1
  8. package/dist/lexer/lexer.js +4 -0
  9. package/dist/lexer/lexer.js.map +1 -1
  10. package/dist/lexer/tokens.d.ts +8 -0
  11. package/dist/lexer/tokens.d.ts.map +1 -1
  12. package/dist/lexer/tokens.js +23 -0
  13. package/dist/lexer/tokens.js.map +1 -1
  14. package/dist/parser/parser.d.ts +6 -0
  15. package/dist/parser/parser.d.ts.map +1 -1
  16. package/dist/parser/parser.js +171 -6
  17. package/dist/parser/parser.js.map +1 -1
  18. package/dist/protocol/handler.d.ts.map +1 -1
  19. package/dist/protocol/handler.js +327 -88
  20. package/dist/protocol/handler.js.map +1 -1
  21. package/dist/runtime/interpreter.d.ts +24 -0
  22. package/dist/runtime/interpreter.d.ts.map +1 -1
  23. package/dist/runtime/interpreter.js +400 -0
  24. package/dist/runtime/interpreter.js.map +1 -1
  25. package/dist/tests/v3-features.test.d.ts +2 -0
  26. package/dist/tests/v3-features.test.d.ts.map +1 -0
  27. package/dist/tests/v3-features.test.js +529 -0
  28. package/dist/tests/v3-features.test.js.map +1 -0
  29. package/dist/tests/v3-stress.test.d.ts +2 -0
  30. package/dist/tests/v3-stress.test.d.ts.map +1 -0
  31. package/dist/tests/v3-stress.test.js +755 -0
  32. package/dist/tests/v3-stress.test.js.map +1 -0
  33. package/dist/text-layer/compiler.d.ts +4 -1
  34. package/dist/text-layer/compiler.d.ts.map +1 -1
  35. package/dist/text-layer/compiler.js +35 -0
  36. package/dist/text-layer/compiler.js.map +1 -1
  37. package/dist/types/index.d.ts +27 -1
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/package.json +1 -1
@@ -0,0 +1,529 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Tests v3.0 — define, unfold, fold, source, interpret,
4
+ // glossary, render glossary/analysis
5
+ // ============================================================
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const vitest_1 = require("vitest");
8
+ const interpreter_1 = require("../runtime/interpreter");
9
+ const parser_1 = require("../parser/parser");
10
+ // ── Helpers ──────────────────────────────────────────────────
11
+ function run(source) {
12
+ const interp = new interpreter_1.Interpreter();
13
+ return interp.execute(source);
14
+ }
15
+ function parseOk(source) {
16
+ const parser = new parser_1.Parser('<test>');
17
+ const program = parser.parse(source);
18
+ (0, vitest_1.expect)(parser.diagnostics.filter((d) => d.severity === 'error')).toHaveLength(0);
19
+ return program;
20
+ }
21
+ // ── 1. define ────────────────────────────────────────────────
22
+ (0, vitest_1.describe)('define — formal definitions', () => {
23
+ (0, vitest_1.it)('parses simple define without params', () => {
24
+ const prog = parseOk('logic classical.propositional\ndefine Tautology := P -> P');
25
+ const stmt = prog.statements[1];
26
+ (0, vitest_1.expect)(stmt.kind).toBe('define_decl');
27
+ if (stmt.kind === 'define_decl') {
28
+ (0, vitest_1.expect)(stmt.name).toBe('Tautology');
29
+ (0, vitest_1.expect)(stmt.params).toBeUndefined();
30
+ }
31
+ });
32
+ (0, vitest_1.it)('parses define with params', () => {
33
+ const prog = parseOk('logic classical.propositional\ndefine Implies(x, y) := x -> y');
34
+ const stmt = prog.statements[1];
35
+ (0, vitest_1.expect)(stmt.kind).toBe('define_decl');
36
+ if (stmt.kind === 'define_decl') {
37
+ (0, vitest_1.expect)(stmt.name).toBe('Implies');
38
+ (0, vitest_1.expect)(stmt.params).toEqual(['x', 'y']);
39
+ }
40
+ });
41
+ (0, vitest_1.it)('parses define with description', () => {
42
+ const prog = parseOk('logic classical.propositional\n' +
43
+ 'define Tautology := P -> P\n' +
44
+ 'description "Una tautología básica"');
45
+ const stmt = prog.statements[1];
46
+ if (stmt.kind === 'define_decl') {
47
+ (0, vitest_1.expect)(stmt.description).toBe('Una tautología básica');
48
+ }
49
+ });
50
+ (0, vitest_1.it)('executes define and emits output', () => {
51
+ const out = run('logic classical.propositional\ndefine Tautology := P -> P');
52
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
53
+ (0, vitest_1.expect)(out.stdout).toContain('Define');
54
+ (0, vitest_1.expect)(out.stdout).toContain('Tautology');
55
+ });
56
+ (0, vitest_1.it)('define with params emits param list', () => {
57
+ const out = run('logic classical.propositional\ndefine Implies(x, y) := x -> y');
58
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
59
+ (0, vitest_1.expect)(out.stdout).toContain('Implies(x, y)');
60
+ });
61
+ (0, vitest_1.it)('define with description emits description', () => {
62
+ const out = run('logic classical.propositional\n' +
63
+ 'define Tautology := P -> P\n' +
64
+ 'description "Una tautología"');
65
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
66
+ (0, vitest_1.expect)(out.stdout).toContain('Una tautología');
67
+ });
68
+ (0, vitest_1.it)('detects circular definition (self-reference)', () => {
69
+ const out = run('logic classical.propositional\ndefine Loop := Loop');
70
+ (0, vitest_1.expect)(out.exitCode).not.toBe(0);
71
+ });
72
+ (0, vitest_1.it)('detects indirect circular definition', () => {
73
+ const out = run('logic classical.propositional\n' + 'define A := B\n' + 'define B := A');
74
+ (0, vitest_1.expect)(out.exitCode).not.toBe(0);
75
+ });
76
+ (0, vitest_1.it)('allows non-circular chain definitions', () => {
77
+ const out = run('logic classical.propositional\n' + 'define A := P -> Q\n' + 'define B := A -> R');
78
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
79
+ });
80
+ (0, vitest_1.it)('definition used in check valid', () => {
81
+ const out = run('logic classical.propositional\n' + 'define Tautology := P -> P\n' + 'check valid Tautology');
82
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
83
+ (0, vitest_1.expect)(out.results[0].status).toBe('valid');
84
+ });
85
+ (0, vitest_1.it)('parametric definition used in check valid', () => {
86
+ const out = run('logic classical.propositional\n' +
87
+ 'define Implies(x, y) := x -> y\n' +
88
+ 'check valid Implies(P, P)');
89
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
90
+ (0, vitest_1.expect)(out.results[0].status).toBe('valid');
91
+ });
92
+ (0, vitest_1.it)('definition used in derive', () => {
93
+ const out = run('logic classical.propositional\n' +
94
+ 'define MyRule := P -> Q\n' +
95
+ 'axiom A1 : MyRule\n' +
96
+ 'axiom A2 : P\n' +
97
+ 'derive Q from {A1, A2}');
98
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
99
+ (0, vitest_1.expect)(out.results[0].status).toBe('provable');
100
+ });
101
+ (0, vitest_1.it)('define with = instead of :=', () => {
102
+ const out = run('logic classical.propositional\ndefine Taut = P -> P');
103
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
104
+ (0, vitest_1.expect)(out.stdout).toContain('Taut');
105
+ });
106
+ (0, vitest_1.it)('overwriting a definition replaces it', () => {
107
+ const out = run('logic classical.propositional\n' + 'define D := P\n' + 'define D := Q\n' + 'glossary');
108
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
109
+ // The glossary should show Q, not P
110
+ (0, vitest_1.expect)(out.stdout).toContain('Q');
111
+ });
112
+ });
113
+ // ── 2. Spanish aliases for define/unfold/fold ────────────────
114
+ (0, vitest_1.describe)('Spanish aliases — definir, desplegar, plegar', () => {
115
+ (0, vitest_1.it)('definir = define', () => {
116
+ const out = run('logic classical.propositional\ndefinir Taut := P -> P');
117
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
118
+ (0, vitest_1.expect)(out.stdout).toContain('Define');
119
+ (0, vitest_1.expect)(out.stdout).toContain('Taut');
120
+ });
121
+ (0, vitest_1.it)('desplegar = unfold', () => {
122
+ const out = run('logic classical.propositional\n' + 'definir Taut := P -> P\n' + 'desplegar Taut');
123
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
124
+ (0, vitest_1.expect)(out.stdout).toContain('Unfold');
125
+ });
126
+ (0, vitest_1.it)('plegar = fold', () => {
127
+ const out = run('logic classical.propositional\n' + 'definir Taut := P -> P\n' + 'plegar (P -> P)');
128
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
129
+ (0, vitest_1.expect)(out.stdout).toContain('Fold');
130
+ });
131
+ });
132
+ // ── 3. unfold ────────────────────────────────────────────────
133
+ (0, vitest_1.describe)('unfold — definition expansion', () => {
134
+ (0, vitest_1.it)('unfolds a simple definition', () => {
135
+ const out = run('logic classical.propositional\n' + 'define Tautology := P -> P\n' + 'unfold Tautology');
136
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
137
+ (0, vitest_1.expect)(out.stdout).toContain('Unfold');
138
+ (0, vitest_1.expect)(out.stdout).toContain('→');
139
+ });
140
+ (0, vitest_1.it)('unfold produces a result', () => {
141
+ const out = run('logic classical.propositional\n' + 'define D := P & Q\n' + 'unfold D');
142
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
143
+ (0, vitest_1.expect)(out.results).toHaveLength(1);
144
+ (0, vitest_1.expect)(out.results[0].status).toBe('valid');
145
+ });
146
+ (0, vitest_1.it)('unfold unknown name still works (no expansion)', () => {
147
+ const out = run('logic classical.propositional\nunfold Unknown');
148
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
149
+ // It should still emit the formula as-is
150
+ (0, vitest_1.expect)(out.stdout).toContain('Unfold');
151
+ });
152
+ (0, vitest_1.it)('unfold chain: A := B, B := P; unfold A shows P', () => {
153
+ const out = run('logic classical.propositional\n' + 'define B := P -> Q\n' + 'define A := B\n' + 'unfold A');
154
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
155
+ // A expands to B, but B is also expanded during resolve
156
+ (0, vitest_1.expect)(out.results).toHaveLength(1);
157
+ });
158
+ });
159
+ // ── 4. fold ──────────────────────────────────────────────────
160
+ (0, vitest_1.describe)('fold — reverse definition', () => {
161
+ (0, vitest_1.it)('folds a formula back to its definition name', () => {
162
+ const out = run('logic classical.propositional\n' + 'define D := P -> Q\n' + 'fold (P -> Q)');
163
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
164
+ (0, vitest_1.expect)(out.stdout).toContain('Fold');
165
+ (0, vitest_1.expect)(out.stdout).toContain('D');
166
+ });
167
+ (0, vitest_1.it)('fold with no matching definition returns formula as-is', () => {
168
+ const out = run('logic classical.propositional\nfold (P -> Q)');
169
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
170
+ (0, vitest_1.expect)(out.results).toHaveLength(1);
171
+ });
172
+ (0, vitest_1.it)('fold produces a result entry', () => {
173
+ const out = run('logic classical.propositional\n' + 'define D := P & Q\n' + 'fold (P & Q)');
174
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
175
+ (0, vitest_1.expect)(out.results[0].status).toBe('valid');
176
+ });
177
+ });
178
+ // ── 5. source ────────────────────────────────────────────────
179
+ (0, vitest_1.describe)('source — bibliographic declarations', () => {
180
+ (0, vitest_1.it)('parses source with fields', () => {
181
+ const prog = parseOk('logic classical.propositional\n' +
182
+ 'source Aristotle {\n' +
183
+ ' author "Aristóteles"\n' +
184
+ ' work "Organon"\n' +
185
+ ' year 350\n' +
186
+ '}');
187
+ const stmt = prog.statements[1];
188
+ (0, vitest_1.expect)(stmt.kind).toBe('source_decl');
189
+ });
190
+ (0, vitest_1.it)('executes source and emits info', () => {
191
+ const out = run('logic classical.propositional\n' +
192
+ 'source Aristotle {\n' +
193
+ ' author "Aristóteles"\n' +
194
+ ' work "Organon"\n' +
195
+ ' year 350\n' +
196
+ '}');
197
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
198
+ (0, vitest_1.expect)(out.stdout).toContain('Aristóteles');
199
+ (0, vitest_1.expect)(out.stdout).toContain('350');
200
+ (0, vitest_1.expect)(out.stdout).toContain('Organon');
201
+ });
202
+ (0, vitest_1.it)('source with fuente alias (Spanish)', () => {
203
+ const out = run('logic classical.propositional\n' +
204
+ 'fuente Frege {\n' +
205
+ ' author "Gottlob Frege"\n' +
206
+ ' work "Begriffsschrift"\n' +
207
+ ' year 1879\n' +
208
+ '}');
209
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
210
+ (0, vitest_1.expect)(out.stdout).toContain('Frege');
211
+ (0, vitest_1.expect)(out.stdout).toContain('1879');
212
+ });
213
+ (0, vitest_1.it)('source appears in glossary', () => {
214
+ const out = run('logic classical.propositional\n' +
215
+ 'source Aristotle {\n' +
216
+ ' author "Aristóteles"\n' +
217
+ ' work "Organon"\n' +
218
+ ' year 350\n' +
219
+ '}\n' +
220
+ 'glossary');
221
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
222
+ (0, vitest_1.expect)(out.stdout).toContain('Fuentes');
223
+ (0, vitest_1.expect)(out.stdout).toContain('Aristóteles');
224
+ });
225
+ (0, vitest_1.it)('source with url and section', () => {
226
+ const out = run('logic classical.propositional\n' +
227
+ 'source Wiki {\n' +
228
+ ' author "Wikipedia"\n' +
229
+ ' work "Lógica proposicional"\n' +
230
+ ' url "https://en.wikipedia.org/wiki/Propositional_logic"\n' +
231
+ ' section "Introduction"\n' +
232
+ '}');
233
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
234
+ (0, vitest_1.expect)(out.stdout).toContain('Wikipedia');
235
+ });
236
+ });
237
+ // ── 6. interpret ─────────────────────────────────────────────
238
+ (0, vitest_1.describe)('interpret — text-to-formula binding', () => {
239
+ (0, vitest_1.it)('parses interpret with string', () => {
240
+ const prog = parseOk('logic classical.propositional\n' + 'interpret "todo hombre es mortal" as P -> Q');
241
+ const stmt = prog.statements[1];
242
+ (0, vitest_1.expect)(stmt.kind).toBe('interpret_cmd');
243
+ });
244
+ (0, vitest_1.it)('executes interpret and emits', () => {
245
+ const out = run('logic classical.propositional\n' + 'interpret "todo hombre es mortal" as P -> Q');
246
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
247
+ (0, vitest_1.expect)(out.stdout).toContain('Interpret');
248
+ (0, vitest_1.expect)(out.stdout).toContain('todo hombre es mortal');
249
+ });
250
+ (0, vitest_1.it)('interpret with identifier (passageRef)', () => {
251
+ const out = run('logic classical.propositional\n' + 'interpret Premise1 as P -> Q');
252
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
253
+ (0, vitest_1.expect)(out.stdout).toContain('Interpret');
254
+ (0, vitest_1.expect)(out.stdout).toContain('Premise1');
255
+ });
256
+ (0, vitest_1.it)('interpret creates a let binding usable later', () => {
257
+ const out = run('logic classical.propositional\n' +
258
+ 'interpret "mortalidad" as P -> Q\n' +
259
+ 'check valid (mortalidad -> mortalidad)');
260
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
261
+ // The binding "mortalidad" should be available
262
+ });
263
+ (0, vitest_1.it)('interpret appears in glossary', () => {
264
+ const out = run('logic classical.propositional\n' +
265
+ 'interpret "todo hombre es mortal" as P -> Q\n' +
266
+ 'glossary');
267
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
268
+ (0, vitest_1.expect)(out.stdout).toContain('Interpretaciones');
269
+ (0, vitest_1.expect)(out.stdout).toContain('todo hombre es mortal');
270
+ });
271
+ (0, vitest_1.it)('interpretar alias (Spanish)', () => {
272
+ const out = run('logic classical.propositional\n' + 'interpretar "llueve" as P');
273
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
274
+ (0, vitest_1.expect)(out.stdout).toContain('Interpret');
275
+ });
276
+ });
277
+ // ── 7. glossary ──────────────────────────────────────────────
278
+ (0, vitest_1.describe)('glossary — combined output', () => {
279
+ (0, vitest_1.it)('empty glossary shows "(sin definiciones registradas)"', () => {
280
+ const out = run('logic classical.propositional\nglossary');
281
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
282
+ (0, vitest_1.expect)(out.stdout).toContain('sin definiciones registradas');
283
+ });
284
+ (0, vitest_1.it)('glossary shows definitions', () => {
285
+ const out = run('logic classical.propositional\n' + 'define A := P -> Q\n' + 'glossary');
286
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
287
+ (0, vitest_1.expect)(out.stdout).toContain('GLOSARIO');
288
+ (0, vitest_1.expect)(out.stdout).toContain('A');
289
+ });
290
+ (0, vitest_1.it)('glossary shows definitions + sources + interpretations', () => {
291
+ const out = run('logic classical.propositional\n' +
292
+ 'define Implicacion := P -> Q\n' +
293
+ 'source Frege {\n' +
294
+ ' author "Frege"\n' +
295
+ ' work "Begriffsschrift"\n' +
296
+ ' year 1879\n' +
297
+ '}\n' +
298
+ 'interpret "si P entonces Q" as P -> Q\n' +
299
+ 'glossary');
300
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
301
+ (0, vitest_1.expect)(out.stdout).toContain('GLOSARIO');
302
+ (0, vitest_1.expect)(out.stdout).toContain('Implicacion');
303
+ (0, vitest_1.expect)(out.stdout).toContain('Fuentes');
304
+ (0, vitest_1.expect)(out.stdout).toContain('Frege');
305
+ (0, vitest_1.expect)(out.stdout).toContain('Interpretaciones');
306
+ (0, vitest_1.expect)(out.stdout).toContain('si P entonces Q');
307
+ });
308
+ (0, vitest_1.it)('glosario alias (Spanish)', () => {
309
+ const out = run('logic classical.propositional\nglosario');
310
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
311
+ (0, vitest_1.expect)(out.stdout).toContain('GLOSARIO');
312
+ });
313
+ });
314
+ // ── 8. render glossary ───────────────────────────────────────
315
+ (0, vitest_1.describe)('render glossary — formatted output', () => {
316
+ (0, vitest_1.it)('render glossary as markdown', () => {
317
+ const out = run('logic classical.propositional\n' + 'define Impl := P -> Q\n' + 'render glossary as markdown');
318
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
319
+ (0, vitest_1.expect)(out.stdout).toContain('**Impl**');
320
+ (0, vitest_1.expect)(out.stdout).toContain(':=');
321
+ });
322
+ (0, vitest_1.it)('render glossary as json', () => {
323
+ const out = run('logic classical.propositional\n' + 'define Impl := P -> Q\n' + 'render glossary as json');
324
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
325
+ // JSON must be parseable
326
+ const lines = out.stdout.split('\n');
327
+ const jsonStr = lines.filter((l) => l.trim().length > 0).join('\n');
328
+ (0, vitest_1.expect)(jsonStr).toContain('"Impl"');
329
+ (0, vitest_1.expect)(jsonStr).toContain('"body"');
330
+ });
331
+ (0, vitest_1.it)('render glossary as latex', () => {
332
+ const out = run('logic classical.propositional\n' + 'define Impl := P -> Q\n' + 'render glossary as latex');
333
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
334
+ (0, vitest_1.expect)(out.stdout).toContain('\\newcommand');
335
+ (0, vitest_1.expect)(out.stdout).toContain('Impl');
336
+ });
337
+ (0, vitest_1.it)('render glossary with no definitions', () => {
338
+ const out = run('logic classical.propositional\nrender glossary as markdown');
339
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
340
+ (0, vitest_1.expect)(out.stdout).toContain('sin definiciones');
341
+ });
342
+ (0, vitest_1.it)('render glossary with params and description', () => {
343
+ const out = run('logic classical.propositional\n' +
344
+ 'define Impl(x, y) := x -> y\n' +
345
+ 'description "Implicación material"\n' +
346
+ 'render glossary as markdown');
347
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
348
+ (0, vitest_1.expect)(out.stdout).toContain('Impl(x, y)');
349
+ (0, vitest_1.expect)(out.stdout).toContain('Implicación material');
350
+ });
351
+ });
352
+ // ── 9. render analysis ───────────────────────────────────────
353
+ (0, vitest_1.describe)('render analysis — full document', () => {
354
+ (0, vitest_1.it)('render analysis produces headings', () => {
355
+ const out = run('logic classical.propositional\n' +
356
+ 'define D := P -> Q\n' +
357
+ 'axiom A1 : P -> Q\n' +
358
+ 'render analysis as markdown');
359
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
360
+ (0, vitest_1.expect)(out.stdout).toContain('Análisis');
361
+ (0, vitest_1.expect)(out.stdout).toContain('Definiciones');
362
+ (0, vitest_1.expect)(out.stdout).toContain('Axiomas');
363
+ });
364
+ (0, vitest_1.it)('render analysis includes sources', () => {
365
+ const out = run('logic classical.propositional\n' +
366
+ 'source Aristotle {\n' +
367
+ ' author "Aristóteles"\n' +
368
+ ' work "Organon"\n' +
369
+ ' year 350\n' +
370
+ '}\n' +
371
+ 'render analysis as markdown');
372
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
373
+ (0, vitest_1.expect)(out.stdout).toContain('Fuentes');
374
+ (0, vitest_1.expect)(out.stdout).toContain('Aristóteles');
375
+ });
376
+ (0, vitest_1.it)('render analysis with theorems and claims', () => {
377
+ const out = run('logic classical.propositional\n' +
378
+ 'axiom A1 : P -> Q\n' +
379
+ 'axiom A2 : P\n' +
380
+ 'theorem T1 = Q\n' +
381
+ 'render analysis as markdown');
382
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
383
+ (0, vitest_1.expect)(out.stdout).toContain('Teoremas');
384
+ });
385
+ (0, vitest_1.it)('render analysis empty is minimal', () => {
386
+ const out = run('logic classical.propositional\nrender analysis as markdown');
387
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
388
+ (0, vitest_1.expect)(out.stdout).toContain('Análisis');
389
+ });
390
+ });
391
+ // ── 10. definition expansion in proofs ───────────────────────
392
+ (0, vitest_1.describe)('definition expansion in resolve pipeline', () => {
393
+ (0, vitest_1.it)('definition expanded in check satisfiable', () => {
394
+ const out = run('logic classical.propositional\n' + 'define D := P & !P\n' + 'check satisfiable D');
395
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
396
+ (0, vitest_1.expect)(out.results[0].status).toBe('unsatisfiable');
397
+ });
398
+ (0, vitest_1.it)('parametric definition in check valid', () => {
399
+ const out = run('logic classical.propositional\n' + 'define Id(x) := x -> x\n' + 'check valid Id(P)');
400
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
401
+ (0, vitest_1.expect)(out.results[0].status).toBe('valid');
402
+ });
403
+ (0, vitest_1.it)('parametric definition with two params', () => {
404
+ const out = run('logic classical.propositional\n' +
405
+ 'define Impl(x, y) := x -> y\n' +
406
+ 'check valid (Impl(P, P))');
407
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
408
+ (0, vitest_1.expect)(out.results[0].status).toBe('valid');
409
+ });
410
+ (0, vitest_1.it)('definition expanded in derive', () => {
411
+ const out = run('logic classical.propositional\n' +
412
+ 'define IMP := P -> Q\n' +
413
+ 'axiom A1 : IMP\n' +
414
+ 'axiom A2 : P\n' +
415
+ 'derive Q from {A1, A2}');
416
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
417
+ (0, vitest_1.expect)(out.results[0].status).toBe('provable');
418
+ });
419
+ (0, vitest_1.it)('definition in truth table', () => {
420
+ const out = run('logic classical.propositional\n' + 'define D := P | !P\n' + 'truth_table D');
421
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
422
+ (0, vitest_1.expect)(out.stdout).toContain('T');
423
+ });
424
+ });
425
+ // ── 11. export of definitions ────────────────────────────────
426
+ (0, vitest_1.describe)('export define', () => {
427
+ (0, vitest_1.it)('parses export define', () => {
428
+ const prog = parseOk('logic classical.propositional\n' + 'export define MyDef := P -> Q');
429
+ const stmt = prog.statements[1];
430
+ (0, vitest_1.expect)(stmt.kind).toBe('export_decl');
431
+ });
432
+ });
433
+ // ── 12. edge cases and integration ───────────────────────────
434
+ (0, vitest_1.describe)('edge cases', () => {
435
+ (0, vitest_1.it)('multiple defines before glossary', () => {
436
+ const out = run('logic classical.propositional\n' +
437
+ 'define A := P\n' +
438
+ 'define B := Q\n' +
439
+ 'define C := R\n' +
440
+ 'glossary');
441
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
442
+ (0, vitest_1.expect)(out.stdout).toContain('A');
443
+ (0, vitest_1.expect)(out.stdout).toContain('B');
444
+ (0, vitest_1.expect)(out.stdout).toContain('C');
445
+ });
446
+ (0, vitest_1.it)('define + source + interpret + unfold + fold + glossary all in one', () => {
447
+ const out = run('logic classical.propositional\n' +
448
+ 'define D := P -> Q\n' +
449
+ 'source Aristotle {\n' +
450
+ ' author "Aristóteles"\n' +
451
+ ' work "Organon"\n' +
452
+ '}\n' +
453
+ 'interpret "si P entonces Q" as P -> Q\n' +
454
+ 'unfold D\n' +
455
+ 'fold (P -> Q)\n' +
456
+ 'glossary');
457
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
458
+ (0, vitest_1.expect)(out.stdout).toContain('Define');
459
+ (0, vitest_1.expect)(out.stdout).toContain('Source');
460
+ (0, vitest_1.expect)(out.stdout).toContain('Interpret');
461
+ (0, vitest_1.expect)(out.stdout).toContain('Unfold');
462
+ (0, vitest_1.expect)(out.stdout).toContain('Fold');
463
+ (0, vitest_1.expect)(out.stdout).toContain('GLOSARIO');
464
+ });
465
+ (0, vitest_1.it)('define inside theory block', () => {
466
+ const out = run('logic classical.propositional\n' +
467
+ 'theory T {\n' +
468
+ ' define D := P -> Q\n' +
469
+ ' axiom A1 : D\n' +
470
+ '}');
471
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
472
+ });
473
+ (0, vitest_1.it)('define with complex formula', () => {
474
+ const out = run('logic classical.propositional\n' + 'define Complex := (P -> Q) & (Q -> R) -> (P -> R)');
475
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
476
+ (0, vitest_1.expect)(out.stdout).toContain('Complex');
477
+ });
478
+ (0, vitest_1.it)('define with negation', () => {
479
+ const out = run('logic classical.propositional\n' +
480
+ 'define Contradiction := P & !P\n' +
481
+ 'check satisfiable Contradiction');
482
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
483
+ (0, vitest_1.expect)(out.results[0].status).toBe('unsatisfiable');
484
+ });
485
+ (0, vitest_1.it)('unfold then check valid on result', () => {
486
+ const out = run('logic classical.propositional\n' +
487
+ 'define Taut := P -> P\n' +
488
+ 'unfold Taut\n' +
489
+ 'check valid (P -> P)');
490
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
491
+ (0, vitest_1.expect)(out.results[1].status).toBe('valid');
492
+ });
493
+ (0, vitest_1.it)('source with negative year', () => {
494
+ const out = run('logic classical.propositional\n' +
495
+ 'source Ancient {\n' +
496
+ ' author "Parmenides"\n' +
497
+ ' year -500\n' +
498
+ '}');
499
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
500
+ (0, vitest_1.expect)(out.stdout).toContain('Parmenides');
501
+ });
502
+ (0, vitest_1.it)('full workflow: source + define + axiom + derive + render analysis', () => {
503
+ const out = run('logic classical.propositional\n' +
504
+ 'source Aristotle {\n' +
505
+ ' author "Aristóteles"\n' +
506
+ ' work "Organon"\n' +
507
+ ' year 350\n' +
508
+ '}\n' +
509
+ 'define Mortal := P -> Q\n' +
510
+ 'description "Todo hombre es mortal"\n' +
511
+ 'axiom A1 : Mortal\n' +
512
+ 'axiom A2 : P\n' +
513
+ 'derive Q from {A1, A2}\n' +
514
+ 'render analysis as markdown');
515
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
516
+ (0, vitest_1.expect)(out.results[0].status).toBe('provable');
517
+ (0, vitest_1.expect)(out.stdout).toContain('Análisis');
518
+ (0, vitest_1.expect)(out.stdout).toContain('Definiciones');
519
+ (0, vitest_1.expect)(out.stdout).toContain('Axiomas');
520
+ (0, vitest_1.expect)(out.stdout).toContain('Fuentes');
521
+ });
522
+ (0, vitest_1.it)('render glossary default format (no as clause)', () => {
523
+ const out = run('logic classical.propositional\n' + 'define D := P -> Q\n' + 'render glossary');
524
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
525
+ // Default should be markdown
526
+ (0, vitest_1.expect)(out.stdout).toContain('**D**');
527
+ });
528
+ });
529
+ //# sourceMappingURL=v3-features.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v3-features.test.js","sourceRoot":"","sources":["../../src/tests/v3-features.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=v3-stress.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v3-stress.test.d.ts","sourceRoot":"","sources":["../../src/tests/v3-stress.test.ts"],"names":[],"mappings":""}