@stevenvo780/st-lang 0.4.0 → 0.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 (57) hide show
  1. package/dist/api.d.ts +6 -2
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +101 -1
  4. package/dist/api.js.map +1 -1
  5. package/dist/profiles/aristotelian/syllogistic.d.ts +13 -0
  6. package/dist/profiles/aristotelian/syllogistic.d.ts.map +1 -0
  7. package/dist/profiles/aristotelian/syllogistic.js +364 -0
  8. package/dist/profiles/aristotelian/syllogistic.js.map +1 -0
  9. package/dist/profiles/deontic/standard.d.ts +10 -0
  10. package/dist/profiles/deontic/standard.d.ts.map +1 -0
  11. package/dist/profiles/deontic/standard.js +74 -0
  12. package/dist/profiles/deontic/standard.js.map +1 -0
  13. package/dist/profiles/epistemic/s5.d.ts +10 -0
  14. package/dist/profiles/epistemic/s5.d.ts.map +1 -0
  15. package/dist/profiles/epistemic/s5.js +70 -0
  16. package/dist/profiles/epistemic/s5.js.map +1 -0
  17. package/dist/profiles/index.d.ts +13 -0
  18. package/dist/profiles/index.d.ts.map +1 -0
  19. package/dist/profiles/index.js +58 -0
  20. package/dist/profiles/index.js.map +1 -0
  21. package/dist/profiles/intuitionistic/propositional.d.ts +14 -0
  22. package/dist/profiles/intuitionistic/propositional.d.ts.map +1 -0
  23. package/dist/profiles/intuitionistic/propositional.js +377 -0
  24. package/dist/profiles/intuitionistic/propositional.js.map +1 -0
  25. package/dist/profiles/modal/k.d.ts +8 -19
  26. package/dist/profiles/modal/k.d.ts.map +1 -1
  27. package/dist/profiles/modal/k.js +49 -320
  28. package/dist/profiles/modal/k.js.map +1 -1
  29. package/dist/profiles/probabilistic/basic.d.ts +17 -0
  30. package/dist/profiles/probabilistic/basic.d.ts.map +1 -0
  31. package/dist/profiles/probabilistic/basic.js +295 -0
  32. package/dist/profiles/probabilistic/basic.js.map +1 -0
  33. package/dist/profiles/shared/base-profile.d.ts +19 -0
  34. package/dist/profiles/shared/base-profile.d.ts.map +1 -0
  35. package/dist/profiles/shared/base-profile.js +129 -0
  36. package/dist/profiles/shared/base-profile.js.map +1 -0
  37. package/dist/profiles/shared/tableau-engine.d.ts +66 -0
  38. package/dist/profiles/shared/tableau-engine.d.ts.map +1 -0
  39. package/dist/profiles/shared/tableau-engine.js +439 -0
  40. package/dist/profiles/shared/tableau-engine.js.map +1 -0
  41. package/dist/profiles/temporal/ltl.d.ts +10 -0
  42. package/dist/profiles/temporal/ltl.d.ts.map +1 -0
  43. package/dist/profiles/temporal/ltl.js +75 -0
  44. package/dist/profiles/temporal/ltl.js.map +1 -0
  45. package/dist/protocol/handler.d.ts.map +1 -1
  46. package/dist/protocol/handler.js +81 -0
  47. package/dist/protocol/handler.js.map +1 -1
  48. package/dist/runtime/interpreter.d.ts +1 -0
  49. package/dist/runtime/interpreter.d.ts.map +1 -1
  50. package/dist/runtime/interpreter.js +2 -19
  51. package/dist/runtime/interpreter.js.map +1 -1
  52. package/dist/tests/philosophy.test.js.map +1 -1
  53. package/dist/tests/profiles.test.d.ts +2 -0
  54. package/dist/tests/profiles.test.d.ts.map +1 -0
  55. package/dist/tests/profiles.test.js +250 -0
  56. package/dist/tests/profiles.test.js.map +1 -0
  57. package/package.json +1 -1
