@stevenvo780/st-lang 2.0.4 → 2.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 (98) hide show
  1. package/dist/cli/index.js.map +1 -1
  2. package/dist/lexer/tokens.d.ts.map +1 -1
  3. package/dist/parser/parser.d.ts +1 -0
  4. package/dist/parser/parser.d.ts.map +1 -1
  5. package/dist/parser/parser.js +99 -22
  6. package/dist/parser/parser.js.map +1 -1
  7. package/dist/profiles/aristotelian/syllogistic.d.ts.map +1 -1
  8. package/dist/profiles/aristotelian/syllogistic.js +219 -15
  9. package/dist/profiles/aristotelian/syllogistic.js.map +1 -1
  10. package/dist/profiles/arithmetic/index.d.ts +1 -6
  11. package/dist/profiles/arithmetic/index.d.ts.map +1 -1
  12. package/dist/profiles/arithmetic/index.js +142 -65
  13. package/dist/profiles/arithmetic/index.js.map +1 -1
  14. package/dist/profiles/classical/first-order.d.ts +2 -0
  15. package/dist/profiles/classical/first-order.d.ts.map +1 -1
  16. package/dist/profiles/classical/first-order.js +375 -51
  17. package/dist/profiles/classical/first-order.js.map +1 -1
  18. package/dist/profiles/classical/propositional.d.ts +7 -0
  19. package/dist/profiles/classical/propositional.d.ts.map +1 -1
  20. package/dist/profiles/classical/propositional.js +467 -32
  21. package/dist/profiles/classical/propositional.js.map +1 -1
  22. package/dist/profiles/deontic/standard.d.ts.map +1 -1
  23. package/dist/profiles/deontic/standard.js +13 -1
  24. package/dist/profiles/deontic/standard.js.map +1 -1
  25. package/dist/profiles/epistemic/s5.d.ts.map +1 -1
  26. package/dist/profiles/epistemic/s5.js +14 -1
  27. package/dist/profiles/epistemic/s5.js.map +1 -1
  28. package/dist/profiles/intuitionistic/propositional.d.ts.map +1 -1
  29. package/dist/profiles/intuitionistic/propositional.js +98 -13
  30. package/dist/profiles/intuitionistic/propositional.js.map +1 -1
  31. package/dist/profiles/modal/k.d.ts.map +1 -1
  32. package/dist/profiles/modal/k.js +9 -1
  33. package/dist/profiles/modal/k.js.map +1 -1
  34. package/dist/profiles/paraconsistent/belnap.d.ts +2 -1
  35. package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
  36. package/dist/profiles/paraconsistent/belnap.js +81 -4
  37. package/dist/profiles/paraconsistent/belnap.js.map +1 -1
  38. package/dist/profiles/probabilistic/basic.d.ts.map +1 -1
  39. package/dist/profiles/probabilistic/basic.js +71 -1
  40. package/dist/profiles/probabilistic/basic.js.map +1 -1
  41. package/dist/profiles/shared/base-profile.d.ts +4 -2
  42. package/dist/profiles/shared/base-profile.d.ts.map +1 -1
  43. package/dist/profiles/shared/base-profile.js +72 -11
  44. package/dist/profiles/shared/base-profile.js.map +1 -1
  45. package/dist/profiles/shared/tableau-engine.d.ts +7 -7
  46. package/dist/profiles/shared/tableau-engine.d.ts.map +1 -1
  47. package/dist/profiles/shared/tableau-engine.js +74 -70
  48. package/dist/profiles/shared/tableau-engine.js.map +1 -1
  49. package/dist/profiles/temporal/ltl.d.ts +1 -0
  50. package/dist/profiles/temporal/ltl.d.ts.map +1 -1
  51. package/dist/profiles/temporal/ltl.js +65 -0
  52. package/dist/profiles/temporal/ltl.js.map +1 -1
  53. package/dist/protocol/handler.d.ts.map +1 -1
  54. package/dist/protocol/handler.js +96 -27
  55. package/dist/protocol/handler.js.map +1 -1
  56. package/dist/runtime/cross-system-compare.d.ts +4 -0
  57. package/dist/runtime/cross-system-compare.d.ts.map +1 -0
  58. package/dist/runtime/cross-system-compare.js +50 -0
  59. package/dist/runtime/cross-system-compare.js.map +1 -0
  60. package/dist/runtime/fallacies.d.ts.map +1 -1
  61. package/dist/runtime/fallacies.js +130 -0
  62. package/dist/runtime/fallacies.js.map +1 -1
  63. package/dist/runtime/format.d.ts +5 -0
  64. package/dist/runtime/format.d.ts.map +1 -1
  65. package/dist/runtime/format.js +54 -6
  66. package/dist/runtime/format.js.map +1 -1
  67. package/dist/runtime/formula-classifier.d.ts +18 -0
  68. package/dist/runtime/formula-classifier.d.ts.map +1 -0
  69. package/dist/runtime/formula-classifier.js +183 -0
  70. package/dist/runtime/formula-classifier.js.map +1 -0
  71. package/dist/runtime/interpreter.d.ts +1 -0
  72. package/dist/runtime/interpreter.d.ts.map +1 -1
  73. package/dist/runtime/interpreter.js +221 -49
  74. package/dist/runtime/interpreter.js.map +1 -1
  75. package/dist/runtime/known-theorems.d.ts +12 -0
  76. package/dist/runtime/known-theorems.d.ts.map +1 -0
  77. package/dist/runtime/known-theorems.js +147 -0
  78. package/dist/runtime/known-theorems.js.map +1 -0
  79. package/dist/tests/arithmetic.test.js +81 -27
  80. package/dist/tests/arithmetic.test.js.map +1 -1
  81. package/dist/tests/core.test.js +2 -2
  82. package/dist/tests/core.test.js.map +1 -1
  83. package/dist/tests/engines.test.js +1 -1
  84. package/dist/tests/engines.test.js.map +1 -1
  85. package/dist/tests/examples.test.js +1 -7
  86. package/dist/tests/examples.test.js.map +1 -1
  87. package/dist/tests/exhaustive-matrix.test.js +2 -2
  88. package/dist/tests/philosophy.test.js +2 -0
  89. package/dist/tests/philosophy.test.js.map +1 -1
  90. package/dist/tests/profiles.test.js +111 -0
  91. package/dist/tests/profiles.test.js.map +1 -1
  92. package/dist/tests/stress-exhaustive.test.js +94 -29
  93. package/dist/tests/stress-exhaustive.test.js.map +1 -1
  94. package/dist/tests/v1-features.test.js +10 -4
  95. package/dist/tests/v1-features.test.js.map +1 -1
  96. package/dist/types/index.d.ts +29 -0
  97. package/dist/types/index.d.ts.map +1 -1
  98. package/package.json +2 -2
