@stevenvo780/st-lang 0.4.0 → 1.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 (96) hide show
  1. package/dist/api.d.ts +8 -1
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +10 -2
  4. package/dist/api.js.map +1 -1
  5. package/dist/ast/nodes.d.ts +31 -3
  6. package/dist/ast/nodes.d.ts.map +1 -1
  7. package/dist/cli/index.js +1 -1
  8. package/dist/index.d.ts +3 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +8 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/lexer/lexer.d.ts +1 -0
  13. package/dist/lexer/lexer.d.ts.map +1 -1
  14. package/dist/lexer/lexer.js +34 -0
  15. package/dist/lexer/lexer.js.map +1 -1
  16. package/dist/lexer/tokens.d.ts +9 -0
  17. package/dist/lexer/tokens.d.ts.map +1 -1
  18. package/dist/lexer/tokens.js +51 -0
  19. package/dist/lexer/tokens.js.map +1 -1
  20. package/dist/parser/parser.d.ts +5 -0
  21. package/dist/parser/parser.d.ts.map +1 -1
  22. package/dist/parser/parser.js +209 -8
  23. package/dist/parser/parser.js.map +1 -1
  24. package/dist/profiles/aristotelian/syllogistic.d.ts +13 -0
  25. package/dist/profiles/aristotelian/syllogistic.d.ts.map +1 -0
  26. package/dist/profiles/aristotelian/syllogistic.js +364 -0
  27. package/dist/profiles/aristotelian/syllogistic.js.map +1 -0
  28. package/dist/profiles/classical/propositional.d.ts.map +1 -1
  29. package/dist/profiles/classical/propositional.js +10 -0
  30. package/dist/profiles/classical/propositional.js.map +1 -1
  31. package/dist/profiles/deontic/standard.d.ts +10 -0
  32. package/dist/profiles/deontic/standard.d.ts.map +1 -0
  33. package/dist/profiles/deontic/standard.js +74 -0
  34. package/dist/profiles/deontic/standard.js.map +1 -0
  35. package/dist/profiles/epistemic/s5.d.ts +10 -0
  36. package/dist/profiles/epistemic/s5.d.ts.map +1 -0
  37. package/dist/profiles/epistemic/s5.js +70 -0
  38. package/dist/profiles/epistemic/s5.js.map +1 -0
  39. package/dist/profiles/index.d.ts +13 -0
  40. package/dist/profiles/index.d.ts.map +1 -0
  41. package/dist/profiles/index.js +58 -0
  42. package/dist/profiles/index.js.map +1 -0
  43. package/dist/profiles/intuitionistic/propositional.d.ts +14 -0
  44. package/dist/profiles/intuitionistic/propositional.d.ts.map +1 -0
  45. package/dist/profiles/intuitionistic/propositional.js +377 -0
  46. package/dist/profiles/intuitionistic/propositional.js.map +1 -0
  47. package/dist/profiles/modal/k.d.ts +8 -19
  48. package/dist/profiles/modal/k.d.ts.map +1 -1
  49. package/dist/profiles/modal/k.js +49 -320
  50. package/dist/profiles/modal/k.js.map +1 -1
  51. package/dist/profiles/probabilistic/basic.d.ts +17 -0
  52. package/dist/profiles/probabilistic/basic.d.ts.map +1 -0
  53. package/dist/profiles/probabilistic/basic.js +295 -0
  54. package/dist/profiles/probabilistic/basic.js.map +1 -0
  55. package/dist/profiles/shared/base-profile.d.ts +19 -0
  56. package/dist/profiles/shared/base-profile.d.ts.map +1 -0
  57. package/dist/profiles/shared/base-profile.js +127 -0
  58. package/dist/profiles/shared/base-profile.js.map +1 -0
  59. package/dist/profiles/shared/tableau-engine.d.ts +66 -0
  60. package/dist/profiles/shared/tableau-engine.d.ts.map +1 -0
  61. package/dist/profiles/shared/tableau-engine.js +503 -0
  62. package/dist/profiles/shared/tableau-engine.js.map +1 -0
  63. package/dist/profiles/temporal/ltl.d.ts +10 -0
  64. package/dist/profiles/temporal/ltl.d.ts.map +1 -0
  65. package/dist/profiles/temporal/ltl.js +85 -0
  66. package/dist/profiles/temporal/ltl.js.map +1 -0
  67. package/dist/protocol/handler.d.ts.map +1 -1
  68. package/dist/protocol/handler.js +228 -0
  69. package/dist/protocol/handler.js.map +1 -1
  70. package/dist/repl/repl.d.ts.map +1 -1
  71. package/dist/repl/repl.js +17 -7
  72. package/dist/repl/repl.js.map +1 -1
  73. package/dist/runtime/fallacies.d.ts +21 -0
  74. package/dist/runtime/fallacies.d.ts.map +1 -0
  75. package/dist/runtime/fallacies.js +235 -0
  76. package/dist/runtime/fallacies.js.map +1 -0
  77. package/dist/runtime/format.d.ts +6 -0
  78. package/dist/runtime/format.d.ts.map +1 -0
  79. package/dist/runtime/format.js +125 -0
  80. package/dist/runtime/format.js.map +1 -0
  81. package/dist/runtime/interpreter.d.ts +6 -0
  82. package/dist/runtime/interpreter.d.ts.map +1 -1
  83. package/dist/runtime/interpreter.js +216 -21
  84. package/dist/runtime/interpreter.js.map +1 -1
  85. package/dist/tests/philosophy.test.js.map +1 -1
  86. package/dist/tests/profiles.test.d.ts +2 -0
  87. package/dist/tests/profiles.test.d.ts.map +1 -0
  88. package/dist/tests/profiles.test.js +250 -0
  89. package/dist/tests/profiles.test.js.map +1 -0
  90. package/dist/tests/v1-features.test.d.ts +2 -0
  91. package/dist/tests/v1-features.test.d.ts.map +1 -0
  92. package/dist/tests/v1-features.test.js +544 -0
  93. package/dist/tests/v1-features.test.js.map +1 -0
  94. package/dist/types/index.d.ts +1 -1
  95. package/dist/types/index.d.ts.map +1 -1
  96. package/package.json +2 -1
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"propositional.d.ts","sourceRoot":"","sources":["../../../src/profiles/classical/propositional.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,YAAY,EACZ,gBAAgB,EAKjB,MAAM,aAAa,CAAC;AAsErB,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CA6BlD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAqEzC;AA0UD,qBAAa,sBAAuB,YAAW,YAAY;IACzD,IAAI,SAA6B;IACjC,WAAW,SACgG;IAE3G,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE;IAkD/C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IA6BvC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IA4B7C,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IA2B/C,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IA0BpE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IA6BzC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAyBpC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;IAkB9C,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS;CA2BnD"}
1
+ {"version":3,"file":"propositional.d.ts","sourceRoot":"","sources":["../../../src/profiles/classical/propositional.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,YAAY,EACZ,gBAAgB,EAKjB,MAAM,aAAa,CAAC;AAsErB,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAuClD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAqEzC;AA0UD,qBAAa,sBAAuB,YAAW,YAAY;IACzD,IAAI,SAA6B;IACjC,WAAW,SACgG;IAE3G,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE;IAkD/C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IA6BvC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IA4B7C,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IA2B/C,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IA0BpE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IA6BzC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAyBpC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;IAkB9C,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS;CA2BnD"}
@@ -99,6 +99,16 @@ function formulaToString(f) {
99
99
  return f.args && f.args[0] && f.args[1]
100
100
  ? `(${formulaToString(f.args[0])} <-> ${formulaToString(f.args[1])})`
101
101
  : '? <-> ?';
102
+ case 'equals':
103
+ return f.args && f.args[0] && f.args[1]
104
+ ? `(${formulaToString(f.args[0])} = ${formulaToString(f.args[1])})`
105
+ : '? = ?';
106
+ case 'temporal_next':
107
+ return f.args?.[0] ? `X(${formulaToString(f.args[0])})` : 'X(?)';
108
+ case 'temporal_until':
109
+ return f.args && f.args[0] && f.args[1]
110
+ ? `(${formulaToString(f.args[0])} U ${formulaToString(f.args[1])})`
111
+ : '? U ?';
102
112
  default:
103
113
  return '?';
104
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"propositional.js","sourceRoot":"","sources":["../../../src/profiles/classical/propositional.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propositional.js","sourceRoot":"","sources":["../../../src/profiles/classical/propositional.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,SACkF;IAC7F,UAAU,gDAAY;IAEtB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;IAIjC,aAAa,IAAI,MAAM;CAaxB"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Deontic Standard — KD sobre BaseTableauProfile
4
+ // ============================================================
5
+ // O(φ) = [](φ) — obligación
6
+ // P(φ) = <>(φ) — permisión
7
+ // F(φ) = [](!φ) — prohibición
8
+ // Axioma D: O(φ) → P(φ) — serialidad
9
+ // ============================================================
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.DeonticStandard = void 0;
12
+ const propositional_1 = require("../classical/propositional");
13
+ const base_profile_1 = require("../shared/base-profile");
14
+ const tableau_engine_1 = require("../shared/tableau-engine");
15
+ class DeonticStandard extends base_profile_1.BaseTableauProfile {
16
+ name = 'deontic.standard';
17
+ description = 'Lógica deóntica estándar (KD) — obligación (O/[]), permisión (P/<>), prohibición (F/[]!)';
18
+ frameRules = tableau_engine_1.FRAME_KD;
19
+ formatFormula(f) {
20
+ return deonticToString(f);
21
+ }
22
+ explainSystem() {
23
+ return [
24
+ 'Operadores deónticos:',
25
+ ' O(φ) = [](φ) — "Es obligatorio que φ"',
26
+ ' P(φ) = <>(φ) — "Está permitido que φ"',
27
+ ' F(φ) = [](!φ) — "Está prohibido que φ"',
28
+ '',
29
+ 'Sistema: KD (K + axioma D)',
30
+ ' Axioma K: O(φ→ψ) → (O(φ)→O(ψ))',
31
+ ' Axioma D: O(φ) → P(φ) — "lo obligatorio es permisible"',
32
+ ' Serialidad: todo mundo tiene al menos un mundo accesible',
33
+ ].join('\n');
34
+ }
35
+ }
36
+ exports.DeonticStandard = DeonticStandard;
37
+ function deonticToString(f) {
38
+ switch (f.kind) {
39
+ case 'modal_necessity': {
40
+ const inner = (f.args || [])[0];
41
+ if (!inner)
42
+ return 'O(?)';
43
+ if (inner.kind === 'not' && inner.args?.[0]) {
44
+ return `F(${deonticToString(inner.args[0])})`;
45
+ }
46
+ return `O(${deonticToString(inner)})`;
47
+ }
48
+ case 'modal_possibility': {
49
+ const inner = (f.args || [])[0];
50
+ return inner ? `P(${deonticToString(inner)})` : 'P(?)';
51
+ }
52
+ case 'atom':
53
+ return f.name || '?';
54
+ case 'not': {
55
+ const inner = (f.args || [])[0];
56
+ if (!inner)
57
+ return '¬?';
58
+ if (inner.kind === 'atom')
59
+ return `¬${deonticToString(inner)}`;
60
+ return `¬(${deonticToString(inner)})`;
61
+ }
62
+ case 'and':
63
+ return `(${deonticToString((f.args || [])[0])} ∧ ${deonticToString((f.args || [])[1])})`;
64
+ case 'or':
65
+ return `(${deonticToString((f.args || [])[0])} ∨ ${deonticToString((f.args || [])[1])})`;
66
+ case 'implies':
67
+ return `(${deonticToString((f.args || [])[0])} → ${deonticToString((f.args || [])[1])})`;
68
+ case 'biconditional':
69
+ return `(${deonticToString((f.args || [])[0])} ↔ ${deonticToString((f.args || [])[1])})`;
70
+ default:
71
+ return (0, propositional_1.formulaToString)(f);
72
+ }
73
+ }
74
+ //# sourceMappingURL=standard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard.js","sourceRoot":"","sources":["../../../src/profiles/deontic/standard.ts"],"names":[],"mappings":"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"}