package/dist/api.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * import { evaluate, parse, check, createInterpreter } from 'st-lang/api';
6
6
  * const result = evaluate('logic classical.propositional\ncheck valid (P -> P)');
7
7
  */
8
- import type { Diagnostic, RunResult, SymbolInfo, HoverInfo, CompletionItem, SourceLocation } from './types';
8
+ import type { Diagnostic, RunResult, Formula, SymbolInfo, HoverInfo, CompletionItem, SourceLocation } from './types';
9
9
  import type { Program } from './ast/nodes';
10
10
  /** Resultado de evaluate() */
11
11
  export interface STEvalResult {
@@ -114,8 +114,12 @@ export interface TheorySummary {
114
114
  * Crea una instancia de intérprete ST con estado persistente.
115
115
  */
116
116
  export declare function createInterpreter(): STInterpreter;
117
- /** Convierte una fórmula AST a string legible */
117
+ /** Convierte una fórmula AST a string legible (notación programática) */
118
118
  export { formulaToString } from './profiles/classical/propositional';
119
+ /** Convierte una fórmula AST a notación Unicode (¬, ∧, ∨, →, ↔, □, ◇, ∀, ∃) */
120
+ export declare function formulaToUnicode(f: Formula): string;
121
+ /** Convierte una fórmula AST a notación LaTeX */
122
+ export declare function formulaToLaTeX(f: Formula): string;
119
123
  /** Lista los perfiles lógicos disponibles */
120
124
  export declare function listProfiles(): string[];
121
125
  /** Resultado de hover() */
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/api.js CHANGED
@@ -13,6 +13,8 @@ exports.parse = parse;
13
13
  exports.check = check;
14
14
  exports.quickEval = quickEval;
15
15
  exports.createInterpreter = createInterpreter;
16
+ exports.formulaToUnicode = formulaToUnicode;
17
+ exports.formulaToLaTeX = formulaToLaTeX;
16
18
  exports.listProfiles = listProfiles;
17
19
  exports.hover = hover;
18
20
  exports.symbols = symbols;
@@ -144,9 +146,107 @@ function createInterpreter() {
144
146
  };
145
147
  }
146
148
  // ── Utilidades expuestas ──────────────────────────────────────
147
- /** Convierte una fórmula AST a string legible */
149
+ /** Convierte una fórmula AST a string legible (notación programática) */
148
150
  var propositional_1 = require("./profiles/classical/propositional");
149
151
  Object.defineProperty(exports, "formulaToString", { enumerable: true, get: function () { return propositional_1.formulaToString; } });
152
+ /** Convierte una fórmula AST a notación Unicode (¬, ∧, ∨, →, ↔, □, ◇, ∀, ∃) */
153
+ function formulaToUnicode(f) {
154
+ switch (f.kind) {
155
+ case 'atom':
156
+ return f.name || '?';
157
+ case 'not': {
158
+ const inner = f.args?.[0];
159
+ if (!inner)
160
+ return '¬?';
161
+ if (inner.kind === 'atom')
162
+ return `¬${formulaToUnicode(inner)}`;
163
+ return `¬(${formulaToUnicode(inner)})`;
164
+ }
165
+ case 'and':
166
+ return f.args?.[0] && f.args?.[1]
167
+ ? `(${formulaToUnicode(f.args[0])} ∧ ${formulaToUnicode(f.args[1])})`
168
+ : '? ∧ ?';
169
+ case 'or':
170
+ return f.args?.[0] && f.args?.[1]
171
+ ? `(${formulaToUnicode(f.args[0])} ∨ ${formulaToUnicode(f.args[1])})`
172
+ : '? ∨ ?';
173
+ case 'implies':
174
+ return f.args?.[0] && f.args?.[1]
175
+ ? `(${formulaToUnicode(f.args[0])} → ${formulaToUnicode(f.args[1])})`
176
+ : '? → ?';
177
+ case 'biconditional':
178
+ return f.args?.[0] && f.args?.[1]
179
+ ? `(${formulaToUnicode(f.args[0])} ↔ ${formulaToUnicode(f.args[1])})`
180
+ : '? ↔ ?';
181
+ case 'modal_necessity':
182
+ return f.args?.[0] ? `□${formulaToUnicode(f.args[0])}` : '□?';
183
+ case 'modal_possibility':
184
+ return f.args?.[0] ? `◇${formulaToUnicode(f.args[0])}` : '◇?';
185
+ case 'forall':
186
+ return f.args?.[0] ? `∀${f.variable}(${formulaToUnicode(f.args[0])})` : `∀${f.variable}?`;
187
+ case 'exists':
188
+ return f.args?.[0] ? `∃${f.variable}(${formulaToUnicode(f.args[0])})` : `∃${f.variable}?`;
189
+ case 'predicate':
190
+ return `${f.name || '?'}(${(f.params || []).join(', ')})`;
191
+ case 'equals':
192
+ return f.args?.[0] && f.args?.[1]
193
+ ? `(${formulaToUnicode(f.args[0])} = ${formulaToUnicode(f.args[1])})`
194
+ : '? = ?';
195
+ default:
196
+ return '?';
197
+ }
198
+ }
199
+ /** Convierte una fórmula AST a notación LaTeX */
200
+ function formulaToLaTeX(f) {
201
+ switch (f.kind) {
202
+ case 'atom':
203
+ return f.name || '?';
204
+ case 'not': {
205
+ const inner = f.args?.[0];
206
+ if (!inner)
207
+ return '\\neg ?';
208
+ if (inner.kind === 'atom')
209
+ return `\\neg ${formulaToLaTeX(inner)}`;
210
+ return `\\neg (${formulaToLaTeX(inner)})`;
211
+ }
212
+ case 'and':
213
+ return f.args?.[0] && f.args?.[1]
214
+ ? `(${formulaToLaTeX(f.args[0])} \\land ${formulaToLaTeX(f.args[1])})`
215
+ : '? \\land ?';
216
+ case 'or':
217
+ return f.args?.[0] && f.args?.[1]
218
+ ? `(${formulaToLaTeX(f.args[0])} \\lor ${formulaToLaTeX(f.args[1])})`
219
+ : '? \\lor ?';
220
+ case 'implies':
221
+ return f.args?.[0] && f.args?.[1]
222
+ ? `(${formulaToLaTeX(f.args[0])} \\to ${formulaToLaTeX(f.args[1])})`
223
+ : '? \\to ?';
224
+ case 'biconditional':
225
+ return f.args?.[0] && f.args?.[1]
226
+ ? `(${formulaToLaTeX(f.args[0])} \\leftrightarrow ${formulaToLaTeX(f.args[1])})`
227
+ : '? \\leftrightarrow ?';
228
+ case 'modal_necessity':
229
+ return f.args?.[0] ? `\\Box ${formulaToLaTeX(f.args[0])}` : '\\Box ?';
230
+ case 'modal_possibility':
231
+ return f.args?.[0] ? `\\Diamond ${formulaToLaTeX(f.args[0])}` : '\\Diamond ?';
232
+ case 'forall':
233
+ return f.args?.[0]
234
+ ? `\\forall ${f.variable}\\,(${formulaToLaTeX(f.args[0])})`
235
+ : `\\forall ${f.variable}\\,?`;
236
+ case 'exists':
237
+ return f.args?.[0]
238
+ ? `\\exists ${f.variable}\\,(${formulaToLaTeX(f.args[0])})`
239
+ : `\\exists ${f.variable}\\,?`;
240
+ case 'predicate':
241
+ return `${f.name || '?'}(${(f.params || []).join(', ')})`;
242
+ case 'equals':
243
+ return f.args?.[0] && f.args?.[1]
244
+ ? `(${formulaToLaTeX(f.args[0])} = ${formulaToLaTeX(f.args[1])})`
245
+ : '? = ?';
246
+ default:
247
+ return '?';
248
+ }
249
+ }
150
250
  /** Lista los perfiles lógicos disponibles */
151
251
  function listProfiles() {
152
252
  // Los perfiles se registran al instanciar un Interpreter,
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Formula, RunResult, Theory, LogicProfile, Diagnostic } from '../../types';
2
+ export declare class AristotelianSyllogistic implements LogicProfile {
3
+ name: string;
4
+ description: string;
5
+ checkWellFormed(formula: Formula): Diagnostic[];
6
+ checkValid(formula: Formula): RunResult;
7
+ checkSatisfiable(formula: Formula): RunResult;
8
+ prove(goal: Formula, theory: Theory): RunResult;
9
+ derive(goal: Formula, premises: string[], theory: Theory): RunResult;
10
+ countermodel(formula: Formula): RunResult;
11
+ explain(formula: Formula): RunResult;
12
+ }
13
+ //# sourceMappingURL=syllogistic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syllogistic.d.ts","sourceRoot":"","sources":["../../../src/profiles/aristotelian/syllogistic.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAC;AAwLrB,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,IAAI,SAA8B;IAClC,WAAW,SAAsE;IAEjF,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE;IAa/C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAuCvC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAoB7C,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAwC/C,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAiDpE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAazC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;CA8BrC"}
@@ -0,0 +1,364 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Aristotelian Syllogistic — Silogística Categórica
4
+ // ============================================================
5
+ // Formaliza los 24 silogismos válidos de Aristóteles.
6
+ // Usa cuantificadores de primer orden internamente:
7
+ // "Todo S es P" → ∀x(S(x) → P(x))
8
+ // "Ningún S es P" → ∀x(S(x) → ¬P(x))
9
+ // "Algún S es P" → ∃x(S(x) ∧ P(x))
10
+ // "Algún S no es P" → ∃x(S(x) ∧ ¬P(x))
11
+ //
12
+ // No usa tableau modal; implementa validación directa de
13
+ // figuras y modos silogísticos.
14
+ // ============================================================
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.AristotelianSyllogistic = void 0;
17
+ const propositional_1 = require("../classical/propositional");
18
+ // A = universal afirmativo, E = universal negativo,
19
+ // I = particular afirmativo, O = particular negativo
20
+ const VALID_SYLLOGISMS = [
21
+ // Figura 1: M-P, S-M ⊢ S-P
22
+ { name: 'Barbara', figure: 1, premises: ['A', 'A'], conclusion: 'A' },
23
+ { name: 'Celarent', figure: 1, premises: ['E', 'A'], conclusion: 'E' },
24
+ { name: 'Darii', figure: 1, premises: ['A', 'I'], conclusion: 'I' },
25
+ { name: 'Ferio', figure: 1, premises: ['E', 'I'], conclusion: 'O' },
26
+ // Figura 2: P-M, S-M ⊢ S-P
27
+ { name: 'Cesare', figure: 2, premises: ['E', 'A'], conclusion: 'E' },
28
+ { name: 'Camestres', figure: 2, premises: ['A', 'E'], conclusion: 'E' },
29
+ { name: 'Festino', figure: 2, premises: ['E', 'I'], conclusion: 'O' },
30
+ { name: 'Baroco', figure: 2, premises: ['A', 'O'], conclusion: 'O' },
31
+ // Figura 3: M-P, M-S ⊢ S-P
32
+ { name: 'Darapti', figure: 3, premises: ['A', 'A'], conclusion: 'I' },
33
+ { name: 'Disamis', figure: 3, premises: ['I', 'A'], conclusion: 'I' },
34
+ { name: 'Datisi', figure: 3, premises: ['A', 'I'], conclusion: 'I' },
35
+ { name: 'Felapton', figure: 3, premises: ['E', 'A'], conclusion: 'O' },
36
+ { name: 'Bocardo', figure: 3, premises: ['O', 'A'], conclusion: 'O' },
37
+ { name: 'Ferison', figure: 3, premises: ['E', 'I'], conclusion: 'O' },
38
+ // Figura 4: P-M, M-S ⊢ S-P
39
+ { name: 'Bramantip', figure: 4, premises: ['A', 'A'], conclusion: 'I' },
40
+ { name: 'Camenes', figure: 4, premises: ['A', 'E'], conclusion: 'E' },
41
+ { name: 'Dimaris', figure: 4, premises: ['I', 'A'], conclusion: 'I' },
42
+ { name: 'Fesapo', figure: 4, premises: ['E', 'A'], conclusion: 'O' },
43
+ { name: 'Fresison', figure: 4, premises: ['E', 'I'], conclusion: 'O' },
44
+ ];
45
+ /**
46
+ * Intenta extraer una proposición categórica del AST.
47
+ * Patrones reconocidos:
48
+ * A: forall x (S(x) -> P(x)) — Todo S es P
49
+ * E: forall x (S(x) -> !P(x)) — Ningún S es P
50
+ * I: exists x (S(x) & P(x)) — Algún S es P
51
+ * O: exists x (S(x) & !P(x)) — Algún S no es P
52
+ *
53
+ * También acepta formas simplificadas con átomos:
54
+ * A: S -> P (interpretado como "Todo S es P")
55
+ * E: S -> !P
56
+ * I: S & P
57
+ * O: S & !P
58
+ */
59
+ function extractCategorical(f) {
60
+ // Forma cuantificada
61
+ if (f.kind === 'forall' && f.args?.[0]) {
62
+ const body = f.args[0];
63
+ if (body.kind === 'implies' && body.args?.length === 2) {
64
+ const subj = extractPredicateName(body.args[0]);
65
+ const predArg = body.args[1];
66
+ if (subj) {
67
+ if (predArg.kind === 'not' && predArg.args?.[0]) {
68
+ const pred = extractPredicateName(predArg.args[0]);
69
+ if (pred)
70
+ return { type: 'E', subject: subj, predicate: pred };
71
+ }
72
+ const pred = extractPredicateName(predArg);
73
+ if (pred)
74
+ return { type: 'A', subject: subj, predicate: pred };
75
+ }
76
+ }
77
+ }
78
+ if (f.kind === 'exists' && f.args?.[0]) {
79
+ const body = f.args[0];
80
+ if (body.kind === 'and' && body.args?.length === 2) {
81
+ const subj = extractPredicateName(body.args[0]);
82
+ const predArg = body.args[1];
83
+ if (subj) {
84
+ if (predArg.kind === 'not' && predArg.args?.[0]) {
85
+ const pred = extractPredicateName(predArg.args[0]);
86
+ if (pred)
87
+ return { type: 'O', subject: subj, predicate: pred };
88
+ }
89
+ const pred = extractPredicateName(predArg);
90
+ if (pred)
91
+ return { type: 'I', subject: subj, predicate: pred };
92
+ }
93
+ }
94
+ }
95
+ // Forma simplificada (proposicional interpretada como categórica)
96
+ if (f.kind === 'implies' && f.args?.length === 2) {
97
+ const subj = f.args[0].name;
98
+ const predArg = f.args[1];
99
+ if (subj) {
100
+ if (predArg.kind === 'not' && predArg.args?.[0]?.name) {
101
+ return { type: 'E', subject: subj, predicate: predArg.args[0].name };
102
+ }
103
+ if (predArg.name)
104
+ return { type: 'A', subject: subj, predicate: predArg.name };
105
+ }
106
+ }
107
+ if (f.kind === 'and' && f.args?.length === 2) {
108
+ const subj = f.args[0].name;
109
+ const predArg = f.args[1];
110
+ if (subj) {
111
+ if (predArg.kind === 'not' && predArg.args?.[0]?.name) {
112
+ return { type: 'O', subject: subj, predicate: predArg.args[0].name };
113
+ }
114
+ if (predArg.name)
115
+ return { type: 'I', subject: subj, predicate: predArg.name };
116
+ }
117
+ }
118
+ return null;
119
+ }
120
+ function extractPredicateName(f) {
121
+ if (f.kind === 'predicate' && f.name)
122
+ return f.name;
123
+ if (f.kind === 'atom' && f.name)
124
+ return f.name;
125
+ return null;
126
+ }
127
+ function categoricalToString(c) {
128
+ switch (c.type) {
129
+ case 'A':
130
+ return `Todo ${c.subject} es ${c.predicate}`;
131
+ case 'E':
132
+ return `Ningún ${c.subject} es ${c.predicate}`;
133
+ case 'I':
134
+ return `Algún ${c.subject} es ${c.predicate}`;
135
+ case 'O':
136
+ return `Algún ${c.subject} no es ${c.predicate}`;
137
+ }
138
+ }
139
+ // ── Validación de silogismos ────────────────────────────────
140
+ function checkSyllogism(premise1, premise2, conclusion) {
141
+ // Determinar el término medio, mayor y menor
142
+ const terms = new Set([
143
+ premise1.subject,
144
+ premise1.predicate,
145
+ premise2.subject,
146
+ premise2.predicate,
147
+ ]);
148
+ // El término medio aparece en ambas premisas pero no en la conclusión
149
+ const middleCandidates = [...terms].filter((t) => (t === premise1.subject || t === premise1.predicate) &&
150
+ (t === premise2.subject || t === premise2.predicate) &&
151
+ t !== conclusion.subject &&
152
+ t !== conclusion.predicate);
153
+ if (middleCandidates.length === 0)
154
+ return null;
155
+ // Intentar match con cada silogismo válido
156
+ for (const syl of VALID_SYLLOGISMS) {
157
+ if (premise1.type === syl.premises[0] &&
158
+ premise2.type === syl.premises[1] &&
159
+ conclusion.type === syl.conclusion) {
160
+ return syl;
161
+ }
162
+ }
163
+ return null;
164
+ }
165
+ // ── Perfil ──────────────────────────────────────────────────
166
+ class AristotelianSyllogistic {
167
+ name = 'aristotelian.syllogistic';
168
+ description = 'Silogística aristotélica — los 24 silogismos categóricos válidos';
169
+ checkWellFormed(formula) {
170
+ const diags = [];
171
+ const cat = extractCategorical(formula);
172
+ if (!cat) {
173
+ diags.push({
174
+ severity: 'warning',
175
+ message: 'No se reconoce como proposición categórica (A/E/I/O). Use forall/exists con predicados.',
176
+ });
177
+ }
178
+ return diags;
179
+ }
180
+ checkValid(formula) {
181
+ // En silogística, "check valid" verifica si es una ley silogística.
182
+ // Patrón: (P1 & P2) -> C donde P1, P2, C son categóricas
183
+ if (formula.kind === 'implies' && formula.args?.length === 2) {
184
+ const premisesF = formula.args[0];
185
+ const conclusionF = formula.args[1];
186
+ const conclusion = extractCategorical(conclusionF);
187
+ if (premisesF.kind === 'and' && premisesF.args?.length === 2 && conclusion) {
188
+ const p1 = extractCategorical(premisesF.args[0]);
189
+ const p2 = extractCategorical(premisesF.args[1]);
190
+ if (p1 && p2) {
191
+ const syl = checkSyllogism(p1, p2, conclusion);
192
+ if (syl) {
193
+ return {
194
+ status: 'valid',
195
+ output: `Silogismo VÁLIDO: ${syl.name} (Figura ${syl.figure})\n ${categoricalToString(p1)}\n ${categoricalToString(p2)}\n ∴ ${categoricalToString(conclusion)}`,
196
+ diagnostics: [],
197
+ formula,
198
+ };
199
+ }
200
+ return {
201
+ status: 'invalid',
202
+ output: `Silogismo NO VÁLIDO\n ${categoricalToString(p1)}\n ${categoricalToString(p2)}\n ∴ ${categoricalToString(conclusion)}\n No corresponde a ningún modo silogístico válido.`,
203
+ diagnostics: [],
204
+ formula,
205
+ };
206
+ }
207
+ }
208
+ }
209
+ return {
210
+ status: 'unknown',
211
+ output: `No se pudo analizar como silogismo: ${(0, propositional_1.formulaToString)(formula)}`,
212
+ diagnostics: [],
213
+ formula,
214
+ };
215
+ }
216
+ checkSatisfiable(formula) {
217
+ const cat = extractCategorical(formula);
218
+ if (cat) {
219
+ // Toda proposición categórica individual es satisfacible
220
+ // (asumiendo dominio no vacío)
221
+ return {
222
+ status: 'satisfiable',
223
+ output: `${categoricalToString(cat)} es satisfacible (dominio no vacío)`,
224
+ diagnostics: [],
225
+ formula,
226
+ };
227
+ }
228
+ return {
229
+ status: 'unknown',
230
+ output: `No se pudo analizar: ${(0, propositional_1.formulaToString)(formula)}`,
231
+ diagnostics: [],
232
+ formula,
233
+ };
234
+ }
235
+ prove(goal, theory) {
236
+ const axioms = Array.from(theory.axioms.entries());
237
+ const conclusion = extractCategorical(goal);
238
+ if (!conclusion || axioms.length < 2) {
239
+ return {
240
+ status: 'unknown',
241
+ output: 'Se necesitan al menos 2 premisas categóricas para un silogismo',
242
+ diagnostics: [],
243
+ formula: goal,
244
+ };
245
+ }
246
+ // Intentar todas las combinaciones de 2 premisas
247
+ for (let i = 0; i < axioms.length; i++) {
248
+ for (let j = 0; j < axioms.length; j++) {
249
+ if (i === j)
250
+ continue;
251
+ const p1 = extractCategorical(axioms[i][1]);
252
+ const p2 = extractCategorical(axioms[j][1]);
253
+ if (p1 && p2) {
254
+ const syl = checkSyllogism(p1, p2, conclusion);
255
+ if (syl) {
256
+ return {
257
+ status: 'provable',
258
+ output: `DEMOSTRADO por ${syl.name} (Figura ${syl.figure})\n [${axioms[i][0]}] ${categoricalToString(p1)}\n [${axioms[j][0]}] ${categoricalToString(p2)}\n ∴ ${categoricalToString(conclusion)}`,
259
+ diagnostics: [],
260
+ formula: goal,
261
+ };
262
+ }
263
+ }
264
+ }
265
+ }
266
+ return {
267
+ status: 'refutable',
268
+ output: `No se encontró silogismo válido para derivar: ${(0, propositional_1.formulaToString)(goal)}`,
269
+ diagnostics: [],
270
+ formula: goal,
271
+ };
272
+ }
273
+ derive(goal, premises, theory) {
274
+ const conclusion = extractCategorical(goal);
275
+ if (!conclusion || premises.length < 2) {
276
+ return {
277
+ status: 'unknown',
278
+ output: 'Se necesitan al menos 2 premisas categóricas',
279
+ diagnostics: [],
280
+ formula: goal,
281
+ };
282
+ }
283
+ const premiseFormulas = [];
284
+ for (const name of premises) {
285
+ const f = theory.axioms.get(name) || theory.theorems.get(name);
286
+ if (!f) {
287
+ return {
288
+ status: 'error',
289
+ output: `Premisa no encontrada: ${name}`,
290
+ diagnostics: [{ severity: 'error', message: `'${name}' no definida` }],
291
+ formula: goal,
292
+ };
293
+ }
294
+ const cat = extractCategorical(f);
295
+ if (cat)
296
+ premiseFormulas.push([name, cat]);
297
+ }
298
+ for (let i = 0; i < premiseFormulas.length; i++) {
299
+ for (let j = 0; j < premiseFormulas.length; j++) {
300
+ if (i === j)
301
+ continue;
302
+ const syl = checkSyllogism(premiseFormulas[i][1], premiseFormulas[j][1], conclusion);
303
+ if (syl) {
304
+ return {
305
+ status: 'provable',
306
+ output: `DERIVADO por ${syl.name} (Figura ${syl.figure})`,
307
+ diagnostics: [],
308
+ formula: goal,
309
+ };
310
+ }
311
+ }
312
+ }
313
+ return {
314
+ status: 'refutable',
315
+ output: `No se puede derivar por silogismo válido`,
316
+ diagnostics: [],
317
+ formula: goal,
318
+ };
319
+ }
320
+ countermodel(formula) {
321
+ const result = this.checkValid(formula);
322
+ return {
323
+ status: result.status === 'valid' ? 'valid' : 'invalid',
324
+ output: result.status === 'valid'
325
+ ? `No hay contramodelo — silogismo válido`
326
+ : `Contramodelo posible — no es un silogismo válido`,
327
+ diagnostics: [],
328
+ formula,
329
+ };
330
+ }
331
+ explain(formula) {
332
+ const cat = extractCategorical(formula);
333
+ let explanation = '';
334
+ if (cat) {
335
+ explanation += `Proposición categórica: ${categoricalToString(cat)} (tipo ${cat.type})\n\n`;
336
+ }
337
+ else {
338
+ explanation += `Fórmula: ${(0, propositional_1.formulaToString)(formula)}\n\n`;
339
+ }
340
+ explanation += [
341
+ 'Sistema: Silogística Aristotélica',
342
+ '',
343
+ 'Proposiciones categóricas:',
344
+ ' A: Todo S es P — ∀x(S(x) → P(x))',
345
+ ' E: Ningún S es P — ∀x(S(x) → ¬P(x))',
346
+ ' I: Algún S es P — ∃x(S(x) ∧ P(x))',
347
+ ' O: Algún S no es P — ∃x(S(x) ∧ ¬P(x))',
348
+ '',
349
+ 'Figuras:',
350
+ ' 1ª: M-P, S-M ⊢ S-P (Barbara, Celarent, Darii, Ferio)',
351
+ ' 2ª: P-M, S-M ⊢ S-P (Cesare, Camestres, Festino, Baroco)',
352
+ ' 3ª: M-P, M-S ⊢ S-P (Darapti, Disamis, Datisi, ...)',
353
+ ' 4ª: P-M, M-S ⊢ S-P (Bramantip, Camenes, Dimaris, ...)',
354
+ ].join('\n');
355
+ return {
356
+ status: 'unknown',
357
+ output: explanation,
358
+ diagnostics: [],
359
+ formula,
360
+ };
361
+ }
362
+ }
363
+ exports.AristotelianSyllogistic = AristotelianSyllogistic;
364
+ //# sourceMappingURL=syllogistic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syllogistic.js","sourceRoot":"","sources":["../../../src/profiles/aristotelian/syllogistic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Formula } from '../../types';
2
+ import { BaseTableauProfile } from '../shared/base-profile';
3
+ export declare class DeonticStandard extends BaseTableauProfile {
4
+ name: string;
5
+ description: string;
6
+ frameRules: import("../shared/tableau-engine").FrameRules;
7
+ formatFormula(f: Formula): string;
8
+ explainSystem(): string;
9
+ }
10
+ //# sourceMappingURL=standard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard.d.ts","sourceRoot":"","sources":["../../../src/profiles/deontic/standard.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,IAAI,SAAsB;IAC1B,WAAW,SAA8F;IACzG,UAAU,gDAAY;IAEtB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;IAIjC,aAAa,IAAI,MAAM;CAaxB"}