@@ -99,19 +99,32 @@ class ProtocolHandler {
99
99
  }
100
100
  else if (stmt.letType === 'formula') {
101
101
  const desc = 'description' in stmt ? stmt.description : undefined;
102
- letDefs.set(stmt.name, { formula: (0, propositional_1.formulaToString)(stmt.formula), description: desc, line: stmt.source.line });
102
+ letDefs.set(stmt.name, {
103
+ formula: (0, propositional_1.formulaToString)(stmt.formula),
104
+ description: desc,
105
+ line: stmt.source.line,
106
+ });
103
107
  }
104
108
  else if (stmt.letType === 'passage') {
105
- letDefs.set(stmt.name, { description: `passage([[${stmt.anchorPath}]])`, line: stmt.source.line });
109
+ letDefs.set(stmt.name, {
110
+ description: `passage([[${stmt.anchorPath}]])`,
111
+ line: stmt.source.line,
112
+ });
106
113
  }
107
114
  break;
108
115
  case 'axiom_decl':
109
- axiomDefs.set(stmt.name, { formula: (0, propositional_1.formulaToString)(stmt.formula), line: stmt.source.line });
116
+ axiomDefs.set(stmt.name, {
117
+ formula: (0, propositional_1.formulaToString)(stmt.formula),
118
+ line: stmt.source.line,
119
+ });
110
120
  break;
111
121
  case 'theorem_decl':
112
- theoremDefs.set(stmt.name, { formula: (0, propositional_1.formulaToString)(stmt.formula), line: stmt.source.line });
122
+ theoremDefs.set(stmt.name, {
123
+ formula: (0, propositional_1.formulaToString)(stmt.formula),
124
+ line: stmt.source.line,
125
+ });
113
126
  break;
