@stevenvo780/st-lang 4.5.2 → 4.6.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 (185) hide show
  1. package/dist/categorical/fin-set.d.ts +39 -0
  2. package/dist/categorical/fin-set.d.ts.map +1 -0
  3. package/dist/categorical/fin-set.js +217 -0
  4. package/dist/categorical/fin-set.js.map +1 -0
  5. package/dist/categorical/free.d.ts +23 -0
  6. package/dist/categorical/free.d.ts.map +1 -0
  7. package/dist/categorical/free.js +168 -0
  8. package/dist/categorical/free.js.map +1 -0
  9. package/dist/categorical/functor.d.ts +40 -0
  10. package/dist/categorical/functor.d.ts.map +1 -0
  11. package/dist/categorical/functor.js +139 -0
  12. package/dist/categorical/functor.js.map +1 -0
  13. package/dist/categorical/index.d.ts +11 -0
  14. package/dist/categorical/index.d.ts.map +1 -0
  15. package/dist/categorical/index.js +33 -0
  16. package/dist/categorical/index.js.map +1 -0
  17. package/dist/categorical/limits.d.ts +64 -0
  18. package/dist/categorical/limits.d.ts.map +1 -0
  19. package/dist/categorical/limits.js +248 -0
  20. package/dist/categorical/limits.js.map +1 -0
  21. package/dist/categorical/monoidal.d.ts +14 -0
  22. package/dist/categorical/monoidal.d.ts.map +1 -0
  23. package/dist/categorical/monoidal.js +148 -0
  24. package/dist/categorical/monoidal.js.map +1 -0
  25. package/dist/categorical/poset.d.ts +14 -0
  26. package/dist/categorical/poset.d.ts.map +1 -0
  27. package/dist/categorical/poset.js +115 -0
  28. package/dist/categorical/poset.js.map +1 -0
  29. package/dist/categorical/types.d.ts +111 -0
  30. package/dist/categorical/types.d.ts.map +1 -0
  31. package/dist/categorical/types.js +15 -0
  32. package/dist/categorical/types.js.map +1 -0
  33. package/dist/csp-hoare/analysis.d.ts +51 -0
  34. package/dist/csp-hoare/analysis.d.ts.map +1 -0
  35. package/dist/csp-hoare/analysis.js +317 -0
  36. package/dist/csp-hoare/analysis.js.map +1 -0
  37. package/dist/csp-hoare/examples.d.ts +33 -0
  38. package/dist/csp-hoare/examples.d.ts.map +1 -0
  39. package/dist/csp-hoare/examples.js +108 -0
  40. package/dist/csp-hoare/examples.js.map +1 -0
  41. package/dist/csp-hoare/index.d.ts +6 -0
  42. package/dist/csp-hoare/index.d.ts.map +1 -0
  43. package/dist/csp-hoare/index.js +50 -0
  44. package/dist/csp-hoare/index.js.map +1 -0
  45. package/dist/csp-hoare/semantics.d.ts +49 -0
  46. package/dist/csp-hoare/semantics.d.ts.map +1 -0
  47. package/dist/csp-hoare/semantics.js +494 -0
  48. package/dist/csp-hoare/semantics.js.map +1 -0
  49. package/dist/csp-hoare/types.d.ts +60 -0
  50. package/dist/csp-hoare/types.d.ts.map +1 -0
  51. package/dist/csp-hoare/types.js +31 -0
  52. package/dist/csp-hoare/types.js.map +1 -0
  53. package/dist/hindley-milner/index.d.ts +7 -0
  54. package/dist/hindley-milner/index.d.ts.map +1 -0
  55. package/dist/hindley-milner/index.js +60 -0
  56. package/dist/hindley-milner/index.js.map +1 -0
  57. package/dist/hindley-milner/infer.d.ts +26 -0
  58. package/dist/hindley-milner/infer.d.ts.map +1 -0
  59. package/dist/hindley-milner/infer.js +278 -0
  60. package/dist/hindley-milner/infer.js.map +1 -0
  61. package/dist/hindley-milner/substitution.d.ts +21 -0
  62. package/dist/hindley-milner/substitution.d.ts.map +1 -0
  63. package/dist/hindley-milner/substitution.js +215 -0
  64. package/dist/hindley-milner/substitution.js.map +1 -0
  65. package/dist/hindley-milner/types.d.ts +84 -0
  66. package/dist/hindley-milner/types.d.ts.map +1 -0
  67. package/dist/hindley-milner/types.js +166 -0
  68. package/dist/hindley-milner/types.js.map +1 -0
  69. package/dist/hott/equality.d.ts +4 -0
  70. package/dist/hott/equality.d.ts.map +1 -0
  71. package/dist/hott/equality.js +108 -0
  72. package/dist/hott/equality.js.map +1 -0
  73. package/dist/hott/index.d.ts +13 -0
  74. package/dist/hott/index.d.ts.map +1 -0
  75. package/dist/hott/index.js +77 -0
  76. package/dist/hott/index.js.map +1 -0
  77. package/dist/hott/infer.d.ts +11 -0
  78. package/dist/hott/infer.d.ts.map +1 -0
  79. package/dist/hott/infer.js +465 -0
  80. package/dist/hott/infer.js.map +1 -0
  81. package/dist/hott/normalize.d.ts +5 -0
  82. package/dist/hott/normalize.d.ts.map +1 -0
  83. package/dist/hott/normalize.js +240 -0
  84. package/dist/hott/normalize.js.map +1 -0
  85. package/dist/hott/path-algebra.d.ts +25 -0
  86. package/dist/hott/path-algebra.d.ts.map +1 -0
  87. package/dist/hott/path-algebra.js +67 -0
  88. package/dist/hott/path-algebra.js.map +1 -0
  89. package/dist/hott/substitute.d.ts +3 -0
  90. package/dist/hott/substitute.d.ts.map +1 -0
  91. package/dist/hott/substitute.js +131 -0
  92. package/dist/hott/substitute.js.map +1 -0
  93. package/dist/hott/types.d.ts +126 -0
  94. package/dist/hott/types.d.ts.map +1 -0
  95. package/dist/hott/types.js +346 -0
  96. package/dist/hott/types.js.map +1 -0
  97. package/dist/index.d.ts +7 -0
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +48 -3
  100. package/dist/index.js.map +1 -1
  101. package/dist/lemma-synthesis/index.d.ts +124 -0
  102. package/dist/lemma-synthesis/index.d.ts.map +1 -0
  103. package/dist/lemma-synthesis/index.js +640 -0
  104. package/dist/lemma-synthesis/index.js.map +1 -0
  105. package/dist/tactic-dsl/combinators.d.ts +6 -0
  106. package/dist/tactic-dsl/combinators.d.ts.map +1 -0
  107. package/dist/tactic-dsl/combinators.js +98 -0
  108. package/dist/tactic-dsl/combinators.js.map +1 -0
  109. package/dist/tactic-dsl/index.d.ts +39 -0
  110. package/dist/tactic-dsl/index.d.ts.map +1 -0
  111. package/dist/tactic-dsl/index.js +162 -0
  112. package/dist/tactic-dsl/index.js.map +1 -0
  113. package/dist/tactic-dsl/tactics.d.ts +21 -0
  114. package/dist/tactic-dsl/tactics.d.ts.map +1 -0
  115. package/dist/tactic-dsl/tactics.js +536 -0
  116. package/dist/tactic-dsl/tactics.js.map +1 -0
  117. package/dist/tactic-dsl/types.d.ts +54 -0
  118. package/dist/tactic-dsl/types.d.ts.map +1 -0
  119. package/dist/tactic-dsl/types.js +226 -0
  120. package/dist/tactic-dsl/types.js.map +1 -0
  121. package/dist/tests/categorical/categorical.test.d.ts +2 -0
  122. package/dist/tests/categorical/categorical.test.d.ts.map +1 -0
  123. package/dist/tests/categorical/categorical.test.js +300 -0
  124. package/dist/tests/categorical/categorical.test.js.map +1 -0
  125. package/dist/tests/csp-hoare/csp-hoare.test.d.ts +2 -0
  126. package/dist/tests/csp-hoare/csp-hoare.test.d.ts.map +1 -0
  127. package/dist/tests/csp-hoare/csp-hoare.test.js +313 -0
  128. package/dist/tests/csp-hoare/csp-hoare.test.js.map +1 -0
  129. package/dist/tests/hindley-milner/hindley-milner.test.d.ts +2 -0
  130. package/dist/tests/hindley-milner/hindley-milner.test.d.ts.map +1 -0
  131. package/dist/tests/hindley-milner/hindley-milner.test.js +327 -0
  132. package/dist/tests/hindley-milner/hindley-milner.test.js.map +1 -0
  133. package/dist/tests/hott/hott.test.d.ts +2 -0
  134. package/dist/tests/hott/hott.test.d.ts.map +1 -0
  135. package/dist/tests/hott/hott.test.js +271 -0
  136. package/dist/tests/hott/hott.test.js.map +1 -0
  137. package/dist/tests/lemma-synthesis/lemma-synthesis.test.d.ts +2 -0
  138. package/dist/tests/lemma-synthesis/lemma-synthesis.test.d.ts.map +1 -0
  139. package/dist/tests/lemma-synthesis/lemma-synthesis.test.js +460 -0
  140. package/dist/tests/lemma-synthesis/lemma-synthesis.test.js.map +1 -0
  141. package/dist/tests/tactic-dsl/tactic-dsl.test.d.ts +2 -0
  142. package/dist/tests/tactic-dsl/tactic-dsl.test.d.ts.map +1 -0
  143. package/dist/tests/tactic-dsl/tactic-dsl.test.js +259 -0
  144. package/dist/tests/tactic-dsl/tactic-dsl.test.js.map +1 -0
  145. package/dist/tests/tptp/bridge.test.d.ts +2 -0
  146. package/dist/tests/tptp/bridge.test.d.ts.map +1 -0
  147. package/dist/tests/tptp/bridge.test.js +154 -0
  148. package/dist/tests/tptp/bridge.test.js.map +1 -0
  149. package/dist/tests/tptp/emitter.test.d.ts +2 -0
  150. package/dist/tests/tptp/emitter.test.d.ts.map +1 -0
  151. package/dist/tests/tptp/emitter.test.js +128 -0
  152. package/dist/tests/tptp/emitter.test.js.map +1 -0
  153. package/dist/tests/tptp/parser.test.d.ts +2 -0
  154. package/dist/tests/tptp/parser.test.d.ts.map +1 -0
  155. package/dist/tests/tptp/parser.test.js +192 -0
  156. package/dist/tests/tptp/parser.test.js.map +1 -0
  157. package/dist/tests/tptp/tokenizer.test.d.ts +2 -0
  158. package/dist/tests/tptp/tokenizer.test.d.ts.map +1 -0
  159. package/dist/tests/tptp/tokenizer.test.js +60 -0
  160. package/dist/tests/tptp/tokenizer.test.js.map +1 -0
  161. package/dist/tptp/ast.d.ts +73 -0
  162. package/dist/tptp/ast.d.ts.map +1 -0
  163. package/dist/tptp/ast.js +35 -0
  164. package/dist/tptp/ast.js.map +1 -0
  165. package/dist/tptp/bridge.d.ts +14 -0
  166. package/dist/tptp/bridge.d.ts.map +1 -0
  167. package/dist/tptp/bridge.js +146 -0
  168. package/dist/tptp/bridge.js.map +1 -0
  169. package/dist/tptp/emitter.d.ts +5 -0
  170. package/dist/tptp/emitter.d.ts.map +1 -0
  171. package/dist/tptp/emitter.js +103 -0
  172. package/dist/tptp/emitter.js.map +1 -0
  173. package/dist/tptp/index.d.ts +7 -0
  174. package/dist/tptp/index.d.ts.map +1 -0
  175. package/dist/tptp/index.js +31 -0
  176. package/dist/tptp/index.js.map +1 -0
  177. package/dist/tptp/parser.d.ts +23 -0
  178. package/dist/tptp/parser.d.ts.map +1 -0
  179. package/dist/tptp/parser.js +440 -0
  180. package/dist/tptp/parser.js.map +1 -0
  181. package/dist/tptp/tokenizer.d.ts +14 -0
  182. package/dist/tptp/tokenizer.d.ts.map +1 -0
  183. package/dist/tptp/tokenizer.js +264 -0
  184. package/dist/tptp/tokenizer.js.map +1 -0
  185. package/package.json +4 -1
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // TPTP Tests — Parser
4
+ // ============================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const vitest_1 = require("vitest");
7
+ const parser_1 = require("../../tptp/parser");
8
+ (0, vitest_1.describe)('TPTP parser — fórmulas FOF', () => {
9
+ (0, vitest_1.it)('parsea fof(a, axiom, p(X) => q(X)).', () => {
10
+ const p = (0, parser_1.parseTptp)('fof(a, axiom, p(X) => q(X)).');
11
+ (0, vitest_1.expect)(p.annotated).toHaveLength(1);
12
+ const ann = p.annotated[0];
13
+ (0, vitest_1.expect)(ann.language).toBe('fof');
14
+ (0, vitest_1.expect)(ann.name).toBe('a');
15
+ (0, vitest_1.expect)(ann.role).toBe('axiom');
16
+ (0, vitest_1.expect)(ann.formula.kind).toBe('implies');
17
+ const impl = ann.formula;
18
+ (0, vitest_1.expect)(impl.left.predicate).toBe('p');
19
+ (0, vitest_1.expect)(impl.right.predicate).toBe('q');
20
+ });
21
+ (0, vitest_1.it)('parsea cuantificador universal con múltiples variables', () => {
22
+ const f = (0, parser_1.parseFormula)('! [X, Y] : p(X, Y)', 'fof');
23
+ (0, vitest_1.expect)(f.kind).toBe('forall');
24
+ const q = f;
25
+ (0, vitest_1.expect)(q.vars).toEqual(['X', 'Y']);
26
+ (0, vitest_1.expect)(q.body.kind).toBe('atom');
27
+ });
28
+ (0, vitest_1.it)('parsea cuantificador existencial', () => {
29
+ const f = (0, parser_1.parseFormula)('? [X] : p(X)', 'fof');
30
+ (0, vitest_1.expect)(f.kind).toBe('exists');
31
+ });
32
+ (0, vitest_1.it)('parsea igualdad f(a) = b', () => {
33
+ const f = (0, parser_1.parseFormula)('f(a) = b', 'fof');
34
+ (0, vitest_1.expect)(f.kind).toBe('eq');
35
+ const eq = f;
36
+ (0, vitest_1.expect)(eq.left.kind).toBe('func');
37
+ (0, vitest_1.expect)(eq.right.kind).toBe('const');
38
+ });
39
+ (0, vitest_1.it)('parsea desigualdad a != b', () => {
40
+ const f = (0, parser_1.parseFormula)('a != b', 'fof');
41
+ (0, vitest_1.expect)(f.kind).toBe('neq');
42
+ });
43
+ (0, vitest_1.it)('parsea negación ~p(X)', () => {
44
+ const f = (0, parser_1.parseFormula)('~p(X)', 'fof');
45
+ (0, vitest_1.expect)(f.kind).toBe('not');
46
+ });
47
+ (0, vitest_1.it)('parsea conjunción y disyunción con precedencia correcta', () => {
48
+ // a & b | c → (a & b) | c en TPTP estándar? En realidad, & y | tienen
49
+ // misma precedencia / no-asociativas en TPTP estricto, pero nuestro
50
+ // parser le da & más alta precedencia (común en otros provers).
51
+ const f = (0, parser_1.parseFormula)('p & q | r', 'fof');
52
+ (0, vitest_1.expect)(f.kind).toBe('or');
53
+ const orF = f;
54
+ (0, vitest_1.expect)(orF.args[0].kind).toBe('and');
55
+ });
56
+ (0, vitest_1.it)('parsea iff <=>', () => {
57
+ const f = (0, parser_1.parseFormula)('p <=> q', 'fof');
58
+ (0, vitest_1.expect)(f.kind).toBe('iff');
59
+ });
60
+ (0, vitest_1.it)('parsea xor <~>', () => {
61
+ const f = (0, parser_1.parseFormula)('p <~> q', 'fof');
62
+ (0, vitest_1.expect)(f.kind).toBe('xor');
63
+ });
64
+ (0, vitest_1.it)('parsea <= como implies invertida', () => {
65
+ const f = (0, parser_1.parseFormula)('p <= q', 'fof');
66
+ (0, vitest_1.expect)(f.kind).toBe('implies');
67
+ // p <= q ≡ q => p
68
+ const impl = f;
69
+ (0, vitest_1.expect)(impl.left.predicate).toBe('q');
70
+ (0, vitest_1.expect)(impl.right.predicate).toBe('p');
71
+ });
72
+ (0, vitest_1.it)('parsea $true y $false', () => {
73
+ (0, vitest_1.expect)((0, parser_1.parseFormula)('$true', 'fof').kind).toBe('true');
74
+ (0, vitest_1.expect)((0, parser_1.parseFormula)('$false', 'fof').kind).toBe('false');
75
+ });
76
+ (0, vitest_1.it)('parsea problema multi-formula con axiomas y conjecture', () => {
77
+ const src = `
78
+ fof(modus_ponens, axiom, ![X] : (p(X) => q(X))).
79
+ fof(p_a, axiom, p(a)).
80
+ fof(goal, conjecture, q(a)).
81
+ `;
82
+ const p = (0, parser_1.parseTptp)(src);
83
+ (0, vitest_1.expect)(p.annotated).toHaveLength(3);
84
+ (0, vitest_1.expect)(p.annotated.map((a) => a.role)).toEqual(['axiom', 'axiom', 'conjecture']);
85
+ });
86
+ (0, vitest_1.it)('parsea include y lo añade a includes[]', () => {
87
+ const p = (0, parser_1.parseTptp)(`include('tptp/SET001.ax').\nfof(a, axiom, p).`);
88
+ (0, vitest_1.expect)(p.includes).toEqual(['tptp/SET001.ax']);
89
+ (0, vitest_1.expect)(p.annotated).toHaveLength(1);
90
+ });
91
+ (0, vitest_1.it)('parsea include con lista de selectors y los descarta', () => {
92
+ const p = (0, parser_1.parseTptp)(`include('file.ax', [ax1, ax2]).`);
93
+ (0, vitest_1.expect)(p.includes).toEqual(['file.ax']);
94
+ });
95
+ (0, vitest_1.it)('parsea CNF cnf(c1, axiom, p(a) | ~q(b)).', () => {
96
+ const p = (0, parser_1.parseTptp)('cnf(c1, axiom, p(a) | ~q(b)).');
97
+ (0, vitest_1.expect)(p.annotated).toHaveLength(1);
98
+ const f = p.annotated[0].formula;
99
+ (0, vitest_1.expect)(f.kind).toBe('or');
100
+ const orF = f;
101
+ (0, vitest_1.expect)(orF.args[0].kind).toBe('atom');
102
+ (0, vitest_1.expect)(orF.args[1].kind).toBe('not');
103
+ });
104
+ (0, vitest_1.it)('parsea CNF de un solo literal', () => {
105
+ const p = (0, parser_1.parseTptp)('cnf(c2, axiom, p(a)).');
106
+ const f = p.annotated[0].formula;
107
+ (0, vitest_1.expect)(f.kind).toBe('atom');
108
+ });
109
+ (0, vitest_1.it)('parsea CNF con literal negado solo', () => {
110
+ const p = (0, parser_1.parseTptp)('cnf(c3, axiom, ~p(X)).');
111
+ (0, vitest_1.expect)(p.annotated[0].formula.kind).toBe('not');
112
+ });
113
+ (0, vitest_1.it)('parsea TFF light con type annotations en variables', () => {
114
+ // ![X : $i] : p(X) — el tipo se descarta
115
+ const p = (0, parser_1.parseTptp)('tff(t1, axiom, ! [X : $i] : p(X)).');
116
+ (0, vitest_1.expect)(p.annotated[0].language).toBe('tff');
117
+ const f = p.annotated[0].formula;
118
+ (0, vitest_1.expect)(f.kind).toBe('forall');
119
+ const q = f;
120
+ (0, vitest_1.expect)(q.vars).toEqual(['X']);
121
+ });
122
+ (0, vitest_1.it)('parsea anotaciones opcionales tras la fórmula y las ignora', () => {
123
+ const p = (0, parser_1.parseTptp)('fof(a, axiom, p(X), unknown, [status(thm)]).');
124
+ (0, vitest_1.expect)(p.annotated).toHaveLength(1);
125
+ (0, vitest_1.expect)(p.annotated[0].formula.kind).toBe('atom');
126
+ });
127
+ (0, vitest_1.it)('parsea átomo proposicional sin args', () => {
128
+ const f = (0, parser_1.parseFormula)('p', 'fof');
129
+ (0, vitest_1.expect)(f.kind).toBe('atom');
130
+ const atom = f;
131
+ (0, vitest_1.expect)(atom.predicate).toBe('p');
132
+ (0, vitest_1.expect)(atom.args).toEqual([]);
133
+ });
134
+ (0, vitest_1.it)('parsea funciones anidadas f(g(a), h(X, b))', () => {
135
+ const f = (0, parser_1.parseFormula)('p(f(g(a), h(X, b)))', 'fof');
136
+ (0, vitest_1.expect)(f.kind).toBe('atom');
137
+ const atom = f;
138
+ (0, vitest_1.expect)(atom.args).toHaveLength(1);
139
+ const inner = atom.args[0];
140
+ (0, vitest_1.expect)(inner.kind).toBe('func');
141
+ });
142
+ (0, vitest_1.it)('parsea problema TPTP real estilo "Trivial" — modus tollens', () => {
143
+ const src = `
144
+ fof(mt1, axiom, ![X] : (p(X) => q(X))).
145
+ fof(mt2, axiom, ~q(a)).
146
+ fof(mt_goal, conjecture, ~p(a)).
147
+ `;
148
+ const p = (0, parser_1.parseTptp)(src);
149
+ (0, vitest_1.expect)(p.annotated).toHaveLength(3);
150
+ });
151
+ (0, vitest_1.it)('parsea problema TPTP real — transitividad', () => {
152
+ const src = `
153
+ fof(trans, axiom, ![X,Y,Z] : ((r(X,Y) & r(Y,Z)) => r(X,Z))).
154
+ fof(rab, axiom, r(a,b)).
155
+ fof(rbc, axiom, r(b,c)).
156
+ fof(goal, conjecture, r(a,c)).
157
+ `;
158
+ const p = (0, parser_1.parseTptp)(src);
159
+ (0, vitest_1.expect)(p.annotated).toHaveLength(4);
160
+ (0, vitest_1.expect)(p.annotated[3].role).toBe('conjecture');
161
+ });
162
+ (0, vitest_1.it)('parsea problema TPTP real — pelletier 1 (basic propositional)', () => {
163
+ const src = `fof(pel1, conjecture, (p => q) <=> (~q => ~p)).`;
164
+ const p = (0, parser_1.parseTptp)(src);
165
+ (0, vitest_1.expect)(p.annotated[0].formula.kind).toBe('iff');
166
+ });
167
+ (0, vitest_1.it)('parsea problema TPTP real — pelletier 17 (FOL with quantifiers)', () => {
168
+ const src = `
169
+ fof(pel17_ax1, axiom, p & (q | r)).
170
+ fof(pel17_goal, conjecture, (p & q) | (p & r)).
171
+ `;
172
+ const p = (0, parser_1.parseTptp)(src);
173
+ (0, vitest_1.expect)(p.annotated).toHaveLength(2);
174
+ });
175
+ (0, vitest_1.it)('parsea problema TPTP real — socrates es mortal', () => {
176
+ const src = `
177
+ fof(all_men_mortal, axiom, ![X] : (man(X) => mortal(X))).
178
+ fof(socrates_is_man, axiom, man(socrates)).
179
+ fof(socrates_mortal, conjecture, mortal(socrates)).
180
+ `;
181
+ const p = (0, parser_1.parseTptp)(src);
182
+ (0, vitest_1.expect)(p.annotated).toHaveLength(3);
183
+ (0, vitest_1.expect)(p.annotated[2].role).toBe('conjecture');
184
+ });
185
+ (0, vitest_1.it)('lanza error en formula mal formada', () => {
186
+ (0, vitest_1.expect)(() => (0, parser_1.parseFormula)('p &', 'fof')).toThrow();
187
+ });
188
+ (0, vitest_1.it)('lanza error en role desconocido', () => {
189
+ (0, vitest_1.expect)(() => (0, parser_1.parseTptp)('fof(a, frobnicate, p).')).toThrow(parser_1.TptpParserError);
190
+ });
191
+ });
192
+ //# sourceMappingURL=parser.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../../src/tests/tptp/parser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tokenizer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenizer.test.d.ts","sourceRoot":"","sources":["../../../src/tests/tptp/tokenizer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // TPTP Tests — Tokenizer
4
+ // ============================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const vitest_1 = require("vitest");
7
+ const tokenizer_1 = require("../../tptp/tokenizer");
8
+ (0, vitest_1.describe)('TPTP tokenizer — léxico básico', () => {
9
+ (0, vitest_1.it)('tokeniza paréntesis y corchetes', () => {
10
+ const toks = (0, tokenizer_1.tokenize)('([])');
11
+ (0, vitest_1.expect)(toks.map((t) => t.kind)).toEqual(['lparen', 'lbracket', 'rbracket', 'rparen']);
12
+ });
13
+ (0, vitest_1.it)('distingue lower_word y upper_word', () => {
14
+ const toks = (0, tokenizer_1.tokenize)('p X foo_bar Bar_baz');
15
+ (0, vitest_1.expect)(toks.map((t) => t.kind)).toEqual([
16
+ 'lower_word',
17
+ 'upper_word',
18
+ 'lower_word',
19
+ 'upper_word',
20
+ ]);
21
+ });
22
+ (0, vitest_1.it)('tokeniza operadores multi-char', () => {
23
+ const toks = (0, tokenizer_1.tokenize)('<=> => <= <~> != = ~ & | ! ?');
24
+ (0, vitest_1.expect)(toks.map((t) => t.kind)).toEqual([
25
+ 'op_iff',
26
+ 'op_implies',
27
+ 'op_nimplies',
28
+ 'op_xor',
29
+ 'op_neq',
30
+ 'op_eq',
31
+ 'op_not',
32
+ 'op_and',
33
+ 'op_or',
34
+ 'op_forall',
35
+ 'op_exists',
36
+ ]);
37
+ });
38
+ (0, vitest_1.it)('ignora comentarios de línea %', () => {
39
+ const toks = (0, tokenizer_1.tokenize)('p % comentario\nq');
40
+ (0, vitest_1.expect)(toks.map((t) => t.value)).toEqual(['p', 'q']);
41
+ });
42
+ (0, vitest_1.it)('ignora comentarios de bloque /* */', () => {
43
+ const toks = (0, tokenizer_1.tokenize)('p /* multi\nlínea */ q');
44
+ (0, vitest_1.expect)(toks.map((t) => t.value)).toEqual(['p', 'q']);
45
+ });
46
+ (0, vitest_1.it)('lanza error en comentario de bloque sin cerrar', () => {
47
+ (0, vitest_1.expect)(() => (0, tokenizer_1.tokenize)('p /* sin fin')).toThrow(tokenizer_1.TptpTokenizerError);
48
+ });
49
+ (0, vitest_1.it)('tokeniza single_quoted', () => {
50
+ const toks = (0, tokenizer_1.tokenize)("include('tptp/SET001.ax')");
51
+ const quoted = toks.find((t) => t.kind === 'single_quoted');
52
+ (0, vitest_1.expect)(quoted?.value).toBe('tptp/SET001.ax');
53
+ });
54
+ (0, vitest_1.it)('tokeniza integers', () => {
55
+ const toks = (0, tokenizer_1.tokenize)('123 -45 0');
56
+ const integers = toks.filter((t) => t.kind === 'integer');
57
+ (0, vitest_1.expect)(integers.map((t) => t.value)).toEqual(['123', '-45', '0']);
58
+ });
59
+ });
60
+ //# sourceMappingURL=tokenizer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenizer.test.js","sourceRoot":"","sources":["../../../src/tests/tptp/tokenizer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ export type TptpRole = 'axiom' | 'hypothesis' | 'conjecture' | 'negated_conjecture' | 'lemma' | 'theorem' | 'definition' | 'plain';
2
+ export type TptpLanguage = 'fof' | 'cnf' | 'tff' | 'thf';
3
+ export type TptpTerm = {
4
+ kind: 'var';
5
+ name: string;
6
+ } | {
7
+ kind: 'const';
8
+ name: string;
9
+ } | {
10
+ kind: 'func';
11
+ name: string;
12
+ args: TptpTerm[];
13
+ };
14
+ export type TptpFormula = {
15
+ kind: 'atom';
16
+ predicate: string;
17
+ args: TptpTerm[];
18
+ } | {
19
+ kind: 'eq';
20
+ left: TptpTerm;
21
+ right: TptpTerm;
22
+ } | {
23
+ kind: 'neq';
24
+ left: TptpTerm;
25
+ right: TptpTerm;
26
+ } | {
27
+ kind: 'not';
28
+ arg: TptpFormula;
29
+ } | {
30
+ kind: 'and';
31
+ args: TptpFormula[];
32
+ } | {
33
+ kind: 'or';
34
+ args: TptpFormula[];
35
+ } | {
36
+ kind: 'implies';
37
+ left: TptpFormula;
38
+ right: TptpFormula;
39
+ } | {
40
+ kind: 'iff';
41
+ left: TptpFormula;
42
+ right: TptpFormula;
43
+ } | {
44
+ kind: 'xor';
45
+ left: TptpFormula;
46
+ right: TptpFormula;
47
+ } | {
48
+ kind: 'forall';
49
+ vars: string[];
50
+ body: TptpFormula;
51
+ } | {
52
+ kind: 'exists';
53
+ vars: string[];
54
+ body: TptpFormula;
55
+ } | {
56
+ kind: 'true';
57
+ } | {
58
+ kind: 'false';
59
+ };
60
+ export interface TptpAnnotated {
61
+ language: TptpLanguage;
62
+ name: string;
63
+ role: TptpRole;
64
+ formula: TptpFormula;
65
+ comment?: string;
66
+ }
67
+ export interface TptpProblem {
68
+ annotated: TptpAnnotated[];
69
+ includes: string[];
70
+ }
71
+ export declare const TPTP_ROLES: ReadonlySet<TptpRole>;
72
+ export declare const TPTP_LANGUAGES: ReadonlySet<TptpLanguage>;
73
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/tptp/ast.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,oBAAoB,GACpB,OAAO,GACP,SAAS,GACT,YAAY,GACZ,OAAO,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEzD,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AAErD,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,EAAE,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,QAAQ,CAS3C,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,YAAY,CAKnD,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // TPTP — AST
4
+ // ============================================================
5
+ //
6
+ // AST de fórmulas TPTP (Thousands of Problems for Theorem Provers).
7
+ // Soporta FOF (First-Order Form), CNF (Clause Normal Form) y
8
+ // TFF light (Typed First-order Form sin sistema de tipos completo).
9
+ //
10
+ // Convenciones léxicas TPTP:
11
+ // - Predicados, funciones y constantes: identificador en `lower_case`
12
+ // (empieza por minúscula, sigue alfanumérico/`_`).
13
+ // - Variables: identificador en `Upper_Case` (empieza por mayúscula).
14
+ // - Operadores: `~` (not), `&` (and), `|` (or), `=>` (implies),
15
+ // `<=>` (iff), `<~>` (xor), `!` (forall), `?` (exists),
16
+ // `=` (eq), `!=` (neq).
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TPTP_LANGUAGES = exports.TPTP_ROLES = void 0;
19
+ exports.TPTP_ROLES = new Set([
20
+ 'axiom',
21
+ 'hypothesis',
22
+ 'conjecture',
23
+ 'negated_conjecture',
24
+ 'lemma',
25
+ 'theorem',
26
+ 'definition',
27
+ 'plain',
28
+ ]);
29
+ exports.TPTP_LANGUAGES = new Set([
30
+ 'fof',
31
+ 'cnf',
32
+ 'tff',
33
+ 'thf',
34
+ ]);
35
+ //# sourceMappingURL=ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/tptp/ast.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,aAAa;AACb,+DAA+D;AAC/D,EAAE;AACF,oEAAoE;AACpE,6DAA6D;AAC7D,oEAAoE;AACpE,EAAE;AACF,6BAA6B;AAC7B,uEAAuE;AACvE,sDAAsD;AACtD,uEAAuE;AACvE,iEAAiE;AACjE,2DAA2D;AAC3D,2BAA2B;;;AA+Cd,QAAA,UAAU,GAA0B,IAAI,GAAG,CAAW;IACjE,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,oBAAoB;IACpB,OAAO;IACP,SAAS;IACT,YAAY;IACZ,OAAO;CACR,CAAC,CAAC;AAEU,QAAA,cAAc,GAA8B,IAAI,GAAG,CAAe;IAC7E,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Formula } from '../types';
2
+ import { TptpAnnotated, TptpFormula, TptpProblem } from './ast';
3
+ export declare function tptpFormulaToFol(f: TptpFormula): Formula;
4
+ export interface FolProverBridgeOutput {
5
+ axioms: Formula[];
6
+ conjecture: Formula | null;
7
+ negatedConjectures: Formula[];
8
+ /** Otros anotados (lemmas, theorems, definitions, plain, hypothesis). */
9
+ hypotheses: Formula[];
10
+ }
11
+ export declare function toFolProverFormat(problem: TptpProblem): FolProverBridgeOutput;
12
+ /** Helper para `TptpAnnotated` individual. */
13
+ export declare function annotatedToFol(a: TptpAnnotated): Formula;
14
+ //# sourceMappingURL=bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/tptp/bridge.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAY,MAAM,OAAO,CAAC;AAQ1E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAoDxD;AAmBD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,yEAAyE;IACzE,UAAU,EAAE,OAAO,EAAE,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,qBAAqB,CAmC7E;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAExD"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // TPTP — Bridge a fol-prover
4
+ // ============================================================
5
+ //
6
+ // Convierte una TptpFormula al tipo `Formula` que entiende
7
+ // `src/fol-prover` (y por extensión los demás solvers FOL del repo).
8
+ //
9
+ // Mapeo:
10
+ // atom p(t1,...,tn) → kind:'predicate', name:'p', params:[term-strings]
11
+ // atom prop (sin args) → kind:'atom', name:prop
12
+ // eq a b → kind:'equals', args:[a, b] (consumido por fol-prover-equality)
13
+ // neq a b → kind:'not', args:[ eq a b ]
14
+ // ~F → kind:'not', args:[F]
15
+ // F & G → kind:'and', args:[F,G]
16
+ // F | G → kind:'or', args:[F,G]
17
+ // F => G → kind:'implies', args:[F,G]
18
+ // F <=> G → kind:'biconditional', args:[F,G]
19
+ // F <~> G → ~(F <=> G)
20
+ // ![X,Y]:F → forall X. forall Y. F
21
+ // ?[X,Y]:F → exists X. exists Y. F
22
+ // $true / $false → kind:'true' / kind:'false'
23
+ //
24
+ // `params`/`terms` en Formula es `string[]`; los términos no-variables
25
+ // (constantes/funciones) se serializan como string usando una convención
26
+ // estable: `f(a,b)`, `c`, `X`.
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.tptpFormulaToFol = tptpFormulaToFol;
29
+ exports.toFolProverFormat = toFolProverFormat;
30
+ exports.annotatedToFol = annotatedToFol;
31
+ function termToString(t) {
32
+ if (t.kind === 'var' || t.kind === 'const')
33
+ return t.name;
34
+ if (t.args.length === 0)
35
+ return t.name;
36
+ return `${t.name}(${t.args.map(termToString).join(',')})`;
37
+ }
38
+ function tptpFormulaToFol(f) {
39
+ switch (f.kind) {
40
+ case 'true':
41
+ return { kind: 'true' };
42
+ case 'false':
43
+ return { kind: 'false' };
44
+ case 'atom': {
45
+ if (f.args.length === 0) {
46
+ return { kind: 'atom', name: f.predicate };
47
+ }
48
+ const params = f.args.map(termToString);
49
+ return { kind: 'predicate', name: f.predicate, params, terms: params };
50
+ }
51
+ case 'eq': {
52
+ const left = makeTermFormula(f.left);
53
+ const right = makeTermFormula(f.right);
54
+ return { kind: 'equals', args: [left, right] };
55
+ }
56
+ case 'neq': {
57
+ const left = makeTermFormula(f.left);
58
+ const right = makeTermFormula(f.right);
59
+ return { kind: 'not', args: [{ kind: 'equals', args: [left, right] }] };
60
+ }
61
+ case 'not':
62
+ return { kind: 'not', args: [tptpFormulaToFol(f.arg)] };
63
+ case 'and':
64
+ return { kind: 'and', args: f.args.map(tptpFormulaToFol) };
65
+ case 'or':
66
+ return { kind: 'or', args: f.args.map(tptpFormulaToFol) };
67
+ case 'implies':
68
+ return {
69
+ kind: 'implies',
70
+ args: [tptpFormulaToFol(f.left), tptpFormulaToFol(f.right)],
71
+ };
72
+ case 'iff':
73
+ return {
74
+ kind: 'biconditional',
75
+ args: [tptpFormulaToFol(f.left), tptpFormulaToFol(f.right)],
76
+ };
77
+ case 'xor': {
78
+ // p <~> q ≡ ~(p <=> q)
79
+ const inner = {
80
+ kind: 'biconditional',
81
+ args: [tptpFormulaToFol(f.left), tptpFormulaToFol(f.right)],
82
+ };
83
+ return { kind: 'not', args: [inner] };
84
+ }
85
+ case 'forall':
86
+ return wrapQuantifier('forall', f.vars, tptpFormulaToFol(f.body));
87
+ case 'exists':
88
+ return wrapQuantifier('exists', f.vars, tptpFormulaToFol(f.body));
89
+ }
90
+ }
91
+ function wrapQuantifier(kind, vars, inner) {
92
+ let f = inner;
93
+ for (let i = vars.length - 1; i >= 0; i--) {
94
+ const v = vars[i];
95
+ if (v === undefined)
96
+ continue;
97
+ f = { kind, variable: v, args: [f] };
98
+ }
99
+ return f;
100
+ }
101
+ // Para `equals`, el solver fol-prover-equality espera "args" que sean
102
+ // fórmulas representando términos. Convención: serializamos el término
103
+ // como atom con `name` = term-string.
104
+ function makeTermFormula(t) {
105
+ return { kind: 'atom', name: termToString(t) };
106
+ }
107
+ function toFolProverFormat(problem) {
108
+ const axioms = [];
109
+ const negatedConjectures = [];
110
+ const hypotheses = [];
111
+ let conjecture = null;
112
+ for (const a of problem.annotated) {
113
+ const fol = tptpFormulaToFol(a.formula);
114
+ switch (a.role) {
115
+ case 'axiom':
116
+ axioms.push(fol);
117
+ break;
118
+ case 'conjecture':
119
+ // Si hay varias conjectures, conservamos la primera; las demás
120
+ // pasan como hypotheses (caso poco común en problemas reales).
121
+ if (conjecture === null) {
122
+ conjecture = fol;
123
+ }
124
+ else {
125
+ hypotheses.push(fol);
126
+ }
127
+ break;
128
+ case 'negated_conjecture':
129
+ negatedConjectures.push(fol);
130
+ break;
131
+ case 'lemma':
132
+ case 'theorem':
133
+ case 'hypothesis':
134
+ case 'definition':
135
+ case 'plain':
136
+ hypotheses.push(fol);
137
+ break;
138
+ }
139
+ }
140
+ return { axioms, conjecture, negatedConjectures, hypotheses };
141
+ }
142
+ /** Helper para `TptpAnnotated` individual. */
143
+ function annotatedToFol(a) {
144
+ return tptpFormulaToFol(a.formula);
145
+ }
146
+ //# sourceMappingURL=bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/tptp/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { TptpFormula, TptpProblem, TptpTerm } from './ast';
2
+ export declare function emitTerm(term: TptpTerm): string;
3
+ export declare function emitFormula(f: TptpFormula): string;
4
+ export declare function emitTptp(problem: TptpProblem): string;
5
+ //# sourceMappingURL=emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/tptp/emitter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAI/C;AAyCD,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAiClD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAcrD"}