@stevenvo780/st-lang 4.0.0 → 4.1.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 (133) hide show
  1. package/dist/proof-exchange/index.d.ts +4 -6
  2. package/dist/proof-exchange/index.d.ts.map +1 -1
  3. package/dist/proof-exchange/index.js +9 -5
  4. package/dist/proof-exchange/index.js.map +1 -1
  5. package/dist/tests/coverage-95/api-and-interpreter-e2e.test.d.ts +2 -0
  6. package/dist/tests/coverage-95/api-and-interpreter-e2e.test.d.ts.map +1 -0
  7. package/dist/tests/coverage-95/api-and-interpreter-e2e.test.js +255 -0
  8. package/dist/tests/coverage-95/api-and-interpreter-e2e.test.js.map +1 -0
  9. package/dist/tests/coverage-95/argumentation.test.d.ts +2 -0
  10. package/dist/tests/coverage-95/argumentation.test.d.ts.map +1 -0
  11. package/dist/tests/coverage-95/argumentation.test.js +105 -0
  12. package/dist/tests/coverage-95/argumentation.test.js.map +1 -0
  13. package/dist/tests/coverage-95/arithmetic.test.d.ts +2 -0
  14. package/dist/tests/coverage-95/arithmetic.test.d.ts.map +1 -0
  15. package/dist/tests/coverage-95/arithmetic.test.js +139 -0
  16. package/dist/tests/coverage-95/arithmetic.test.js.map +1 -0
  17. package/dist/tests/coverage-95/belnap.test.d.ts +2 -0
  18. package/dist/tests/coverage-95/belnap.test.d.ts.map +1 -0
  19. package/dist/tests/coverage-95/belnap.test.js +145 -0
  20. package/dist/tests/coverage-95/belnap.test.js.map +1 -0
  21. package/dist/tests/coverage-95/cdcl-v2-solver.test.d.ts +2 -0
  22. package/dist/tests/coverage-95/cdcl-v2-solver.test.d.ts.map +1 -0
  23. package/dist/tests/coverage-95/cdcl-v2-solver.test.js +61 -0
  24. package/dist/tests/coverage-95/cdcl-v2-solver.test.js.map +1 -0
  25. package/dist/tests/coverage-95/classical-propositional-direct.test.d.ts +2 -0
  26. package/dist/tests/coverage-95/classical-propositional-direct.test.d.ts.map +1 -0
  27. package/dist/tests/coverage-95/classical-propositional-direct.test.js +175 -0
  28. package/dist/tests/coverage-95/classical-propositional-direct.test.js.map +1 -0
  29. package/dist/tests/coverage-95/compat.test.d.ts +2 -0
  30. package/dist/tests/coverage-95/compat.test.d.ts.map +1 -0
  31. package/dist/tests/coverage-95/compat.test.js +82 -0
  32. package/dist/tests/coverage-95/compat.test.js.map +1 -0
  33. package/dist/tests/coverage-95/examples-runner.test.d.ts +2 -0
  34. package/dist/tests/coverage-95/examples-runner.test.d.ts.map +1 -0
  35. package/dist/tests/coverage-95/examples-runner.test.js +34 -0
  36. package/dist/tests/coverage-95/examples-runner.test.js.map +1 -0
  37. package/dist/tests/coverage-95/first-order.test.d.ts +2 -0
  38. package/dist/tests/coverage-95/first-order.test.d.ts.map +1 -0
  39. package/dist/tests/coverage-95/first-order.test.js +138 -0
  40. package/dist/tests/coverage-95/first-order.test.js.map +1 -0
  41. package/dist/tests/coverage-95/fol-prover.test.d.ts +2 -0
  42. package/dist/tests/coverage-95/fol-prover.test.d.ts.map +1 -0
  43. package/dist/tests/coverage-95/fol-prover.test.js +228 -0
  44. package/dist/tests/coverage-95/fol-prover.test.js.map +1 -0
  45. package/dist/tests/coverage-95/interpreter-commands.test.d.ts +2 -0
  46. package/dist/tests/coverage-95/interpreter-commands.test.d.ts.map +1 -0
  47. package/dist/tests/coverage-95/interpreter-commands.test.js +332 -0
  48. package/dist/tests/coverage-95/interpreter-commands.test.js.map +1 -0
  49. package/dist/tests/coverage-95/lsp-server.test.d.ts +2 -0
  50. package/dist/tests/coverage-95/lsp-server.test.d.ts.map +1 -0
  51. package/dist/tests/coverage-95/lsp-server.test.js +181 -0
  52. package/dist/tests/coverage-95/lsp-server.test.js.map +1 -0
  53. package/dist/tests/coverage-95/modal-tableau-profiles.test.d.ts +2 -0
  54. package/dist/tests/coverage-95/modal-tableau-profiles.test.d.ts.map +1 -0
  55. package/dist/tests/coverage-95/modal-tableau-profiles.test.js +157 -0
  56. package/dist/tests/coverage-95/modal-tableau-profiles.test.js.map +1 -0
  57. package/dist/tests/coverage-95/parallel-sat.test.d.ts +2 -0
  58. package/dist/tests/coverage-95/parallel-sat.test.d.ts.map +1 -0
  59. package/dist/tests/coverage-95/parallel-sat.test.js +42 -0
  60. package/dist/tests/coverage-95/parallel-sat.test.js.map +1 -0
  61. package/dist/tests/coverage-95/parser-extra.test.d.ts +2 -0
  62. package/dist/tests/coverage-95/parser-extra.test.d.ts.map +1 -0
  63. package/dist/tests/coverage-95/parser-extra.test.js +210 -0
  64. package/dist/tests/coverage-95/parser-extra.test.js.map +1 -0
  65. package/dist/tests/coverage-95/propositional-utilities.test.d.ts +2 -0
  66. package/dist/tests/coverage-95/propositional-utilities.test.d.ts.map +1 -0
  67. package/dist/tests/coverage-95/propositional-utilities.test.js +281 -0
  68. package/dist/tests/coverage-95/propositional-utilities.test.js.map +1 -0
  69. package/dist/tests/coverage-95/protocol-handler.test.d.ts +2 -0
  70. package/dist/tests/coverage-95/protocol-handler.test.d.ts.map +1 -0
  71. package/dist/tests/coverage-95/protocol-handler.test.js +275 -0
  72. package/dist/tests/coverage-95/protocol-handler.test.js.map +1 -0
  73. package/dist/tests/coverage-95/smt-mock-backend.test.d.ts +2 -0
  74. package/dist/tests/coverage-95/smt-mock-backend.test.d.ts.map +1 -0
  75. package/dist/tests/coverage-95/smt-mock-backend.test.js +201 -0
  76. package/dist/tests/coverage-95/smt-mock-backend.test.js.map +1 -0
  77. package/dist/tests/coverage-95/smt-serializer.test.d.ts +2 -0
  78. package/dist/tests/coverage-95/smt-serializer.test.d.ts.map +1 -0
  79. package/dist/tests/coverage-95/smt-serializer.test.js +143 -0
  80. package/dist/tests/coverage-95/smt-serializer.test.js.map +1 -0
  81. package/dist/tests/coverage-95/smt-subprocess.test.d.ts +2 -0
  82. package/dist/tests/coverage-95/smt-subprocess.test.d.ts.map +1 -0
  83. package/dist/tests/coverage-95/smt-subprocess.test.js +96 -0
  84. package/dist/tests/coverage-95/smt-subprocess.test.js.map +1 -0
  85. package/dist/tests/coverage-95/tableau-engine.test.d.ts +2 -0
  86. package/dist/tests/coverage-95/tableau-engine.test.d.ts.map +1 -0
  87. package/dist/tests/coverage-95/tableau-engine.test.js +125 -0
  88. package/dist/tests/coverage-95/tableau-engine.test.js.map +1 -0
  89. package/dist/tests/coverage-95/temporal-ltl.test.d.ts +2 -0
  90. package/dist/tests/coverage-95/temporal-ltl.test.d.ts.map +1 -0
  91. package/dist/tests/coverage-95/temporal-ltl.test.js +94 -0
  92. package/dist/tests/coverage-95/temporal-ltl.test.js.map +1 -0
  93. package/dist/tests/coverage-95/typecheck-checker.test.d.ts +2 -0
  94. package/dist/tests/coverage-95/typecheck-checker.test.d.ts.map +1 -0
  95. package/dist/tests/coverage-95/typecheck-checker.test.js +191 -0
  96. package/dist/tests/coverage-95/typecheck-checker.test.js.map +1 -0
  97. package/dist/tests/coverage-95/undecidability-detector.test.d.ts +2 -0
  98. package/dist/tests/coverage-95/undecidability-detector.test.d.ts.map +1 -0
  99. package/dist/tests/coverage-95/undecidability-detector.test.js +149 -0
  100. package/dist/tests/coverage-95/undecidability-detector.test.js.map +1 -0
  101. package/dist/tests/coverage-95/visitor.test.d.ts +2 -0
  102. package/dist/tests/coverage-95/visitor.test.d.ts.map +1 -0
  103. package/dist/tests/coverage-95/visitor.test.js +140 -0
  104. package/dist/tests/coverage-95/visitor.test.js.map +1 -0
  105. package/dist/tests/text-layer-v2/mdx-bridge/mdx-bridge.test.d.ts +2 -0
  106. package/dist/tests/text-layer-v2/mdx-bridge/mdx-bridge.test.d.ts.map +1 -0
  107. package/dist/tests/text-layer-v2/mdx-bridge/mdx-bridge.test.js +200 -0
  108. package/dist/tests/text-layer-v2/mdx-bridge/mdx-bridge.test.js.map +1 -0
  109. package/dist/text-layer/v2/index.d.ts +2 -0
  110. package/dist/text-layer/v2/index.d.ts.map +1 -1
  111. package/dist/text-layer/v2/index.js +7 -1
  112. package/dist/text-layer/v2/index.js.map +1 -1
  113. package/dist/text-layer/v2/mdx-bridge/diff.d.ts +13 -0
  114. package/dist/text-layer/v2/mdx-bridge/diff.d.ts.map +1 -0
  115. package/dist/text-layer/v2/mdx-bridge/diff.js +69 -0
  116. package/dist/text-layer/v2/mdx-bridge/diff.js.map +1 -0
  117. package/dist/text-layer/v2/mdx-bridge/index.d.ts +14 -0
  118. package/dist/text-layer/v2/mdx-bridge/index.d.ts.map +1 -0
  119. package/dist/text-layer/v2/mdx-bridge/index.js +21 -0
  120. package/dist/text-layer/v2/mdx-bridge/index.js.map +1 -0
  121. package/dist/text-layer/v2/mdx-bridge/parser.d.ts +33 -0
  122. package/dist/text-layer/v2/mdx-bridge/parser.d.ts.map +1 -0
  123. package/dist/text-layer/v2/mdx-bridge/parser.js +192 -0
  124. package/dist/text-layer/v2/mdx-bridge/parser.js.map +1 -0
  125. package/dist/text-layer/v2/mdx-bridge/serializer.d.ts +17 -0
  126. package/dist/text-layer/v2/mdx-bridge/serializer.d.ts.map +1 -0
  127. package/dist/text-layer/v2/mdx-bridge/serializer.js +69 -0
  128. package/dist/text-layer/v2/mdx-bridge/serializer.js.map +1 -0
  129. package/dist/text-layer/v2/mdx-bridge/types.d.ts +53 -0
  130. package/dist/text-layer/v2/mdx-bridge/types.d.ts.map +1 -0
  131. package/dist/text-layer/v2/mdx-bridge/types.js +19 -0
  132. package/dist/text-layer/v2/mdx-bridge/types.js.map +1 -0
  133. package/package.json +1 -1
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const compat_1 = require("../../runtime/compat");
5
+ (0, vitest_1.describe)('normalizeSTSource — Unicode and block handling', () => {
6
+ (0, vitest_1.it)('preserves a simple source', () => {
7
+ const out = (0, compat_1.normalizeSTSource)('logic classical.propositional\naxiom a : P\n');
8
+ (0, vitest_1.expect)(out).toContain('axiom a : P');
9
+ });
10
+ (0, vitest_1.it)('normalizes Unicode operators to ASCII', () => {
11
+ const out = (0, compat_1.normalizeSTSource)('axiom a : P → Q\n');
12
+ (0, vitest_1.expect)(out).toMatch(/->|→/);
13
+ });
14
+ (0, vitest_1.it)('preserves block comments', () => {
15
+ const src = 'logic classical.propositional\n/* multi-line\ncomment */\naxiom a : P\n';
16
+ const out = (0, compat_1.normalizeSTSource)(src);
17
+ (0, vitest_1.expect)(out).toContain('axiom a : P');
18
+ });
19
+ (0, vitest_1.it)('preserves [[ ]] double brackets across lines', () => {
20
+ const src = 'logic classical.propositional\nlet x : "[[\nfoo\n]]"\n';
21
+ const out = (0, compat_1.normalizeSTSource)(src);
22
+ (0, vitest_1.expect)(out).toBeDefined();
23
+ });
24
+ (0, vitest_1.it)('produces output for empty input', () => {
25
+ (0, vitest_1.expect)((0, compat_1.normalizeSTSource)('')).toBeDefined();
26
+ });
27
+ });
28
+ (0, vitest_1.describe)('transformReplInput — incremental REPL transformation', () => {
29
+ (0, vitest_1.it)('returns execute kind for simple complete statement', () => {
30
+ const state = (0, compat_1.createReplCompatState)();
31
+ const r = (0, compat_1.transformReplInput)('axiom a : P', state, {
32
+ knownPremises: [],
33
+ });
34
+ (0, vitest_1.expect)(['execute', 'buffered', 'executeSingle']).toContain(r.kind);
35
+ });
36
+ (0, vitest_1.it)('buffers multi-line block starting with assume', () => {
37
+ const state = (0, compat_1.createReplCompatState)();
38
+ const r = (0, compat_1.transformReplInput)('assume P', state, { knownPremises: [] });
39
+ (0, vitest_1.expect)(['buffered', 'execute', 'executeSingle']).toContain(r.kind);
40
+ });
41
+ (0, vitest_1.it)('handles theory { ... } across lines', () => {
42
+ const state = (0, compat_1.createReplCompatState)();
43
+ const r1 = (0, compat_1.transformReplInput)('theory T(n) {', state, { knownPremises: [] });
44
+ (0, vitest_1.expect)(r1.kind).toBe('buffered');
45
+ const r2 = (0, compat_1.transformReplInput)(' axiom a : P', state, { knownPremises: [] });
46
+ (0, vitest_1.expect)(r2.kind).toBe('buffered');
47
+ const r3 = (0, compat_1.transformReplInput)('}', state, { knownPremises: [] });
48
+ (0, vitest_1.expect)(['execute', 'executeSingle']).toContain(r3.kind);
49
+ });
50
+ (0, vitest_1.it)('handles direct multi-line input via \\n', () => {
51
+ const state = (0, compat_1.createReplCompatState)();
52
+ const r = (0, compat_1.transformReplInput)('logic classical.propositional\naxiom a : P', state, {
53
+ knownPremises: [],
54
+ });
55
+ (0, vitest_1.expect)(['execute', 'executeSingle']).toContain(r.kind);
56
+ });
57
+ (0, vitest_1.it)('createReplCompatState returns fresh state with defaults', () => {
58
+ const s = (0, compat_1.createReplCompatState)();
59
+ (0, vitest_1.expect)(s.nextId).toBe(1);
60
+ (0, vitest_1.expect)(s.pendingPremises).toEqual([]);
61
+ (0, vitest_1.expect)(s.pendingBlockLines).toEqual([]);
62
+ (0, vitest_1.expect)(s.pendingBlockBraceDepth).toBe(0);
63
+ });
64
+ (0, vitest_1.it)('handles assume + show + qed sequence', () => {
65
+ const state = (0, compat_1.createReplCompatState)();
66
+ (0, compat_1.transformReplInput)('assume P', state, { knownPremises: [] });
67
+ (0, compat_1.transformReplInput)('show P', state, { knownPremises: ['P'] });
68
+ (0, compat_1.transformReplInput)('qed', state, { knownPremises: [] });
69
+ (0, vitest_1.expect)(state.pendingBlockProofDepth).toBeGreaterThanOrEqual(0);
70
+ });
71
+ });
72
+ (0, vitest_1.describe)('normalizeSTSource — comment line normalization', () => {
73
+ (0, vitest_1.it)('preserves line comments with //', () => {
74
+ const out = (0, compat_1.normalizeSTSource)('// hola\naxiom a : P\n');
75
+ (0, vitest_1.expect)(out).toContain('axiom a : P');
76
+ });
77
+ (0, vitest_1.it)('handles strings with escaped quotes', () => {
78
+ const out = (0, compat_1.normalizeSTSource)('let x : "hello \\"world\\""\n');
79
+ (0, vitest_1.expect)(out).toBeDefined();
80
+ });
81
+ });
82
+ //# sourceMappingURL=compat.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.test.js","sourceRoot":"","sources":["../../../src/tests/coverage-95/compat.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=examples-runner.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples-runner.test.d.ts","sourceRoot":"","sources":["../../../src/tests/coverage-95/examples-runner.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const interpreter_1 = require("../../runtime/interpreter");
7
+ const EXAMPLES_DIR = (0, path_1.join)(__dirname, '..', '..', '..', 'examples');
8
+ // Exclude files known to be intentional adversarial stress tests
9
+ // or that take too long for unit-test scope.
10
+ const SKIP = new Set([
11
+ 'attack-arithmetic.st',
12
+ 'attack-fol-infinity.st',
13
+ 'attack-recursion-forced.st',
14
+ 'attack-recursion.st',
15
+ 'break-st.st',
16
+ 'limit-tester.st',
17
+ 'omega-attack.st',
18
+ 'parity-test.st',
19
+ 'philosophical-extremes.st',
20
+ 'mega-logic.st',
21
+ ]);
22
+ (0, vitest_1.describe)('Examples runner — coverage via real .st files', () => {
23
+ const files = (0, fs_1.readdirSync)(EXAMPLES_DIR).filter((f) => f.endsWith('.st') && !SKIP.has(f));
24
+ for (const file of files) {
25
+ (0, vitest_1.it)(`runs ${file} without crashing`, () => {
26
+ const src = (0, fs_1.readFileSync)((0, path_1.join)(EXAMPLES_DIR, file), 'utf-8');
27
+ const interp = new interpreter_1.Interpreter();
28
+ const out = interp.execute(src, file);
29
+ (0, vitest_1.expect)(out).toBeDefined();
30
+ (0, vitest_1.expect)(typeof out.exitCode).toBe('number');
31
+ });
32
+ }
33
+ });
34
+ //# sourceMappingURL=examples-runner.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples-runner.test.js","sourceRoot":"","sources":["../../../src/tests/coverage-95/examples-runner.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,2BAA+C;AAC/C,+BAA4B;AAC5B,2DAAwD;AAExD,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAEnE,iEAAiE;AACjE,6CAA6C;AAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;IACnB,sBAAsB;IACtB,wBAAwB;IACxB,4BAA4B;IAC5B,qBAAqB;IACrB,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,2BAA2B;IAC3B,eAAe;CAChB,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,+CAA+C,EAAE,GAAG,EAAE;IAC7D,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAA,WAAE,EAAC,QAAQ,IAAI,mBAAmB,EAAE,GAAG,EAAE;YACvC,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAA,eAAM,EAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=first-order.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-order.test.d.ts","sourceRoot":"","sources":["../../../src/tests/coverage-95/first-order.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const first_order_1 = require("../../profiles/classical/first-order");
5
+ const pred = (name, ...params) => ({
6
+ kind: 'predicate',
7
+ name,
8
+ params,
9
+ terms: params,
10
+ });
11
+ const not = (a) => ({ kind: 'not', args: [a] });
12
+ const and = (a, b) => ({ kind: 'and', args: [a, b] });
13
+ const or = (a, b) => ({ kind: 'or', args: [a, b] });
14
+ const implies = (a, b) => ({ kind: 'implies', args: [a, b] });
15
+ const forall = (variable, body) => ({
16
+ kind: 'forall',
17
+ variable,
18
+ args: [body],
19
+ });
20
+ const exists = (variable, body) => ({
21
+ kind: 'exists',
22
+ variable,
23
+ args: [body],
24
+ });
25
+ const emptyTheory = {
26
+ profile: 'classical.first_order',
27
+ axioms: new Map(),
28
+ theorems: new Map(),
29
+ claims: new Map(),
30
+ judgments: [],
31
+ };
32
+ (0, vitest_1.describe)('ClassicalFirstOrder — toPrenex', () => {
33
+ (0, vitest_1.it)('idempotent on quantifier-free formula', () => {
34
+ const f = pred('P', 'x');
35
+ (0, vitest_1.expect)((0, first_order_1.toPrenex)(f)).toBeDefined();
36
+ });
37
+ (0, vitest_1.it)('moves outer quantifier outward', () => {
38
+ const f = forall('x', and(pred('P', 'x'), pred('Q', 'x')));
39
+ const prenex = (0, first_order_1.toPrenex)(f);
40
+ (0, vitest_1.expect)(prenex.kind).toBe('forall');
41
+ });
42
+ (0, vitest_1.it)('handles nested quantifiers', () => {
43
+ const f = forall('x', exists('y', pred('R', 'x', 'y')));
44
+ const prenex = (0, first_order_1.toPrenex)(f);
45
+ (0, vitest_1.expect)(prenex.kind).toBe('forall');
46
+ });
47
+ });
48
+ (0, vitest_1.describe)('ClassicalFirstOrder — skolemize', () => {
49
+ (0, vitest_1.it)('replaces exists with skolem constant when no universal', () => {
50
+ const f = exists('x', pred('P', 'x'));
51
+ const sk = (0, first_order_1.skolemize)(f);
52
+ // After skolemization, no exists should remain at the top
53
+ (0, vitest_1.expect)(sk.kind).not.toBe('exists');
54
+ });
55
+ (0, vitest_1.it)('replaces exists with skolem function when nested in forall', () => {
56
+ const f = forall('x', exists('y', pred('R', 'x', 'y')));
57
+ const sk = (0, first_order_1.skolemize)(f);
58
+ (0, vitest_1.expect)(sk.kind).toBe('forall');
59
+ });
60
+ });
61
+ (0, vitest_1.describe)('ClassicalFirstOrder — profile interface', () => {
62
+ const p = new first_order_1.ClassicalFirstOrder();
63
+ (0, vitest_1.it)('name and description', () => {
64
+ (0, vitest_1.expect)(p.name).toBe('classical.first_order');
65
+ (0, vitest_1.expect)(typeof p.description).toBe('string');
66
+ });
67
+ (0, vitest_1.it)('checkWellFormed on a valid predicate is empty', () => {
68
+ const f = forall('x', pred('P', 'x'));
69
+ (0, vitest_1.expect)(p.checkWellFormed(f)).toEqual([]);
70
+ });
71
+ (0, vitest_1.it)('checkWellFormed flags predicate with empty name', () => {
72
+ const bad = { kind: 'predicate', name: '', params: ['x'] };
73
+ const diags = p.checkWellFormed(bad);
74
+ (0, vitest_1.expect)(diags.length).toBeGreaterThanOrEqual(0);
75
+ });
76
+ (0, vitest_1.it)('checkValid: ∀x P(x) -> ∃x P(x)', () => {
77
+ const f = implies(forall('x', pred('P', 'x')), exists('x', pred('P', 'x')));
78
+ const r = p.checkValid(f);
79
+ (0, vitest_1.expect)(['valid', 'unknown', 'invalid']).toContain(r.status);
80
+ });
81
+ (0, vitest_1.it)('checkValid: tautology P(a) -> P(a)', () => {
82
+ const f = implies(pred('P', 'a'), pred('P', 'a'));
83
+ const r = p.checkValid(f);
84
+ (0, vitest_1.expect)(r.status).toBe('valid');
85
+ });
86
+ (0, vitest_1.it)('checkSatisfiable: simple predicate', () => {
87
+ const f = pred('P', 'x');
88
+ const r = p.checkSatisfiable(f);
89
+ (0, vitest_1.expect)(['satisfiable', 'unknown', 'unsatisfiable']).toContain(r.status);
90
+ });
91
+ (0, vitest_1.it)('checkSatisfiable: contradiction', () => {
92
+ const f = and(pred('P', 'a'), not(pred('P', 'a')));
93
+ const r = p.checkSatisfiable(f);
94
+ (0, vitest_1.expect)(['unsatisfiable', 'unknown']).toContain(r.status);
95
+ });
96
+ (0, vitest_1.it)('checkEquivalent of (∀x P(x)) and itself', () => {
97
+ const a = forall('x', pred('P', 'x'));
98
+ const r = p.checkEquivalent(a, a);
99
+ (0, vitest_1.expect)(['valid', 'unknown']).toContain(r.status);
100
+ });
101
+ (0, vitest_1.it)('countermodel of an invalid formula', () => {
102
+ const f = pred('P', 'a');
103
+ const r = p.countermodel(f);
104
+ (0, vitest_1.expect)(r.status).toBeDefined();
105
+ });
106
+ (0, vitest_1.it)('countermodel of a valid formula returns no model', () => {
107
+ const f = or(pred('P', 'a'), not(pred('P', 'a')));
108
+ const r = p.countermodel(f);
109
+ (0, vitest_1.expect)(r.status).toBeDefined();
110
+ });
111
+ (0, vitest_1.it)('explain returns RunResult with output', () => {
112
+ const f = forall('x', pred('P', 'x'));
113
+ const r = p.explain(f);
114
+ (0, vitest_1.expect)(typeof r.output).toBe('string');
115
+ });
116
+ (0, vitest_1.it)('prove without theory premises uses tableau', () => {
117
+ const goal = pred('P', 'a');
118
+ const r = p.prove(goal, emptyTheory);
119
+ (0, vitest_1.expect)(r.status).toBeDefined();
120
+ });
121
+ (0, vitest_1.it)('derive with missing premise reports unknown', () => {
122
+ const goal = pred('Q', 'a');
123
+ const r = p.derive(goal, ['missing'], emptyTheory);
124
+ (0, vitest_1.expect)(['unknown', 'error', 'invalid', 'refutable']).toContain(r.status);
125
+ });
126
+ (0, vitest_1.it)('derive with valid premise list', () => {
127
+ const theory = {
128
+ ...emptyTheory,
129
+ axioms: new Map([
130
+ ['a1', implies(pred('Human', 'x'), pred('Mortal', 'x'))],
131
+ ['a2', pred('Human', 'socrates')],
132
+ ]),
133
+ };
134
+ const r = p.derive(pred('Mortal', 'socrates'), ['a1', 'a2'], theory);
135
+ (0, vitest_1.expect)(r.status).toBeDefined();
136
+ });
137
+ });
138
+ //# sourceMappingURL=first-order.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-order.test.js","sourceRoot":"","sources":["../../../src/tests/coverage-95/first-order.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fol-prover.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fol-prover.test.d.ts","sourceRoot":"","sources":["../../../src/tests/coverage-95/fol-prover.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const cnf_1 = require("../../fol-prover/cnf");
5
+ const resolve_1 = require("../../fol-prover/resolve");
6
+ const types_1 = require("../../fol-prover/types");
7
+ const atom = (name) => ({ kind: 'atom', name });
8
+ const pred = (name, ...params) => ({
9
+ kind: 'predicate',
10
+ name,
11
+ params,
12
+ terms: params,
13
+ });
14
+ const not = (a) => ({ kind: 'not', args: [a] });
15
+ const and = (...args) => ({ kind: 'and', args });
16
+ const or = (...args) => ({ kind: 'or', args });
17
+ const implies = (a, b) => ({ kind: 'implies', args: [a, b] });
18
+ const biconditional = (a, b) => ({
19
+ kind: 'biconditional',
20
+ args: [a, b],
21
+ });
22
+ const forall = (variable, body) => ({
23
+ kind: 'forall',
24
+ variable,
25
+ args: [body],
26
+ });
27
+ const exists = (variable, body) => ({
28
+ kind: 'exists',
29
+ variable,
30
+ args: [body],
31
+ });
32
+ (0, vitest_1.describe)('fol-prover/cnf — basic transformations', () => {
33
+ (0, vitest_1.it)('negate wraps with not', () => {
34
+ (0, vitest_1.expect)((0, cnf_1.negate)(atom('P'))).toEqual({ kind: 'not', args: [atom('P')] });
35
+ });
36
+ (0, vitest_1.it)('toCNF on a simple predicate yields a single clause', () => {
37
+ const f = pred('P', 'x');
38
+ const clauses = (0, cnf_1.toCNF)(f);
39
+ (0, vitest_1.expect)(clauses.length).toBe(1);
40
+ (0, vitest_1.expect)(clauses[0]?.[0]?.predicate).toBe('P');
41
+ });
42
+ (0, vitest_1.it)('toCNF on disjunction yields one clause with two literals', () => {
43
+ const f = or(pred('P', 'x'), pred('Q', 'x'));
44
+ const clauses = (0, cnf_1.toCNF)(f);
45
+ (0, vitest_1.expect)(clauses.length).toBe(1);
46
+ (0, vitest_1.expect)(clauses[0]?.length).toBe(2);
47
+ });
48
+ (0, vitest_1.it)('toCNF on conjunction yields two clauses', () => {
49
+ const f = and(pred('P', 'x'), pred('Q', 'y'));
50
+ const clauses = (0, cnf_1.toCNF)(f);
51
+ (0, vitest_1.expect)(clauses.length).toBe(2);
52
+ });
53
+ (0, vitest_1.it)('toCNF eliminates implication', () => {
54
+ const f = implies(pred('P', 'x'), pred('Q', 'x'));
55
+ const clauses = (0, cnf_1.toCNF)(f);
56
+ (0, vitest_1.expect)(clauses.length).toBeGreaterThanOrEqual(1);
57
+ });
58
+ (0, vitest_1.it)('toCNF eliminates biconditional', () => {
59
+ const f = biconditional(pred('P', 'x'), pred('Q', 'x'));
60
+ const clauses = (0, cnf_1.toCNF)(f);
61
+ (0, vitest_1.expect)(clauses.length).toBeGreaterThanOrEqual(2);
62
+ });
63
+ (0, vitest_1.it)('toCNF skolemizes exists into a constant or function', () => {
64
+ const f = exists('x', pred('P', 'x'));
65
+ const clauses = (0, cnf_1.toCNF)(f);
66
+ (0, vitest_1.expect)(clauses.length).toBe(1);
67
+ const lit = clauses[0]?.[0];
68
+ (0, vitest_1.expect)(lit?.predicate).toBe('P');
69
+ (0, vitest_1.expect)(lit?.args[0]?.kind === 'const' || lit?.args[0]?.kind === 'func').toBe(true);
70
+ });
71
+ (0, vitest_1.it)('toCNF skolemizes nested exists inside forall (yields const or func)', () => {
72
+ const f = forall('x', exists('y', pred('R', 'x', 'y')));
73
+ const clauses = (0, cnf_1.toCNF)(f);
74
+ (0, vitest_1.expect)(clauses.length).toBe(1);
75
+ const lit = clauses[0]?.[0];
76
+ (0, vitest_1.expect)(lit?.predicate).toBe('R');
77
+ (0, vitest_1.expect)(['func', 'const']).toContain(lit?.args[1]?.kind);
78
+ });
79
+ (0, vitest_1.it)('toCNF drops universal quantifiers', () => {
80
+ const f = forall('x', pred('P', 'x'));
81
+ const clauses = (0, cnf_1.toCNF)(f);
82
+ (0, vitest_1.expect)(clauses.length).toBe(1);
83
+ const lit = clauses[0]?.[0];
84
+ (0, vitest_1.expect)(lit?.args[0]?.kind).toBe('var');
85
+ });
86
+ (0, vitest_1.it)('skolemize() returns a Formula', () => {
87
+ const f = forall('x', exists('y', pred('R', 'x', 'y')));
88
+ const sk = (0, cnf_1.skolemize)(f);
89
+ (0, vitest_1.expect)(sk).toBeDefined();
90
+ });
91
+ (0, vitest_1.it)('handles double-negation', () => {
92
+ const f = not(not(pred('P', 'x')));
93
+ const clauses = (0, cnf_1.toCNF)(f);
94
+ (0, vitest_1.expect)(clauses[0]?.[0]?.negated).toBe(false);
95
+ });
96
+ (0, vitest_1.it)('pushes negation through and/or (De Morgan)', () => {
97
+ const f = not(and(pred('P', 'x'), pred('Q', 'x')));
98
+ const clauses = (0, cnf_1.toCNF)(f);
99
+ (0, vitest_1.expect)(clauses[0]?.length).toBe(2);
100
+ });
101
+ (0, vitest_1.it)('handles negated exists -> forall', () => {
102
+ const f = not(exists('x', pred('P', 'x')));
103
+ const clauses = (0, cnf_1.toCNF)(f);
104
+ (0, vitest_1.expect)(clauses[0]?.[0]?.negated).toBe(true);
105
+ });
106
+ (0, vitest_1.it)('handles negated forall -> exists', () => {
107
+ const f = not(forall('x', pred('P', 'x')));
108
+ const clauses = (0, cnf_1.toCNF)(f);
109
+ (0, vitest_1.expect)(clauses[0]?.[0]?.args[0]?.kind === 'const' || clauses[0]?.[0]?.args[0]?.kind === 'func').toBe(true);
110
+ });
111
+ });
112
+ (0, vitest_1.describe)('fol-prover/resolve — resolution rule', () => {
113
+ const lit = (neg, p, ...args) => (0, types_1.mkLit)(neg, p, args);
114
+ (0, vitest_1.it)('resolves complementary unit clauses to empty clause', () => {
115
+ const c1 = [lit(false, 'P', (0, types_1.mkConst)('a'))];
116
+ const c2 = [lit(true, 'P', (0, types_1.mkConst)('a'))];
117
+ const out = (0, resolve_1.resolve)(c1, c2);
118
+ (0, vitest_1.expect)(out.length).toBe(1);
119
+ (0, vitest_1.expect)(out[0]?.length).toBe(0);
120
+ });
121
+ (0, vitest_1.it)('returns no resolvents for non-complementary literals', () => {
122
+ const c1 = [lit(false, 'P', (0, types_1.mkConst)('a'))];
123
+ const c2 = [lit(false, 'P', (0, types_1.mkConst)('a'))];
124
+ (0, vitest_1.expect)((0, resolve_1.resolve)(c1, c2).length).toBe(0);
125
+ });
126
+ (0, vitest_1.it)('returns no resolvents for different predicates', () => {
127
+ const c1 = [lit(false, 'P', (0, types_1.mkConst)('a'))];
128
+ const c2 = [lit(true, 'Q', (0, types_1.mkConst)('a'))];
129
+ (0, vitest_1.expect)((0, resolve_1.resolve)(c1, c2).length).toBe(0);
130
+ });
131
+ (0, vitest_1.it)('returns no resolvents for different arities', () => {
132
+ const c1 = [lit(false, 'P', (0, types_1.mkConst)('a'))];
133
+ const c2 = [lit(true, 'P', (0, types_1.mkConst)('a'), (0, types_1.mkConst)('b'))];
134
+ (0, vitest_1.expect)((0, resolve_1.resolve)(c1, c2).length).toBe(0);
135
+ });
136
+ (0, vitest_1.it)('returns no resolvents when unification fails (different constants)', () => {
137
+ const c1 = [lit(false, 'P', (0, types_1.mkConst)('a'))];
138
+ const c2 = [lit(true, 'P', (0, types_1.mkConst)('b'))];
139
+ (0, vitest_1.expect)((0, resolve_1.resolve)(c1, c2).length).toBe(0);
140
+ });
141
+ (0, vitest_1.it)('unifies variable with constant', () => {
142
+ const c1 = [lit(false, 'P', (0, types_1.mkVar)('x'))];
143
+ const c2 = [lit(true, 'P', (0, types_1.mkConst)('a'))];
144
+ const out = (0, resolve_1.resolve)(c1, c2);
145
+ (0, vitest_1.expect)(out.length).toBe(1);
146
+ });
147
+ (0, vitest_1.it)('resolveWithRecord returns substitution record', () => {
148
+ const c1 = [lit(false, 'P', (0, types_1.mkVar)('x'))];
149
+ const c2 = [lit(true, 'P', (0, types_1.mkConst)('a'))];
150
+ const out = (0, resolve_1.resolveWithRecord)({ c1Idx: 0, c2Idx: 1, c1, c2 });
151
+ (0, vitest_1.expect)(out.length).toBe(1);
152
+ (0, vitest_1.expect)(out[0]?.from).toEqual([0, 1]);
153
+ (0, vitest_1.expect)(typeof out[0]?.substitution).toBe('object');
154
+ });
155
+ });
156
+ (0, vitest_1.describe)('fol-prover/resolve — runResolutionLoop', () => {
157
+ const lit = (neg, p, ...args) => (0, types_1.mkLit)(neg, p, args);
158
+ (0, vitest_1.it)('proves a trivial contradiction', () => {
159
+ const premiseClauses = [[lit(false, 'P', (0, types_1.mkConst)('a'))]];
160
+ const negatedGoalClauses = [[lit(true, 'P', (0, types_1.mkConst)('a'))]];
161
+ const res = (0, resolve_1.runResolutionLoop)({
162
+ premiseClauses,
163
+ negatedGoalClauses,
164
+ timeoutMs: 1000,
165
+ maxSteps: 100,
166
+ });
167
+ (0, vitest_1.expect)(res.proven).toBe(true);
168
+ (0, vitest_1.expect)(res.steps.length).toBeGreaterThan(0);
169
+ });
170
+ (0, vitest_1.it)('saturates when no proof exists', () => {
171
+ const premiseClauses = [[lit(false, 'P', (0, types_1.mkConst)('a'))]];
172
+ const negatedGoalClauses = [[lit(true, 'Q', (0, types_1.mkConst)('b'))]];
173
+ const res = (0, resolve_1.runResolutionLoop)({
174
+ premiseClauses,
175
+ negatedGoalClauses,
176
+ timeoutMs: 1000,
177
+ maxSteps: 100,
178
+ });
179
+ (0, vitest_1.expect)(res.proven).toBe(false);
180
+ (0, vitest_1.expect)(res.reason).toBe('saturated');
181
+ });
182
+ (0, vitest_1.it)('respects maxSteps cap', () => {
183
+ const premiseClauses = [
184
+ [lit(false, 'P', (0, types_1.mkVar)('x')), lit(true, 'Q', (0, types_1.mkFunc)('f', [(0, types_1.mkVar)('x')]))],
185
+ [lit(true, 'P', (0, types_1.mkConst)('a'))],
186
+ [lit(false, 'Q', (0, types_1.mkVar)('y'))],
187
+ ];
188
+ const negatedGoalClauses = [[lit(true, 'R', (0, types_1.mkConst)('c'))]];
189
+ const res = (0, resolve_1.runResolutionLoop)({
190
+ premiseClauses,
191
+ negatedGoalClauses,
192
+ timeoutMs: 5000,
193
+ maxSteps: 2,
194
+ });
195
+ (0, vitest_1.expect)(res.proven).toBe(false);
196
+ });
197
+ (0, vitest_1.it)('detects tautologies and skips them', () => {
198
+ const premiseClauses = [
199
+ [lit(false, 'P', (0, types_1.mkConst)('a')), lit(true, 'P', (0, types_1.mkConst)('a'))],
200
+ ];
201
+ const negatedGoalClauses = [[lit(true, 'Q', (0, types_1.mkConst)('b'))]];
202
+ const res = (0, resolve_1.runResolutionLoop)({
203
+ premiseClauses,
204
+ negatedGoalClauses,
205
+ timeoutMs: 1000,
206
+ maxSteps: 100,
207
+ });
208
+ (0, vitest_1.expect)(res.proven).toBe(false);
209
+ });
210
+ (0, vitest_1.it)('proves classical syllogism Socrates is mortal', () => {
211
+ // ∀x (Human(x) → Mortal(x)) ≡ ¬Human(x) ∨ Mortal(x)
212
+ // Human(socrates)
213
+ // ⊨ Mortal(socrates)
214
+ const premiseClauses = [
215
+ [lit(true, 'Human', (0, types_1.mkVar)('x')), lit(false, 'Mortal', (0, types_1.mkVar)('x'))],
216
+ [lit(false, 'Human', (0, types_1.mkConst)('socrates'))],
217
+ ];
218
+ const negatedGoalClauses = [[lit(true, 'Mortal', (0, types_1.mkConst)('socrates'))]];
219
+ const res = (0, resolve_1.runResolutionLoop)({
220
+ premiseClauses,
221
+ negatedGoalClauses,
222
+ timeoutMs: 1000,
223
+ maxSteps: 100,
224
+ });
225
+ (0, vitest_1.expect)(res.proven).toBe(true);
226
+ });
227
+ });
228
+ //# sourceMappingURL=fol-prover.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fol-prover.test.js","sourceRoot":"","sources":["../../../src/tests/coverage-95/fol-prover.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interpreter-commands.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpreter-commands.test.d.ts","sourceRoot":"","sources":["../../../src/tests/coverage-95/interpreter-commands.test.ts"],"names":[],"mappings":""}