114
- case 'export_decl':
127
+ case 'export_decl': {
115
128
  // Tratar la declaración interna como si estuviera en el scope global
116
129
  const inner = stmt.statement;
117
130
  if (inner.kind === 'let_decl') {
@@ -119,20 +132,33 @@ class ProtocolHandler {
119
132
  letDefs.set(inner.name, { description: inner.description, line: inner.source.line });
120
133
  }
121
134
  else if (inner.letType === 'formula') {
122
- const desc = 'description' in inner ? inner.description : undefined;
123
- letDefs.set(inner.name, { formula: (0, propositional_1.formulaToString)(inner.formula), description: desc, line: inner.source.line });
135
+ const desc = 'description' in inner
136
+ ? inner.description
137
+ : undefined;
138
+ letDefs.set(inner.name, {
139
+ formula: (0, propositional_1.formulaToString)(inner.formula),
140
+ description: desc,
141
+ line: inner.source.line,
142
+ });
124
143
  }
125
144
  }
126
145
  else if (inner.kind === 'axiom_decl') {
127
- axiomDefs.set(inner.name, { formula: (0, propositional_1.formulaToString)(inner.formula), line: inner.source.line });
146
+ axiomDefs.set(inner.name, {
147
+ formula: (0, propositional_1.formulaToString)(inner.formula),
148
+ line: inner.source.line,
149
+ });
128
150
  }
129
151
  else if (inner.kind === 'theorem_decl') {
130
- theoremDefs.set(inner.name, { formula: (0, propositional_1.formulaToString)(inner.formula), line: inner.source.line });
152
+ theoremDefs.set(inner.name, {
153
+ formula: (0, propositional_1.formulaToString)(inner.formula),
154
+ line: inner.source.line,
155
+ });
131
156
  }
132
157
  else if (inner.kind === 'fn_decl') {
133
158
  // Registrar función si fuera posible (habría que añadir functionDefs)
134
159
  }
135
160
  break;
161
+ }
136
162
  case 'theory_decl':
137
163
  // Registrar miembros de la teoría como defs prefijados
