@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.
- package/dist/cli/index.js.map +1 -1
- package/dist/lexer/tokens.d.ts.map +1 -1
- package/dist/parser/parser.d.ts +1 -0
- package/dist/parser/parser.d.ts.map +1 -1
- package/dist/parser/parser.js +99 -22
- package/dist/parser/parser.js.map +1 -1
- package/dist/profiles/aristotelian/syllogistic.d.ts.map +1 -1
- package/dist/profiles/aristotelian/syllogistic.js +219 -15
- package/dist/profiles/aristotelian/syllogistic.js.map +1 -1
- package/dist/profiles/arithmetic/index.d.ts +1 -6
- package/dist/profiles/arithmetic/index.d.ts.map +1 -1
- package/dist/profiles/arithmetic/index.js +142 -65
- package/dist/profiles/arithmetic/index.js.map +1 -1
- package/dist/profiles/classical/first-order.d.ts +2 -0
- package/dist/profiles/classical/first-order.d.ts.map +1 -1
- package/dist/profiles/classical/first-order.js +375 -51
- package/dist/profiles/classical/first-order.js.map +1 -1
- package/dist/profiles/classical/propositional.d.ts +7 -0
- package/dist/profiles/classical/propositional.d.ts.map +1 -1
- package/dist/profiles/classical/propositional.js +467 -32
- package/dist/profiles/classical/propositional.js.map +1 -1
- package/dist/profiles/deontic/standard.d.ts.map +1 -1
- package/dist/profiles/deontic/standard.js +13 -1
- package/dist/profiles/deontic/standard.js.map +1 -1
- package/dist/profiles/epistemic/s5.d.ts.map +1 -1
- package/dist/profiles/epistemic/s5.js +14 -1
- package/dist/profiles/epistemic/s5.js.map +1 -1
- package/dist/profiles/intuitionistic/propositional.d.ts.map +1 -1
- package/dist/profiles/intuitionistic/propositional.js +98 -13
- package/dist/profiles/intuitionistic/propositional.js.map +1 -1
- package/dist/profiles/modal/k.d.ts.map +1 -1
- package/dist/profiles/modal/k.js +9 -1
- package/dist/profiles/modal/k.js.map +1 -1
- package/dist/profiles/paraconsistent/belnap.d.ts +2 -1
- package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
- package/dist/profiles/paraconsistent/belnap.js +81 -4
- package/dist/profiles/paraconsistent/belnap.js.map +1 -1
- package/dist/profiles/probabilistic/basic.d.ts.map +1 -1
- package/dist/profiles/probabilistic/basic.js +71 -1
- package/dist/profiles/probabilistic/basic.js.map +1 -1
- package/dist/profiles/shared/base-profile.d.ts +4 -2
- package/dist/profiles/shared/base-profile.d.ts.map +1 -1
- package/dist/profiles/shared/base-profile.js +72 -11
- package/dist/profiles/shared/base-profile.js.map +1 -1
- package/dist/profiles/shared/tableau-engine.d.ts +7 -7
- package/dist/profiles/shared/tableau-engine.d.ts.map +1 -1
- package/dist/profiles/shared/tableau-engine.js +74 -70
- package/dist/profiles/shared/tableau-engine.js.map +1 -1
- package/dist/profiles/temporal/ltl.d.ts +1 -0
- package/dist/profiles/temporal/ltl.d.ts.map +1 -1
- package/dist/profiles/temporal/ltl.js +65 -0
- package/dist/profiles/temporal/ltl.js.map +1 -1
- package/dist/protocol/handler.d.ts.map +1 -1
- package/dist/protocol/handler.js +96 -27
- package/dist/protocol/handler.js.map +1 -1
- package/dist/runtime/cross-system-compare.d.ts +4 -0
- package/dist/runtime/cross-system-compare.d.ts.map +1 -0
- package/dist/runtime/cross-system-compare.js +50 -0
- package/dist/runtime/cross-system-compare.js.map +1 -0
- package/dist/runtime/fallacies.d.ts.map +1 -1
- package/dist/runtime/fallacies.js +130 -0
- package/dist/runtime/fallacies.js.map +1 -1
- package/dist/runtime/format.d.ts +5 -0
- package/dist/runtime/format.d.ts.map +1 -1
- package/dist/runtime/format.js +54 -6
- package/dist/runtime/format.js.map +1 -1
- package/dist/runtime/formula-classifier.d.ts +18 -0
- package/dist/runtime/formula-classifier.d.ts.map +1 -0
- package/dist/runtime/formula-classifier.js +183 -0
- package/dist/runtime/formula-classifier.js.map +1 -0
- package/dist/runtime/interpreter.d.ts +1 -0
- package/dist/runtime/interpreter.d.ts.map +1 -1
- package/dist/runtime/interpreter.js +221 -49
- package/dist/runtime/interpreter.js.map +1 -1
- package/dist/runtime/known-theorems.d.ts +12 -0
- package/dist/runtime/known-theorems.d.ts.map +1 -0
- package/dist/runtime/known-theorems.js +147 -0
- package/dist/runtime/known-theorems.js.map +1 -0
- package/dist/tests/arithmetic.test.js +81 -27
- package/dist/tests/arithmetic.test.js.map +1 -1
- package/dist/tests/core.test.js +2 -2
- package/dist/tests/core.test.js.map +1 -1
- package/dist/tests/engines.test.js +1 -1
- package/dist/tests/engines.test.js.map +1 -1
- package/dist/tests/examples.test.js +1 -7
- package/dist/tests/examples.test.js.map +1 -1
- package/dist/tests/exhaustive-matrix.test.js +2 -2
- package/dist/tests/philosophy.test.js +2 -0
- package/dist/tests/philosophy.test.js.map +1 -1
- package/dist/tests/profiles.test.js +111 -0
- package/dist/tests/profiles.test.js.map +1 -1
- package/dist/tests/stress-exhaustive.test.js +94 -29
- package/dist/tests/stress-exhaustive.test.js.map +1 -1
- package/dist/tests/v1-features.test.js +10 -4
- package/dist/tests/v1-features.test.js.map +1 -1
- package/dist/types/index.d.ts +29 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/protocol/handler.js
CHANGED
|
@@ -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, {
|
|
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, {
|
|
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, {
|
|
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, {
|
|
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
|
|
123
|
-
|
|
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, {
|
|
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, {
|
|
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, {
|
|
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, {
|
|
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, {
|
|
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, {
|
|
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: {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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] ??
|
|
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'
|
|
363
|
-
|
|
364
|
-
|
|
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({
|
|
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({
|
|
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,
|
|
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 @@
|
|
|
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;
|
|
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.
|