@stevenvo780/st-lang 0.3.0 → 0.4.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/README.md +86 -0
- package/dist/api.d.ts +7 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +20 -19
- package/dist/api.js.map +1 -1
- package/dist/ast/nodes.d.ts +1 -0
- package/dist/ast/nodes.d.ts.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +116 -182
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/lexer/lexer.d.ts +3 -0
- package/dist/lexer/lexer.d.ts.map +1 -1
- package/dist/lexer/lexer.js +15 -7
- package/dist/lexer/lexer.js.map +1 -1
- package/dist/lexer/tokens.d.ts +4 -0
- package/dist/lexer/tokens.d.ts.map +1 -1
- package/dist/lexer/tokens.js +28 -21
- package/dist/lexer/tokens.js.map +1 -1
- package/dist/parser/parser.d.ts +4 -0
- package/dist/parser/parser.d.ts.map +1 -1
- package/dist/parser/parser.js +107 -23
- package/dist/parser/parser.js.map +1 -1
- package/dist/profiles/classical/first-order.d.ts +7 -2
- package/dist/profiles/classical/first-order.d.ts.map +1 -1
- package/dist/profiles/classical/first-order.js +144 -29
- package/dist/profiles/classical/first-order.js.map +1 -1
- package/dist/profiles/classical/propositional.d.ts +1 -0
- package/dist/profiles/classical/propositional.d.ts.map +1 -1
- package/dist/profiles/classical/propositional.js +175 -61
- package/dist/profiles/classical/propositional.js.map +1 -1
- package/dist/profiles/interface.d.ts.map +1 -1
- package/dist/profiles/modal/k.d.ts +11 -3
- package/dist/profiles/modal/k.d.ts.map +1 -1
- package/dist/profiles/modal/k.js +305 -11
- package/dist/profiles/modal/k.js.map +1 -1
- package/dist/profiles/paraconsistent/belnap.d.ts +17 -1
- package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
- package/dist/profiles/paraconsistent/belnap.js +195 -11
- package/dist/profiles/paraconsistent/belnap.js.map +1 -1
- package/dist/protocol/handler.d.ts.map +1 -1
- package/dist/protocol/handler.js +208 -22
- package/dist/protocol/handler.js.map +1 -1
- package/dist/repl/repl.d.ts.map +1 -1
- package/dist/repl/repl.js +9 -6
- package/dist/repl/repl.js.map +1 -1
- package/dist/runtime/interpreter.d.ts +4 -2
- package/dist/runtime/interpreter.d.ts.map +1 -1
- package/dist/runtime/interpreter.js +86 -48
- package/dist/runtime/interpreter.js.map +1 -1
- package/dist/tests/cli.test.d.ts +1 -1
- package/dist/tests/cli.test.d.ts.map +1 -1
- package/dist/tests/cli.test.js +112 -115
- package/dist/tests/cli.test.js.map +1 -1
- package/dist/tests/core.test.d.ts +1 -1
- package/dist/tests/core.test.d.ts.map +1 -1
- package/dist/tests/core.test.js +175 -174
- package/dist/tests/core.test.js.map +1 -1
- package/dist/tests/engines.test.d.ts +2 -0
- package/dist/tests/engines.test.d.ts.map +1 -0
- package/dist/tests/engines.test.js +81 -0
- package/dist/tests/engines.test.js.map +1 -0
- package/dist/tests/parser.test.d.ts +1 -1
- package/dist/tests/parser.test.d.ts.map +1 -1
- package/dist/tests/parser.test.js +162 -165
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/philosophy.test.d.ts +2 -0
- package/dist/tests/philosophy.test.d.ts.map +1 -0
- package/dist/tests/philosophy.test.js +588 -0
- package/dist/tests/philosophy.test.js.map +1 -0
- package/dist/text-layer/compiler.d.ts +5 -9
- package/dist/text-layer/compiler.d.ts.map +1 -1
- package/dist/text-layer/compiler.js +6 -4
- package/dist/text-layer/compiler.js.map +1 -1
- package/dist/types/index.d.ts +10 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +24 -7
- package/dist/tests/runner.d.ts +0 -6
- package/dist/tests/runner.d.ts.map +0 -1
- package/dist/tests/runner.js +0 -69
- package/dist/tests/runner.js.map +0 -1
|
@@ -0,0 +1,588 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST — Tests Filosóficos Complejos por Sistema Lógico
|
|
4
|
+
// ============================================================
|
|
5
|
+
// Cada sección formaliza argumentos reales de la historia de la
|
|
6
|
+
// filosofía para validar que el motor funciona correctamente
|
|
7
|
+
// con textos complejos de razonamiento filosófico profundo.
|
|
8
|
+
// ============================================================
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
const vitest_1 = require("vitest");
|
|
11
|
+
const api_1 = require("../api");
|
|
12
|
+
// ────────────────────────────────────────────────────────────────
|
|
13
|
+
// 1. LÓGICA PROPOSICIONAL CLÁSICA
|
|
14
|
+
// ────────────────────────────────────────────────────────────────
|
|
15
|
+
(0, vitest_1.describe)('Filosofía — Lógica Proposicional Clásica', () => {
|
|
16
|
+
// ── Aristóteles: Principio de No-Contradicción ──
|
|
17
|
+
(0, vitest_1.it)('Aristóteles: Principio de No-Contradicción — !(P & !P) es tautología', () => {
|
|
18
|
+
const r = (0, api_1.evaluate)(`
|
|
19
|
+
logic classical.propositional
|
|
20
|
+
|
|
21
|
+
// Metafísica IV, 3-6: "Es imposible que lo mismo se dé y no se dé
|
|
22
|
+
// en lo mismo a la vez y en el mismo sentido"
|
|
23
|
+
// Formalización: !(P & !P) — El PNC es una ley lógica universal
|
|
24
|
+
check valid (!(P & !P))
|
|
25
|
+
`);
|
|
26
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
27
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
28
|
+
});
|
|
29
|
+
// ── Aristóteles: Principio del Tercero Excluido ──
|
|
30
|
+
(0, vitest_1.it)('Aristóteles: Tertium Non Datur — (P | !P) es tautología', () => {
|
|
31
|
+
const r = (0, api_1.evaluate)(`
|
|
32
|
+
logic classical.propositional
|
|
33
|
+
// Metafísica IV, 7: "No es posible que haya nada entre los dos
|
|
34
|
+
// miembros de una contradicción, sino que necesariamente
|
|
35
|
+
// se ha de afirmar o negar uno de ellos."
|
|
36
|
+
check valid (P | !P)
|
|
37
|
+
`);
|
|
38
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
39
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
40
|
+
});
|
|
41
|
+
// ── Estoicos: Modus Ponens ──
|
|
42
|
+
(0, vitest_1.it)('Estoicos: Primer Indemonstrables — Modus Ponens', () => {
|
|
43
|
+
const r = (0, api_1.evaluate)(`
|
|
44
|
+
logic classical.propositional
|
|
45
|
+
// Crisipo, Primer Indemostrable: "Si lo primero, entonces lo segundo;
|
|
46
|
+
// pero lo primero; por tanto, lo segundo."
|
|
47
|
+
// (P -> Q) & P => Q
|
|
48
|
+
axiom premisa_mayor : P -> Q
|
|
49
|
+
axiom premisa_menor : P
|
|
50
|
+
derive Q from {premisa_mayor, premisa_menor}
|
|
51
|
+
`);
|
|
52
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
53
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('provable');
|
|
54
|
+
});
|
|
55
|
+
// ── Estoicos: Modus Tollens ──
|
|
56
|
+
(0, vitest_1.it)('Estoicos: Segundo Indemostrable — Modus Tollens', () => {
|
|
57
|
+
const r = (0, api_1.evaluate)(`
|
|
58
|
+
logic classical.propositional
|
|
59
|
+
// Crisipo, Segundo Indemostrable: "Si lo primero, entonces lo segundo;
|
|
60
|
+
// pero no lo segundo; por tanto, no lo primero."
|
|
61
|
+
check valid ((P -> Q) -> (!Q -> !P))
|
|
62
|
+
`);
|
|
63
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
64
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
65
|
+
});
|
|
66
|
+
// ── Estoicos: Silogismo Disyuntivo ──
|
|
67
|
+
(0, vitest_1.it)('Estoicos: Tercer Indemostrable — Silogismo Disyuntivo', () => {
|
|
68
|
+
const r = (0, api_1.evaluate)(`
|
|
69
|
+
logic classical.propositional
|
|
70
|
+
// "O lo primero o lo segundo; pero no lo primero; por tanto, lo segundo."
|
|
71
|
+
check valid (((P | Q) & !P) -> Q)
|
|
72
|
+
`);
|
|
73
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
74
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
75
|
+
});
|
|
76
|
+
// ── Wittgenstein: Tautología compuesta del Tractatus ──
|
|
77
|
+
(0, vitest_1.it)('Wittgenstein: Tautología compleja — cadena de implicaciones', () => {
|
|
78
|
+
const r = (0, api_1.evaluate)(`
|
|
79
|
+
logic classical.propositional
|
|
80
|
+
// Tractatus 4.461: "La tautología no tiene condiciones de verdad,
|
|
81
|
+
// pues es incondicionalmente verdadera."
|
|
82
|
+
// ((P -> Q) & (Q -> R)) -> (P -> R) — Transitividad del condicional
|
|
83
|
+
check valid (((P -> Q) & (Q -> R)) -> (P -> R))
|
|
84
|
+
`);
|
|
85
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
86
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
87
|
+
});
|
|
88
|
+
// ── Leibniz: Principio de Razón Suficiente (formalización parcial) ──
|
|
89
|
+
(0, vitest_1.it)('Leibniz: Principio de Identidad — (P <-> P) es tautología', () => {
|
|
90
|
+
const r = (0, api_1.evaluate)(`
|
|
91
|
+
logic classical.propositional
|
|
92
|
+
// Monadología §31-32: "Nuestros razonamientos se fundan en dos grandes
|
|
93
|
+
// principios: el de contradicción y el de razón suficiente."
|
|
94
|
+
// El principio de identidad: P <-> P
|
|
95
|
+
check valid (P <-> P)
|
|
96
|
+
`);
|
|
97
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
98
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
99
|
+
});
|
|
100
|
+
// ── Peirce: Ley de Peirce ──
|
|
101
|
+
(0, vitest_1.it)('Peirce: Ley de Peirce — ((P -> Q) -> P) -> P', () => {
|
|
102
|
+
const r = (0, api_1.evaluate)(`
|
|
103
|
+
logic classical.propositional
|
|
104
|
+
// C.S. Peirce (1885): Esta ley es válida clásicamente pero no
|
|
105
|
+
// intuicionistamente, distinguiendo ambas lógicas.
|
|
106
|
+
check valid (((P -> Q) -> P) -> P)
|
|
107
|
+
`);
|
|
108
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
109
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
110
|
+
});
|
|
111
|
+
// ── Tabla de verdad: Análisis de la Paradoja del Condicional Material ──
|
|
112
|
+
(0, vitest_1.it)('Paradoja del Condicional Material — Ex falso quodlibet', () => {
|
|
113
|
+
const r = (0, api_1.evaluate)(`
|
|
114
|
+
logic classical.propositional
|
|
115
|
+
// C.I. Lewis señaló que P -> (Q -> P) es una tautología,
|
|
116
|
+
// lo cual muestra que una verdad se sigue de cualquier cosa.
|
|
117
|
+
check valid (P -> (Q -> P))
|
|
118
|
+
truth_table (P -> (Q -> P))
|
|
119
|
+
`);
|
|
120
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
121
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
122
|
+
(0, vitest_1.expect)(r.results[1].truthTable).toBeDefined();
|
|
123
|
+
(0, vitest_1.expect)(r.results[1].truthTable.isTautology).toBe(true);
|
|
124
|
+
});
|
|
125
|
+
// ── Argumento complejo: Dilema Constructivo ──
|
|
126
|
+
(0, vitest_1.it)('Dilema Constructivo — ((P->Q) & (R->S)) -> ((P|R) -> (Q|S))', () => {
|
|
127
|
+
const r = (0, api_1.evaluate)(`
|
|
128
|
+
logic classical.propositional
|
|
129
|
+
// Forma de argumento clásica usada extensamente en retórica filosófica.
|
|
130
|
+
check valid (((P -> Q) & (R -> S)) -> ((P | R) -> (Q | S)))
|
|
131
|
+
`);
|
|
132
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
133
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
134
|
+
});
|
|
135
|
+
// ── De Morgan: Leyes ──
|
|
136
|
+
(0, vitest_1.it)('De Morgan: !(P & Q) <-> (!P | !Q)', () => {
|
|
137
|
+
const r = (0, api_1.evaluate)(`
|
|
138
|
+
logic classical.propositional
|
|
139
|
+
// Augustus De Morgan (1847): Equivalencias fundamentales
|
|
140
|
+
check valid (!(P & Q) <-> (!P | !Q))
|
|
141
|
+
`);
|
|
142
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
143
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
144
|
+
});
|
|
145
|
+
(0, vitest_1.it)('De Morgan: !(P | Q) <-> (!P & !Q)', () => {
|
|
146
|
+
const r = (0, api_1.evaluate)(`
|
|
147
|
+
logic classical.propositional
|
|
148
|
+
check valid (!(P | Q) <-> (!P & !Q))
|
|
149
|
+
`);
|
|
150
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
151
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
152
|
+
});
|
|
153
|
+
// ── Derivación compleja: Argumento de Descartes ──
|
|
154
|
+
(0, vitest_1.it)('Descartes: Cogito formalizado como cadena deductiva', () => {
|
|
155
|
+
const r = (0, api_1.evaluate)(`
|
|
156
|
+
logic classical.propositional
|
|
157
|
+
// Reconstrucción formal del Cogito:
|
|
158
|
+
// P = "Pienso" (Cogito)
|
|
159
|
+
// D = "Algo que piensa existe" (res cogitans)
|
|
160
|
+
// E = "Existo" (Sum)
|
|
161
|
+
// Si pienso, entonces algo que piensa existe.
|
|
162
|
+
// Si algo que piensa existe, entonces existo.
|
|
163
|
+
// Pienso. Luego, existo.
|
|
164
|
+
axiom cogito : P
|
|
165
|
+
axiom pensar_implica_res_cogitans : P -> D
|
|
166
|
+
axiom res_cogitans_implica_existencia : D -> E
|
|
167
|
+
derive E from {cogito, pensar_implica_res_cogitans, res_cogitans_implica_existencia}
|
|
168
|
+
`);
|
|
169
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
170
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('provable');
|
|
171
|
+
});
|
|
172
|
+
// ── Contraejemplo: Falacia de Afirmación del Consecuente ──
|
|
173
|
+
(0, vitest_1.it)('Falacia de Afirmación del Consecuente — NO es válida', () => {
|
|
174
|
+
const r = (0, api_1.evaluate)(`
|
|
175
|
+
logic classical.propositional
|
|
176
|
+
// Si llueve, el suelo está mojado. El suelo está mojado. ¿Llueve?
|
|
177
|
+
// ((P -> Q) & Q) -> P NO es una tautología (falacia)
|
|
178
|
+
check valid (((P -> Q) & Q) -> P)
|
|
179
|
+
`);
|
|
180
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
181
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
182
|
+
});
|
|
183
|
+
// ── Contraejemplo: Falacia de Negación del Antecedente ──
|
|
184
|
+
(0, vitest_1.it)('Falacia de Negación del Antecedente — NO es válida', () => {
|
|
185
|
+
const r = (0, api_1.evaluate)(`
|
|
186
|
+
logic classical.propositional
|
|
187
|
+
// Si llueve, el suelo está mojado. No llueve. ¿El suelo no está mojado?
|
|
188
|
+
check valid (((P -> Q) & !P) -> !Q)
|
|
189
|
+
`);
|
|
190
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
191
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
// ────────────────────────────────────────────────────────────────
|
|
195
|
+
// 2. LÓGICA MODAL K
|
|
196
|
+
// ────────────────────────────────────────────────────────────────
|
|
197
|
+
(0, vitest_1.describe)('Filosofía — Lógica Modal K', () => {
|
|
198
|
+
// ── Axioma K: Distribución de la Necesidad ──
|
|
199
|
+
(0, vitest_1.it)('Axioma K — [](P -> Q) -> ([]P -> []Q)', () => {
|
|
200
|
+
const r = (0, api_1.evaluate)(`
|
|
201
|
+
logic modal.k
|
|
202
|
+
// El axioma fundamental del sistema K de Kripke:
|
|
203
|
+
// "Si es necesario que P implique Q, entonces si es necesario P,
|
|
204
|
+
// es necesario Q". Distribución de [] sobre ->.
|
|
205
|
+
check valid ([](P -> Q) -> ([]P -> []Q))
|
|
206
|
+
`);
|
|
207
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
208
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
209
|
+
});
|
|
210
|
+
// ── Regla de Necessitación (consecuencia) ──
|
|
211
|
+
(0, vitest_1.it)('Necessitación: tautología bajo [] — [](P -> P)', () => {
|
|
212
|
+
const r = (0, api_1.evaluate)(`
|
|
213
|
+
logic modal.k
|
|
214
|
+
// La regla de necessitación dice: si A es un teorema, entonces []A.
|
|
215
|
+
// Como (P -> P) es tautología, [](P -> P) debe ser válida.
|
|
216
|
+
check valid ([](P -> P))
|
|
217
|
+
`);
|
|
218
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
219
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
220
|
+
});
|
|
221
|
+
// ── Dualidad □/◇ ──
|
|
222
|
+
(0, vitest_1.it)('Dualidad modal: <>P <-> ![]!P', () => {
|
|
223
|
+
const r = (0, api_1.evaluate)(`
|
|
224
|
+
logic modal.k
|
|
225
|
+
// Dualidad fundamental: "Es posible P" equivale a
|
|
226
|
+
// "No es necesario no-P". Análoga a ∃/∀ en FOL.
|
|
227
|
+
check valid (<>P <-> ![]!P)
|
|
228
|
+
`);
|
|
229
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
230
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
231
|
+
});
|
|
232
|
+
// ── Dualidad simétrica ──
|
|
233
|
+
(0, vitest_1.it)('Dualidad modal simétrica: []P <-> !<>!P', () => {
|
|
234
|
+
const r = (0, api_1.evaluate)(`
|
|
235
|
+
logic modal.k
|
|
236
|
+
// El dual: "Es necesario P" equivale a "No es posible no-P".
|
|
237
|
+
check valid ([]P <-> !<>!P)
|
|
238
|
+
`);
|
|
239
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
240
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
241
|
+
});
|
|
242
|
+
// ── No-validez del axioma T en K ──
|
|
243
|
+
(0, vitest_1.it)('Axioma T NO es válido en K: []P -> P', () => {
|
|
244
|
+
const r = (0, api_1.evaluate)(`
|
|
245
|
+
logic modal.k
|
|
246
|
+
// El axioma T (reflexividad) requiere que todo mundo sea accesible
|
|
247
|
+
// a sí mismo. En K puro esto no se asume.
|
|
248
|
+
check valid ([]P -> P)
|
|
249
|
+
`);
|
|
250
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
251
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
252
|
+
});
|
|
253
|
+
// ── No-validez del axioma 4 en K ──
|
|
254
|
+
(0, vitest_1.it)('Axioma 4 NO es válido en K: []P -> [][]P', () => {
|
|
255
|
+
const r = (0, api_1.evaluate)(`
|
|
256
|
+
logic modal.k
|
|
257
|
+
// El axioma 4 (transitividad) requiere que la relación de accesibilidad
|
|
258
|
+
// sea transitiva. En K puro esto no se asume.
|
|
259
|
+
check valid ([]P -> [][]P)
|
|
260
|
+
`);
|
|
261
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
262
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
263
|
+
});
|
|
264
|
+
// ── No-validez del axioma B en K ──
|
|
265
|
+
(0, vitest_1.it)('Axioma B NO es válido en K: P -> []<>P', () => {
|
|
266
|
+
const r = (0, api_1.evaluate)(`
|
|
267
|
+
logic modal.k
|
|
268
|
+
// El axioma B (simetría) requiere que la relación de accesibilidad
|
|
269
|
+
// sea simétrica. En K puro esto no se asume.
|
|
270
|
+
check valid (P -> []<>P)
|
|
271
|
+
`);
|
|
272
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
273
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
274
|
+
});
|
|
275
|
+
// ── Distribución de [] sobre & ──
|
|
276
|
+
(0, vitest_1.it)('Distribución de [] sobre conjunción: [](P & Q) <-> ([]P & []Q)', () => {
|
|
277
|
+
const r = (0, api_1.evaluate)(`
|
|
278
|
+
logic modal.k
|
|
279
|
+
// Teorema válido en K: la necesidad distribuye sobre la conjunción.
|
|
280
|
+
check valid ([](P & Q) <-> ([]P & []Q))
|
|
281
|
+
`);
|
|
282
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
283
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
284
|
+
});
|
|
285
|
+
// ── [] no distribuye sobre disyunción (dirección inversa) ──
|
|
286
|
+
(0, vitest_1.it)('[]P | []Q -> [](P | Q) — válido', () => {
|
|
287
|
+
const r = (0, api_1.evaluate)(`
|
|
288
|
+
logic modal.k
|
|
289
|
+
// Si P es necesario O Q es necesario, entonces (P o Q) es necesario.
|
|
290
|
+
check valid (([]P | []Q) -> [](P | Q))
|
|
291
|
+
`);
|
|
292
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
293
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
294
|
+
});
|
|
295
|
+
(0, vitest_1.it)('[](P | Q) -> ([]P | []Q) — NO válido', () => {
|
|
296
|
+
const r = (0, api_1.evaluate)(`
|
|
297
|
+
logic modal.k
|
|
298
|
+
// La conversa NO vale: que necesariamente (P o Q) no implica
|
|
299
|
+
// que uno de los dos sea necesario individualmente.
|
|
300
|
+
check valid ([](P | Q) -> ([]P | []Q))
|
|
301
|
+
`);
|
|
302
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
303
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
304
|
+
});
|
|
305
|
+
// ── Argumento modal ontológico simplificado ──
|
|
306
|
+
(0, vitest_1.it)('Argumento ontológico modal (Gödel simplificado): premisas modales', () => {
|
|
307
|
+
const r = (0, api_1.evaluate)(`
|
|
308
|
+
logic modal.k
|
|
309
|
+
// Simplificación: Si es posible que sea necesario P, y asumimos K,
|
|
310
|
+
// no podemos concluir P (requiere S5).
|
|
311
|
+
// <>[]P -> P NO es válido en K
|
|
312
|
+
check valid (<>[]P -> P)
|
|
313
|
+
`);
|
|
314
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
315
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
316
|
+
});
|
|
317
|
+
// ── Kripke: Anidamiento modal complejo ──
|
|
318
|
+
(0, vitest_1.it)('Kripke: [](!P -> <>!P) — válido (necesidad de la posibilidad de lo negado)', () => {
|
|
319
|
+
const r = (0, api_1.evaluate)(`
|
|
320
|
+
logic modal.k
|
|
321
|
+
// En K: si no-P es el caso en un mundo, entonces es posible no-P
|
|
322
|
+
// desde ese mundo (reflexividad local). Necesariamente: si no-P, posible no-P.
|
|
323
|
+
// Esto NO es válido porque no tenemos reflexividad.
|
|
324
|
+
check valid ([](!P -> <>!P))
|
|
325
|
+
`);
|
|
326
|
+
// En K sin reflexividad, !P -> <>!P no es válido en general
|
|
327
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
328
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
329
|
+
});
|
|
330
|
+
});
|
|
331
|
+
// ────────────────────────────────────────────────────────────────
|
|
332
|
+
// 3. LÓGICA DE PRIMER ORDEN
|
|
333
|
+
// ────────────────────────────────────────────────────────────────
|
|
334
|
+
(0, vitest_1.describe)('Filosofía — Lógica de Primer Orden', () => {
|
|
335
|
+
// ── Aristóteles: Barbara (Todos los hombres son mortales) ──
|
|
336
|
+
(0, vitest_1.it)('Barbara: (∀x P(x)->Q(x)) & P(a) => Q(a)', () => {
|
|
337
|
+
const r = (0, api_1.evaluate)(`
|
|
338
|
+
logic classical.first_order
|
|
339
|
+
// Silogismo clásico aristotélico (Barbara):
|
|
340
|
+
// Todo hombre es mortal. Sócrates es hombre. Luego Sócrates es mortal.
|
|
341
|
+
// Formalizado: (∀x (Hombre(x) -> Mortal(x))) & Hombre(socrates) => Mortal(socrates)
|
|
342
|
+
check valid ((forall x (P(x) -> Q(x))) -> (P(a) -> Q(a)))
|
|
343
|
+
`);
|
|
344
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
345
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
346
|
+
});
|
|
347
|
+
// ── Instanciación Universal ──
|
|
348
|
+
(0, vitest_1.it)('Instanciación Universal: (∀x P(x)) -> P(a)', () => {
|
|
349
|
+
const r = (0, api_1.evaluate)(`
|
|
350
|
+
logic classical.first_order
|
|
351
|
+
// Regla fundamental: lo que vale para todos, vale para cualquiera.
|
|
352
|
+
check valid ((forall x P(x)) -> P(a))
|
|
353
|
+
`);
|
|
354
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
355
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
356
|
+
});
|
|
357
|
+
// ── Generalización Existencial ──
|
|
358
|
+
(0, vitest_1.it)('Generalización Existencial: P(a) -> (∃x P(x))', () => {
|
|
359
|
+
const r = (0, api_1.evaluate)(`
|
|
360
|
+
logic classical.first_order
|
|
361
|
+
// Si algo es verdadero de 'a', entonces existe algo de lo cual es verdadero.
|
|
362
|
+
check valid (P(a) -> (exists x P(x)))
|
|
363
|
+
`);
|
|
364
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
365
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
366
|
+
});
|
|
367
|
+
// ── Falacia existencial→universal ──
|
|
368
|
+
(0, vitest_1.it)('Falacia: (∃x P(x)) -> (∀x P(x)) — NO válida', () => {
|
|
369
|
+
const r = (0, api_1.evaluate)(`
|
|
370
|
+
logic classical.first_order
|
|
371
|
+
// Que exista algo con propiedad P no implica que todo tenga P.
|
|
372
|
+
// "Algunos cisnes son blancos" no implica "Todos los cisnes son blancos".
|
|
373
|
+
check valid ((exists x P(x)) -> (forall x P(x)))
|
|
374
|
+
`);
|
|
375
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
376
|
+
// FOL puede devolver 'unknown' si no cierra tableau
|
|
377
|
+
(0, vitest_1.expect)(['invalid', 'unknown']).toContain(r.results[0].status);
|
|
378
|
+
});
|
|
379
|
+
// ── Dualidad cuantificadores ──
|
|
380
|
+
(0, vitest_1.it)('Dualidad: (∀x P(x)) -> !(∃x !P(x)) — válida', () => {
|
|
381
|
+
const r = (0, api_1.evaluate)(`
|
|
382
|
+
logic classical.first_order
|
|
383
|
+
// Si todo tiene P, no existe nada sin P.
|
|
384
|
+
check valid ((forall x P(x)) -> !(exists x !P(x)))
|
|
385
|
+
`);
|
|
386
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
387
|
+
// Puede no cerrar tableau en FOL limitado
|
|
388
|
+
(0, vitest_1.expect)(['valid', 'unknown']).toContain(r.results[0].status);
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
// ────────────────────────────────────────────────────────────────
|
|
392
|
+
// 4. LÓGICA PARACONSISTENTE DE BELNAP
|
|
393
|
+
// ────────────────────────────────────────────────────────────────
|
|
394
|
+
(0, vitest_1.describe)('Filosofía — Lógica Paraconsistente (Belnap 4-valued)', () => {
|
|
395
|
+
// ── Belnap: Tolerancia a contradicciones ──
|
|
396
|
+
(0, vitest_1.it)('Belnap: P & !P NO es tautología (no es siempre T/B)', () => {
|
|
397
|
+
const r = (0, api_1.evaluate)(`
|
|
398
|
+
logic paraconsistent.belnap
|
|
399
|
+
// En Belnap, una contradicción P & !P evalúa a:
|
|
400
|
+
// - B (Both) cuando P = B
|
|
401
|
+
// - F cuando P = T, F, o N
|
|
402
|
+
// No es designada (T o B) en todos los casos → no es tautología.
|
|
403
|
+
check valid (P & !P)
|
|
404
|
+
`);
|
|
405
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
406
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
407
|
+
});
|
|
408
|
+
// ── Belnap: Disyunción inclusiva ──
|
|
409
|
+
(0, vitest_1.it)('Belnap: P | !P es satisfacible pero NO tautología', () => {
|
|
410
|
+
const r = (0, api_1.evaluate)(`
|
|
411
|
+
logic paraconsistent.belnap
|
|
412
|
+
// En lógica clásica, P | !P es siempre verdadero.
|
|
413
|
+
// En Belnap, si P = N (None), entonces P | !P = N | N = N,
|
|
414
|
+
// que no es designado. Por tanto NO es tautología en Belnap.
|
|
415
|
+
check valid (P | !P)
|
|
416
|
+
`);
|
|
417
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
418
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
419
|
+
});
|
|
420
|
+
(0, vitest_1.it)('Belnap: P | !P es satisfacible', () => {
|
|
421
|
+
const r = (0, api_1.evaluate)(`
|
|
422
|
+
logic paraconsistent.belnap
|
|
423
|
+
check satisfiable (P | !P)
|
|
424
|
+
`);
|
|
425
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
426
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('satisfiable');
|
|
427
|
+
});
|
|
428
|
+
// ── Belnap: Explosión controlada ──
|
|
429
|
+
(0, vitest_1.it)('Belnap: Ex Falso Quodlibet FALLA — (P & !P) -> Q no es tautología', () => {
|
|
430
|
+
const r = (0, api_1.evaluate)(`
|
|
431
|
+
logic paraconsistent.belnap
|
|
432
|
+
// En lógica clásica, de una contradicción se sigue cualquier cosa.
|
|
433
|
+
// En Belnap, esto FALLA: la contradicción no "explota" el sistema.
|
|
434
|
+
// Si P = B, entonces P & !P = B, y B -> Q depende de Q.
|
|
435
|
+
// Si Q = F, entonces B -> F = (no-B | F) = (B | F) = B,
|
|
436
|
+
// que es designado... pero si Q = N, B -> N = (B | N) = T.
|
|
437
|
+
// Hay que verificar todos los 16 casos.
|
|
438
|
+
check valid ((P & !P) -> Q)
|
|
439
|
+
`);
|
|
440
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
441
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
442
|
+
});
|
|
443
|
+
// ── Priest / Belnap: Información inconsistente pero útil ──
|
|
444
|
+
(0, vitest_1.it)('Belnap: Ex Falso no explota — (P & !P) -> Q no preserva designación', () => {
|
|
445
|
+
const r = (0, api_1.evaluate)(`
|
|
446
|
+
logic paraconsistent.belnap
|
|
447
|
+
// En Belnap, la inferencia de premisas contradictorias a cualquier Q
|
|
448
|
+
// NO es válida: (P & !P) -> Q no siempre da valor designado.
|
|
449
|
+
// Esto es BUENO: Belnap tolera contradicciones sin explosión.
|
|
450
|
+
// Si P=B, Q=N: (B & B) -> N = B -> N = (!B | N) = (B | N) = T (designado)
|
|
451
|
+
// Pero si P=T, Q=F: (T & F) -> F = F -> F = (!F | F) = (T | F) = T
|
|
452
|
+
// Revisemos con prove: la prueba falla porque la implicación material no preserva.
|
|
453
|
+
axiom fuente1 : P
|
|
454
|
+
axiom fuente2 : !P
|
|
455
|
+
axiom dato_independiente : Q
|
|
456
|
+
prove Q from {fuente1, fuente2, dato_independiente}
|
|
457
|
+
`);
|
|
458
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
459
|
+
// En Belnap prove, se evalúa (premisas -> goal) con 4 valores.
|
|
460
|
+
// La conjunción de los axiomas no siempre implica Q designadamente.
|
|
461
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('refutable');
|
|
462
|
+
});
|
|
463
|
+
// ── Belnap: Implicación material con None ──
|
|
464
|
+
(0, vitest_1.it)('Belnap: (P -> P) NO es tautología (N -> N = N, no designado)', () => {
|
|
465
|
+
const r = (0, api_1.evaluate)(`
|
|
466
|
+
logic paraconsistent.belnap
|
|
467
|
+
// En Belnap, P -> P = !P | P.
|
|
468
|
+
// Si P = N (None): !N = N, N | N = N, que NO es designado.
|
|
469
|
+
// Por tanto P -> P NO es tautología en Belnap 4-valued.
|
|
470
|
+
check valid (P -> P)
|
|
471
|
+
`);
|
|
472
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
473
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
474
|
+
});
|
|
475
|
+
// ── Belnap: Contrapositiva no vale completamente ──
|
|
476
|
+
(0, vitest_1.it)('Belnap: check valid del condicional material devuelve truthTable', () => {
|
|
477
|
+
const r = (0, api_1.evaluate)(`
|
|
478
|
+
logic paraconsistent.belnap
|
|
479
|
+
// El condicional material en Belnap NO es tautología.
|
|
480
|
+
// Usamos check valid que internamente genera la tabla Belnap.
|
|
481
|
+
check valid (P -> Q)
|
|
482
|
+
`);
|
|
483
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
484
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
485
|
+
// checkValid de Belnap devuelve la tabla de verdad en el resultado
|
|
486
|
+
(0, vitest_1.expect)(r.results[0].truthTable).toBeDefined();
|
|
487
|
+
// 4 valores × 4 valores = 16 filas
|
|
488
|
+
(0, vitest_1.expect)(r.results[0].truthTable.rows.length).toBe(16);
|
|
489
|
+
});
|
|
490
|
+
});
|
|
491
|
+
// ────────────────────────────────────────────────────────────────
|
|
492
|
+
// 5. TESTS MULTI-SISTEMA — Argumentos filosóficos extensos
|
|
493
|
+
// ────────────────────────────────────────────────────────────────
|
|
494
|
+
(0, vitest_1.describe)('Filosofía — Argumentos Extensos Multi-paso', () => {
|
|
495
|
+
// ── Kant: Estructura del Imperativo Categórico (formalización) ──
|
|
496
|
+
(0, vitest_1.it)('Kant: Cadena deductiva del Imperativo Categórico', () => {
|
|
497
|
+
const r = (0, api_1.evaluate)(`
|
|
498
|
+
logic classical.propositional
|
|
499
|
+
// Fundamentación de la Metafísica de las Costumbres (1785):
|
|
500
|
+
// U = "La máxima es universalizable"
|
|
501
|
+
// D = "Es deber moral"
|
|
502
|
+
// A = "La acción es moralmente permisible"
|
|
503
|
+
//
|
|
504
|
+
// Si universalizable, entonces deber. Si deber, entonces permisible.
|
|
505
|
+
// Conclusión: Si universalizable, entonces permisible. (Transitividad)
|
|
506
|
+
check valid (((U -> D) & (D -> A)) -> (U -> A))
|
|
507
|
+
`);
|
|
508
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
509
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
510
|
+
});
|
|
511
|
+
// ── Hume: Problema de la Inducción ──
|
|
512
|
+
(0, vitest_1.it)('Hume: Falacia inductiva — lo particular no implica lo universal', () => {
|
|
513
|
+
const r = (0, api_1.evaluate)(`
|
|
514
|
+
logic classical.propositional
|
|
515
|
+
// Hume, Tratado de la Naturaleza Humana (1739):
|
|
516
|
+
// Que hayamos observado N casos de (P -> Q) no garantiza el caso N+1.
|
|
517
|
+
// Formalización simplificada: (P1 -> Q1) & (P2 -> Q2) no implica (P3 -> Q3)
|
|
518
|
+
check valid (((A -> B) & (C -> D)) -> (E -> F))
|
|
519
|
+
`);
|
|
520
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
521
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('invalid');
|
|
522
|
+
});
|
|
523
|
+
// ── Russell: Paradoja del Barbero (estructura lógica) ──
|
|
524
|
+
(0, vitest_1.it)('Russell: Estructura auto-referencial — (P <-> !P) es contradicción', () => {
|
|
525
|
+
const r = (0, api_1.evaluate)(`
|
|
526
|
+
logic classical.propositional
|
|
527
|
+
// La paradoja de Russell muestra que (P <-> !P) es insatisfacible:
|
|
528
|
+
// "El barbero afeita a todos los que no se afeitan a sí mismos"
|
|
529
|
+
// Si el barbero se afeita: no debería. Si no: debería. Contradicción.
|
|
530
|
+
check satisfiable (P <-> !P)
|
|
531
|
+
`);
|
|
532
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
533
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('unsatisfiable');
|
|
534
|
+
});
|
|
535
|
+
// ── Gödel-Henkin: Completitud (meta-propiedad demostrada formalmente) ──
|
|
536
|
+
(0, vitest_1.it)('Completitud proposicional: toda tautología es derivable', () => {
|
|
537
|
+
const r = (0, api_1.evaluate)(`
|
|
538
|
+
logic classical.propositional
|
|
539
|
+
// Verificamos varias tautologías clásicas conocidas:
|
|
540
|
+
check valid ((P -> (Q -> R)) -> ((P -> Q) -> (P -> R)))
|
|
541
|
+
`);
|
|
542
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
543
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
544
|
+
});
|
|
545
|
+
// ── Frege: Axioma 1 del Begriffsschrift ──
|
|
546
|
+
(0, vitest_1.it)('Frege: Axioma 1 del Begriffsschrift — P -> (Q -> P)', () => {
|
|
547
|
+
const r = (0, api_1.evaluate)(`
|
|
548
|
+
logic classical.propositional
|
|
549
|
+
// Gottlob Frege, Begriffsschrift (1879), Axioma 1:
|
|
550
|
+
// "Lo verdadero es implicado por cualquier cosa."
|
|
551
|
+
check valid (P -> (Q -> P))
|
|
552
|
+
`);
|
|
553
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
554
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
555
|
+
});
|
|
556
|
+
// ── Frege: Axioma 2 del Begriffsschrift ──
|
|
557
|
+
(0, vitest_1.it)('Frege: Axioma 2 — distribución del condicional', () => {
|
|
558
|
+
const r = (0, api_1.evaluate)(`
|
|
559
|
+
logic classical.propositional
|
|
560
|
+
// Frege, Begriffsschrift, Axioma 2:
|
|
561
|
+
// (P -> (Q -> R)) -> ((P -> Q) -> (P -> R))
|
|
562
|
+
check valid ((P -> (Q -> R)) -> ((P -> Q) -> (P -> R)))
|
|
563
|
+
`);
|
|
564
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
565
|
+
(0, vitest_1.expect)(r.results[0].status).toBe('valid');
|
|
566
|
+
});
|
|
567
|
+
// ── Test combinado extenso: Múltiples operaciones ──
|
|
568
|
+
(0, vitest_1.it)('Combinado: axiomas + derivaciones + tablas + checks en una sesión', () => {
|
|
569
|
+
const r = (0, api_1.evaluate)(`
|
|
570
|
+
logic classical.propositional
|
|
571
|
+
|
|
572
|
+
// Definir una teoría filosófica completa
|
|
573
|
+
axiom determinismo : D -> C
|
|
574
|
+
axiom libre_albedrio : L -> !C
|
|
575
|
+
axiom compatibilismo : D & L
|
|
576
|
+
|
|
577
|
+
// Verificar consecuencias
|
|
578
|
+
derive C from {determinismo, compatibilismo}
|
|
579
|
+
truth_table (D & L)
|
|
580
|
+
|
|
581
|
+
// El compatibilismo lleva a contradicción con estas premisas
|
|
582
|
+
check valid ((D -> C) -> ((L -> !C) -> !(D & L)))
|
|
583
|
+
`);
|
|
584
|
+
(0, vitest_1.expect)(r.ok).toBe(true);
|
|
585
|
+
(0, vitest_1.expect)(r.results.length).toBeGreaterThanOrEqual(2);
|
|
586
|
+
});
|
|
587
|
+
});
|
|
588
|
+
//# sourceMappingURL=philosophy.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"philosophy.test.js","sourceRoot":"","sources":["../../src/tests/philosophy.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
supports: Support[];
|
|
7
|
-
confidences: Confidence[];
|
|
8
|
-
contexts: Context[];
|
|
9
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* ST Text Layer — Compilador texto -> formula/claim
|
|
3
|
+
*/
|
|
4
|
+
import { Anchor, Formula, Theory, Diagnostic, TextLayerState } from '../types';
|
|
5
|
+
export type { TextLayerState };
|
|
10
6
|
export declare function createTextLayerState(): TextLayerState;
|
|
11
7
|
export declare function parseAnchorPath(raw: string): Anchor;
|
|
12
8
|
export declare function registerPassage(state: TextLayerState, name: string, anchorPath: string): Diagnostic[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/text-layer/compiler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/text-layer/compiler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/E,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,wBAAgB,oBAAoB,IAAI,cAAc,CASrD;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAcnD;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,UAAU,EAAE,CAId;AAGD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACf,UAAU,EAAE,CAYd;AAGD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,UAAU,EAAE,CAgBd;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,UAAU,EAAE,CAmBd;AAGD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,UAAU,EAAE,CAyBd;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,UAAU,EAAE,CAkBd;AAGD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAqBzF"}
|