138
164
  for (const member of stmt.members) {
@@ -140,18 +166,31 @@ class ProtocolHandler {
140
166
  const qPrefix = `${stmt.name}.`;
141
167
  if (ms.kind === 'let_decl') {
142
168
  if (ms.letType === 'description') {
143
- letDefs.set(qPrefix + ms.name, { description: ms.description, line: ms.source.line });
169
+ letDefs.set(qPrefix + ms.name, {
170
+ description: ms.description,
171
+ line: ms.source.line,
172
+ });
144
173
  }
145
174
  else if (ms.letType === 'formula') {
146
175
  const desc = 'description' in ms ? ms.description : undefined;
147
- letDefs.set(qPrefix + ms.name, { formula: (0, propositional_1.formulaToString)(ms.formula), description: desc, line: ms.source.line });
176
+ letDefs.set(qPrefix + ms.name, {
177
+ formula: (0, propositional_1.formulaToString)(ms.formula),
178
+ description: desc,
179
+ line: ms.source.line,
180
+ });
148
181
  }
149
182
  }
150
183
  else if (ms.kind === 'axiom_decl') {
151
- axiomDefs.set(qPrefix + ms.name, { formula: (0, propositional_1.formulaToString)(ms.formula), line: ms.source.line });
184
+ axiomDefs.set(qPrefix + ms.name, {
185
+ formula: (0, propositional_1.formulaToString)(ms.formula),
186
+ line: ms.source.line,
187
+ });
152
188
  }
153
189
  else if (ms.kind === 'theorem_decl') {
154
- theoremDefs.set(qPrefix + ms.name, { formula: (0, propositional_1.formulaToString)(ms.formula), line: ms.source.line });
190
+ theoremDefs.set(qPrefix + ms.name, {
191
+ formula: (0, propositional_1.formulaToString)(ms.formula),
192
+ line: ms.source.line,
193
+ });
155
194
  }
156
195
  }
157
196
  break;
@@ -194,7 +233,10 @@ class ProtocolHandler {
194
233
  if (theoremDef) {
195
234
  return {
196
235
  id: request.id,
197
- result: { content: `**Teorema** \`${word}\` = \`${theoremDef.formula}\``, range: { line, column } },
236
+ result: {
237
+ content: `**Teorema** \`${word}\` = \`${theoremDef.formula}\``,
238
+ range: { line, column },
239
+ },
198
240
  };
199
241
  }
200
242
  const staticHover = this.getStaticHoverInfo(word);
@@ -278,13 +320,13 @@ class ProtocolHandler {
278
320
  '≥': '**≥**\n\nVersión Unicode de `>=`.',
279
321
  '^': '**^** (XOR)\n\nDisyunción exclusiva. Verdadera si solo uno de los operandos es verdadero.',
280
322
  '⊕': '**⊕** (XOR)\n\nVersión Unicode de `^`.',
281
- 'xor': '**xor**\n\nVersión textual de `^`.',
323
+ xor: '**xor**\n\nVersión textual de `^`.',
282
324
  '!&': '**!&** (NAND)\n\nNegación alternativa (Sheffer stroke). Falsa solo si ambos operandos son verdaderos.',
283
325
  '↑': '**↑** (NAND)\n\nVersión Unicode de `!&`.',
284
- 'nand': '**nand**\n\nVersión textual de `!&`.',
326
+ nand: '**nand**\n\nVersión textual de `!&`.',
285
327
  '!|': '**!|** (NOR)\n\nNegación conjunta (Peirce arrow). Verdadera solo si ambos operandos son falsos.',
286
328
  '↓': '**↓** (NOR)\n\nVersión Unicode de `!|`.',
287
- 'nor': '**nor**\n\nVersión textual de `!|`.'
329
+ nor: '**nor**\n\nVersión textual de `!|`.',
288
330
  };
289
331
  const aliases = {
290
332
  logica: keywordInfo.logic,
@@ -308,7 +350,7 @@ class ProtocolHandler {
308
350
  en: keywordInfo.in,
309
351
  mientras: keywordInfo.while,
310
352
  funcion: keywordInfo.fn,
311
- retornar: keywordInfo.return
353
+ retornar: keywordInfo.return,
312
354
  };
313
355
  const profileInfo = {
314
356
  'classical.propositional': '**classical.propositional**\n\nLógica proposicional clásica con tablas de verdad y tableaux.',
@@ -323,7 +365,12 @@ class ProtocolHandler {
323
365
  'probabilistic.basic': '**probabilistic.basic**\n\nRazonamiento probabilístico básico.',
324
366
  arithmetic: keywordInfo.arithmetic,
325
367
  };
326
- return keywordInfo[word] ?? keywordInfo[lower] ?? aliases[lower] ?? profileInfo[word] ?? profileInfo[lower] ?? null;
368
+ return (keywordInfo[word] ??
369
+ keywordInfo[lower] ??
370
+ aliases[lower] ??
371
+ profileInfo[word] ??
372
+ profileInfo[lower] ??
373
+ null);
327
374
  }
328
375
  handleSymbols(request) {
329
376
  const source = request.params.source;
@@ -359,9 +406,21 @@ class ProtocolHandler {
359
406
  case 'let_decl':
360
407
  symbols.push({
361
408
  name: stmt.name,
362
- kind: stmt.letType === 'passage' ? 'passage' : stmt.letType === 'description' ? 'variable' : 'formula',
363
- description: stmt.letType === 'description' ? stmt.description : ('description' in stmt ? stmt.description : undefined),
364
- detail: stmt.letType === 'formula' ? (0, propositional_1.formulaToString)(stmt.formula) : stmt.letType === 'description' ? `"${stmt.description}"` : undefined,
409
+ kind: stmt.letType === 'passage'
410
+ ? 'passage'
411
+ : stmt.letType === 'description'
412
+ ? 'variable'
413
+ : 'formula',
414
+ description: stmt.letType === 'description'
415
+ ? stmt.description
416
+ : 'description' in stmt
417
+ ? stmt.description
418
+ : undefined,
419
+ detail: stmt.letType === 'formula'
420
+ ? (0, propositional_1.formulaToString)(stmt.formula)
421
+ : stmt.letType === 'description'
422
+ ? `"${stmt.description}"`
423
+ : undefined,
365
424
  location: stmt.source,
366
425
  });
367
426
  break;
@@ -382,10 +441,20 @@ class ProtocolHandler {
382
441
  const memberName = `${theoryStmt.name}.${ms.name}`;
383
442
  const vis = member.visibility === 'private' ? '🔒 ' : '';
384
443
  if (ms.kind === 'axiom_decl') {
385
- symbols.push({ name: memberName, kind: 'axiom', detail: `${vis}${(0, propositional_1.formulaToString)(ms.formula)}`, location: ms.source });
444
+ symbols.push({
445
+ name: memberName,
446
+ kind: 'axiom',
447
+ detail: `${vis}${(0, propositional_1.formulaToString)(ms.formula)}`,
448
+ location: ms.source,
449
+ });
386
450
  }
387
451
  else if (ms.kind === 'theorem_decl') {
388
- symbols.push({ name: memberName, kind: 'theorem', detail: `${vis}${(0, propositional_1.formulaToString)(ms.formula)}`, location: ms.source });
452
+ symbols.push({
453
+ name: memberName,
454
+ kind: 'theorem',
455
+ detail: `${vis}${(0, propositional_1.formulaToString)(ms.formula)}`,
456
+ location: ms.source,
457
+ });
389
458
  }
390
459
  else if (ms.kind === 'let_decl') {
391
460
  symbols.push({
@@ -1092,7 +1161,7 @@ class ProtocolHandler {
1092
1161
  diagnostics: output.diagnostics,
1093
1162
  };
1094
1163
  }
1095
- getStatementHoverInfo(stmt, letDefs) {
1164
+ getStatementHoverInfo(stmt, _letDefs) {
1096
1165
  switch (stmt.kind) {
1097
1166
  case 'axiom_decl':
1098
1167
  return {
@@ -1125,8 +1194,8 @@ class ProtocolHandler {
1125
1194
  case 'theory_decl': {
1126
1195
  const theoryStmt = stmt;
1127
1196
  const parentStr = theoryStmt.parent ? ` extends \`${theoryStmt.parent}\`` : '';
1128
- const pubCount = theoryStmt.members.filter(m => m.visibility === 'public').length;
1129
- const privCount = theoryStmt.members.filter(m => m.visibility === 'private').length;
1197
+ const pubCount = theoryStmt.members.filter((m) => m.visibility === 'public').length;
1198
+ const privCount = theoryStmt.members.filter((m) => m.visibility === 'private').length;
1130
1199
  let content = `**Theory** \`${theoryStmt.name}\`${parentStr}\n\n`;
1131
1200
  content += `📦 ${pubCount} miembros públicos`;
1132
1201
  if (privCount > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/protocol/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/protocol/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Formula } from '../types';
2
+ import { ProfileRegistry } from '../profiles/interface';
3
+ export declare function compareAcrossSystems(formula: Formula, registry: ProfileRegistry): Record<string, string>;
4
+ //# sourceMappingURL=cross-system-compare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-system-compare.d.ts","sourceRoot":"","sources":["../../src/runtime/cross-system-compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA+CxB"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareAcrossSystems = compareAcrossSystems;
4
+ function compareAcrossSystems(formula, registry) {
5
+ const results = {};
6
+ // Define systems to check in order
7
+ const systemsToCheck = [
8
+ 'classical.propositional',
9
+ 'intuitionistic.propositional',
10
+ 'paraconsistent.belnap',
11
+ 'modal.k',
12
+ 'modal.t',
13
+ 'modal.s4',
14
+ 'modal.s5',
15
+ 'deontic.standard',
16
+ 'epistemic.s5',
17
+ ];
18
+ for (const sysName of systemsToCheck) {
19
+ const profile = registry.get(sysName);
20
+ if (!profile)
21
+ continue;
22
+ try {
23
+ // If there are quantifiers, many propositional systems will return well-formed errors
24
+ if (profile.checkWellFormed(formula).length > 0) {
25
+ results[sysName] = 'N/A (Sintaxis no compatible)';
26
+ continue;
27
+ }
28
+ const res = profile.checkValid(formula);
29
+ if (res.status === 'valid') {
30
+ results[sysName] = 'VÁLIDA';
31
+ }
32
+ else {
33
+ // Also check if satisfiable in Belnap for instance
34
+ if (sysName === 'paraconsistent.belnap') {
35
+ const satRes = profile.checkSatisfiable(formula);
36
+ if (satRes.status === 'satisfiable') {
37
+ results[sysName] = 'NO VÁLIDA (pero SATISFACIBLE)';
38
+ continue;
39
+ }
40
+ }
41
+ results[sysName] = 'NO VÁLIDA';
42
+ }
43
+ }
44
+ catch {
45
+ results[sysName] = 'Error computacional';
46
+ }
47
+ }
48
+ return results;
49
+ }
50
+ //# sourceMappingURL=cross-system-compare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-system-compare.js","sourceRoot":"","sources":["../../src/runtime/cross-system-compare.ts"],"names":[],"mappings":";;AAGA,oDAkDC;AAlDD,SAAgB,oBAAoB,CAClC,OAAgB,EAChB,QAAyB;IAEzB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,mCAAmC;IACnC,MAAM,cAAc,GAAG;QACrB,yBAAyB;QACzB,8BAA8B;QAC9B,uBAAuB;QACvB,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,kBAAkB;QAClB,cAAc;KACf,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,IAAI,CAAC;YACH,sFAAsF;YACtF,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,OAAO,CAAC,GAAG,8BAA8B,CAAC;gBAClD,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,mDAAmD;gBACnD,IAAI,OAAO,KAAK,uBAAuB,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACjD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;wBACpC,OAAO,CAAC,OAAO,CAAC,GAAG,+BAA+B,CAAC;wBACnD,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,OAAO,CAAC,GAAG,qBAAqB,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fallacies.d.ts","sourceRoot":"","sources":["../../src/runtime/fallacies.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB;AAwND;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,YAAY,GACpB,WAAW,EAAE,CAOf"}
1
+ {"version":3,"file":"fallacies.d.ts","sourceRoot":"","sources":["../../src/runtime/fallacies.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB;AAsWD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,YAAY,GACpB,WAAW,EAAE,CAOf"}
@@ -207,6 +207,131 @@ function checkFalseDisjunction(premises, conclusion) {
207
207
  }
208
208
  return null;
209
209
  }
210
+ /**
211
+ * Petición de principio: La conclusión ya está asumida en una de las premisas.
212
+ */
213
+ function checkBeggingQuestion(premises, conclusion) {
214
+ if (premises.some((p) => formulaEquals(p, conclusion))) {
215
+ return {
216
+ name: 'Petición de principio (Petitio Principii)',
217
+ description: 'La conclusión que se intenta probar ya se asume como verdadera en las premisas. Argumento circular.',
218
+ pattern: `φ ∈ {premisas} ⊢ φ`,
219
+ };
220
+ }
221
+ return null;
222
+ }
223
+ /**
224
+ * Conversión ilícita: Todo S es P ⊬ Todo P es S.
225
+ */
226
+ function checkIllicitConversion(premises, conclusion) {
227
+ if (conclusion.kind === 'forall' && conclusion.args?.length === 1) {
228
+ const cImp = conclusion.args[0];
229
+ if (isImplies(cImp) && cImp.args?.[0] && cImp.args?.[1]) {
230
+ const cs = cImp.args[0];
231
+ const cp = cImp.args[1];
232
+ for (const p of premises) {
233
+ if (p.kind === 'forall' && p.args?.length === 1 && p.variable === conclusion.variable) {
234
+ const pImp = p.args[0];
235
+ if (isImplies(pImp) && pImp.args?.[0] && pImp.args?.[1]) {
236
+ if (formulaEquals(pImp.args[0], cp) && formulaEquals(pImp.args[1], cs)) {
237
+ return {
238
+ name: 'Conversión ilícita',
239
+ description: 'Del hecho de que "Todo S es P" no se sigue lógicamente que "Todo P es S". (Ej. "Todo humano es mortal" no implica "Todo mortal es humano").',
240
+ pattern: `∀x(A(x) → B(x)) ⊬ ∀x(B(x) → A(x))`,
241
+ };
242
+ }
243
+ }
244
+ }
245
+ }
246
+ }
247
+ }
248
+ return null;
249
+ }
250
+ /**
251
+ * Generalización apresurada: Algún S es P ⊬ Todo S es P.
252
+ */
253
+ function checkHastyGeneralization(premises, conclusion) {
254
+ if (conclusion.kind === 'forall' && conclusion.args?.length === 1) {
255
+ const cImp = conclusion.args[0];
256
+ if (isImplies(cImp) && cImp.args?.[0] && cImp.args?.[1]) {
257
+ for (const p of premises) {
258
+ if (p.kind === 'exists' && p.args?.length === 1 && p.variable === conclusion.variable) {
259
+ const pAnd = p.args[0];
260
+ if (isAnd(pAnd) && pAnd.args?.[0] && pAnd.args?.[1]) {
261
+ if (formulaEquals(pAnd.args[0], cImp.args[0]) &&
262
+ formulaEquals(pAnd.args[1], cImp.args[1])) {
263
+ return {
264
+ name: 'Generalización apresurada',
265
+ description: 'Inferir una regla universal ("Todo S es P") a partir de casos particulares ("Algún S es P") o ejemplos aislados no es válido lógicamente.',
266
+ pattern: `∃x(S(x) ∧ P(x)) ⊬ ∀x(S(x) → P(x))`,
267
+ };
268
+ }
269
+ }
270
+ }
271
+ }
272
+ }
273
+ }
274
+ return null;
275
+ }
276
+ /**
277
+ * Cuaternio terminorum: 4 términos distintos en un silogismo.
278
+ */
279
+ function checkFourTerms(premises, conclusion) {
280
+ if (premises.length !== 2)
281
+ return null;
282
+ // Solo aplicamos a sentencias con predicados
283
+ const predicates = new Set();
284
+ function collectPreds(f) {
285
+ if (f.kind === 'predicate' && f.name)
286
+ predicates.add(f.name);
287
+ if (f.args)
288
+ f.args.forEach(collectPreds);
289
+ }
290
+ premises.forEach(collectPreds);
291
+ collectPreds(conclusion);
292
+ // Un silogismo categórico válido tiene exactamente 3 términos categóricos.
293
+ // Solo aplicamos la falacia si la estructura básica sugiere silogismo.
294
+ const allAreQuantified = [conclusion, ...premises].every((f) => f.kind === 'forall' || f.kind === 'exists');
295
+ if (allAreQuantified && predicates.size > 3) {
296
+ return {
297
+ name: 'Falacia de cuatro términos (Quaternio terminorum)',
298
+ description: 'Un silogismo categórico requiere exactamente tres términos (mayor, menor, medio). Encontrar ' +
299
+ predicates.size +
300
+ ' términos (ej. por ambigüedad o equivocación) destruye el enlace silogístico.',
301
+ pattern: `Predicados usados: {${[...predicates].join(', ')}} (esperados 3)`,
302
+ };
303
+ }
304
+ return null;
305
+ }
306
+ /**
307
+ * División: Todo tiene P ⊬ Parte tiene P.
308
+ * (Formalmente: si ∀x(P(x) → Q(x)) y R es un subconjunto de P, no podemos inferir que un elemento individual particular hereda propiedades que solo aplican al grupo como conjunto.
309
+ * Lo detectaremos estáticamente como conclusión sobre partes cuando premisa es sobre el todo.)
310
+ * Simplificación para ST: Si deduce (A -> B) desde (A ∧ C -> B).
311
+ */
312
+ function checkDivisionFallacy(premises, conclusion) {
313
+ if (isImplies(conclusion) && conclusion.args?.[0] && conclusion.args?.[1]) {
314
+ const part = conclusion.args[0];
315
+ const cons = conclusion.args[1];
316
+ const wholeFound = premises.find((p) => {
317
+ if (!isImplies(p) || !p.args?.[0] || !p.args?.[1])
318
+ return false;
319
+ if (!formulaEquals(p.args[1], cons))
320
+ return false;
321
+ const ant = p.args[0];
322
+ // si el antecedente de la premisa es un 'and' que contiene a 'part'
323
+ return isAnd(ant) && ant.args?.some((a) => formulaEquals(a, part));
324
+ });
325
+ if (wholeFound) {
326
+ return {
327
+ name: 'Falacia de división',
328
+ description: 'Que un todo o conjunto (A ∧ B) tenga una propiedad (C) no implica que sus partes individuales aseguren lógicamente esa misma propiedad (A → C).',
329
+ pattern: `((A ∧ B) → C) ⊬ (A → C)`,
330
+ };
331
+ }
332
+ }
333
+ return null;
334
+ }
210
335
  /** Lista de todos los checks registrados. */
211
336
  const FALLACY_CHECKERS = [
212
337
  (p, c, _prof) => checkAffirmingConsequent(p, c),
@@ -214,6 +339,11 @@ const FALLACY_CHECKERS = [
214
339
  (p, c, _prof) => checkUndistributedMiddle(p, c),
215
340
  (p, c, _prof) => checkCompositionFallacy(p, c),
216
341
  (p, c, _prof) => checkFalseDisjunction(p, c),
342
+ (p, c, _prof) => checkBeggingQuestion(p, c),
343
+ (p, c, _prof) => checkIllicitConversion(p, c),
344
+ (p, c, _prof) => checkHastyGeneralization(p, c),
345
+ (p, c, _prof) => checkFourTerms(p, c),
346
+ (p, c, _prof) => checkDivisionFallacy(p, c),
217
347
  ];
218
348
  /**
219
349
  * Ejecuta todos los detectores de falacias sobre un argumento.