@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,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const arithmetic_1 = require("../../profiles/arithmetic");
5
+ const num = (v) => ({ kind: 'number', value: v });
6
+ const atom = (n) => ({ kind: 'atom', name: n });
7
+ const add = (l, r) => ({ kind: 'add', args: [l, r] });
8
+ const sub = (l, r) => ({ kind: 'subtract', args: [l, r] });
9
+ const mul = (l, r) => ({ kind: 'multiply', args: [l, r] });
10
+ const div = (l, r) => ({ kind: 'divide', args: [l, r] });
11
+ const mod = (l, r) => ({ kind: 'modulo', args: [l, r] });
12
+ const lt = (l, r) => ({ kind: 'less', args: [l, r] });
13
+ const gt = (l, r) => ({ kind: 'greater', args: [l, r] });
14
+ const le = (l, r) => ({ kind: 'less_eq', args: [l, r] });
15
+ const ge = (l, r) => ({ kind: 'greater_eq', args: [l, r] });
16
+ (0, vitest_1.describe)('evalNumeric — arithmetic evaluation', () => {
17
+ (0, vitest_1.it)('evaluates simple literals', () => {
18
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(num(42))).toBe(42);
19
+ });
20
+ (0, vitest_1.it)('evaluates with vars', () => {
21
+ const vars = new Map([['x', 5]]);
22
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(atom('x'), vars)).toBe(5);
23
+ });
24
+ (0, vitest_1.it)('atom without binding returns NaN', () => {
25
+ (0, vitest_1.expect)(Number.isNaN((0, arithmetic_1.evalNumeric)(atom('unknown')))).toBe(true);
26
+ });
27
+ (0, vitest_1.it)('add, subtract, multiply', () => {
28
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(add(num(2), num(3)))).toBe(5);
29
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(sub(num(10), num(3)))).toBe(7);
30
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(mul(num(4), num(3)))).toBe(12);
31
+ });
32
+ (0, vitest_1.it)('divide and modulo', () => {
33
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(div(num(10), num(2)))).toBe(5);
34
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(mod(num(10), num(3)))).toBe(1);
35
+ });
36
+ (0, vitest_1.it)('division by zero is NaN', () => {
37
+ (0, vitest_1.expect)(Number.isNaN((0, arithmetic_1.evalNumeric)(div(num(5), num(0))))).toBe(true);
38
+ });
39
+ (0, vitest_1.it)('modulo by zero is NaN', () => {
40
+ (0, vitest_1.expect)(Number.isNaN((0, arithmetic_1.evalNumeric)(mod(num(5), num(0))))).toBe(true);
41
+ });
42
+ (0, vitest_1.it)('comparisons return 1/0', () => {
43
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(lt(num(1), num(2)))).toBe(1);
44
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(lt(num(2), num(1)))).toBe(0);
45
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(gt(num(2), num(1)))).toBe(1);
46
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(le(num(2), num(2)))).toBe(1);
47
+ (0, vitest_1.expect)((0, arithmetic_1.evalNumeric)(ge(num(3), num(2)))).toBe(1);
48
+ });
49
+ (0, vitest_1.it)('unknown kind returns NaN', () => {
50
+ (0, vitest_1.expect)(Number.isNaN((0, arithmetic_1.evalNumeric)({ kind: 'and', args: [num(1), num(2)] }))).toBe(true);
51
+ });
52
+ (0, vitest_1.it)('records trace when provided', () => {
53
+ const trace = [];
54
+ (0, arithmetic_1.evalNumeric)(add(num(2), num(3)), undefined, trace);
55
+ (0, vitest_1.expect)(trace.length).toBeGreaterThan(0);
56
+ (0, vitest_1.expect)(trace[0]).toContain('suma');
57
+ const trace2 = [];
58
+ (0, arithmetic_1.evalNumeric)(sub(num(5), num(2)), undefined, trace2);
59
+ (0, vitest_1.expect)(trace2[0]).toContain('resta');
60
+ const trace3 = [];
61
+ (0, arithmetic_1.evalNumeric)(mul(num(3), num(4)), undefined, trace3);
62
+ (0, vitest_1.expect)(trace3[0]).toContain('multiplicación');
63
+ const trace4 = [];
64
+ (0, arithmetic_1.evalNumeric)(div(num(8), num(2)), undefined, trace4);
65
+ (0, vitest_1.expect)(trace4[0]).toContain('división');
66
+ const trace5 = [];
67
+ (0, arithmetic_1.evalNumeric)(mod(num(7), num(3)), undefined, trace5);
68
+ (0, vitest_1.expect)(trace5[0]).toContain('módulo');
69
+ const trace6 = [];
70
+ (0, arithmetic_1.evalNumeric)(lt(num(1), num(2)), undefined, trace6);
71
+ (0, vitest_1.expect)(trace6[0]).toContain('comparación');
72
+ const trace7 = [];
73
+ (0, arithmetic_1.evalNumeric)(gt(num(3), num(1)), undefined, trace7);
74
+ (0, vitest_1.expect)(trace7[0]).toContain('comparación');
75
+ const trace8 = [];
76
+ (0, arithmetic_1.evalNumeric)(le(num(1), num(2)), undefined, trace8);
77
+ (0, vitest_1.expect)(trace8[0]).toContain('comparación');
78
+ const trace9 = [];
79
+ (0, arithmetic_1.evalNumeric)(ge(num(2), num(1)), undefined, trace9);
80
+ (0, vitest_1.expect)(trace9[0]).toContain('comparación');
81
+ });
82
+ });
83
+ (0, vitest_1.describe)('ArithmeticProfile — interface', () => {
84
+ const p = new arithmetic_1.ArithmeticProfile();
85
+ (0, vitest_1.it)('has name arithmetic', () => {
86
+ (0, vitest_1.expect)(p.name).toBe('arithmetic');
87
+ });
88
+ (0, vitest_1.it)('checkWellFormed accepts numeric formulas', () => {
89
+ (0, vitest_1.expect)(p.checkWellFormed(add(num(1), num(2)))).toEqual([]);
90
+ });
91
+ (0, vitest_1.it)('checkValid: 2 > 1 evaluates to valid', () => {
92
+ const r = p.checkValid(gt(num(2), num(1)));
93
+ (0, vitest_1.expect)(['valid', 'invalid', 'unknown']).toContain(r.status);
94
+ });
95
+ (0, vitest_1.it)('checkValid: 1 > 2 is invalid', () => {
96
+ const r = p.checkValid(gt(num(1), num(2)));
97
+ (0, vitest_1.expect)(r.status).toBeDefined();
98
+ });
99
+ (0, vitest_1.it)('checkSatisfiable on a comparison', () => {
100
+ const r = p.checkSatisfiable(gt(num(2), num(1)));
101
+ (0, vitest_1.expect)(r.status).toBeDefined();
102
+ });
103
+ (0, vitest_1.it)('exposes profile interface', () => {
104
+ (0, vitest_1.expect)(typeof p.checkValid).toBe('function');
105
+ (0, vitest_1.expect)(typeof p.checkSatisfiable).toBe('function');
106
+ (0, vitest_1.expect)(typeof p.explain).toBe('function');
107
+ });
108
+ (0, vitest_1.it)('explain returns RunResult with output', () => {
109
+ const r = p.explain(add(num(2), num(3)));
110
+ (0, vitest_1.expect)(typeof r.output).toBe('string');
111
+ });
112
+ (0, vitest_1.it)('countermodel of 2 > 1', () => {
113
+ const r = p.countermodel(gt(num(2), num(1)));
114
+ (0, vitest_1.expect)(r.status).toBeDefined();
115
+ });
116
+ (0, vitest_1.it)('prove with empty theory falls back', () => {
117
+ const t = {
118
+ profile: 'arithmetic',
119
+ axioms: new Map(),
120
+ theorems: new Map(),
121
+ claims: new Map(),
122
+ judgments: [],
123
+ };
124
+ const r = p.prove(gt(num(2), num(1)), t);
125
+ (0, vitest_1.expect)(r.status).toBeDefined();
126
+ });
127
+ (0, vitest_1.it)('derive with empty premises uses checkValid', () => {
128
+ const t = {
129
+ profile: 'arithmetic',
130
+ axioms: new Map(),
131
+ theorems: new Map(),
132
+ claims: new Map(),
133
+ judgments: [],
134
+ };
135
+ const r = p.derive(gt(num(2), num(1)), [], t);
136
+ (0, vitest_1.expect)(r.status).toBeDefined();
137
+ });
138
+ });
139
+ //# sourceMappingURL=arithmetic.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arithmetic.test.js","sourceRoot":"","sources":["../../../src/tests/coverage-95/arithmetic.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=belnap.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"belnap.test.d.ts","sourceRoot":"","sources":["../../../src/tests/coverage-95/belnap.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const belnap_1 = require("../../profiles/paraconsistent/belnap");
5
+ const atom = (name) => ({ kind: 'atom', name });
6
+ const not = (a) => ({ kind: 'not', args: [a] });
7
+ const and = (a, b) => ({ kind: 'and', args: [a, b] });
8
+ const or = (a, b) => ({ kind: 'or', args: [a, b] });
9
+ const implies = (a, b) => ({ kind: 'implies', args: [a, b] });
10
+ const bic = (a, b) => ({ kind: 'biconditional', args: [a, b] });
11
+ const empty = {
12
+ profile: 'paraconsistent.belnap',
13
+ axioms: new Map(),
14
+ theorems: new Map(),
15
+ claims: new Map(),
16
+ judgments: [],
17
+ };
18
+ (0, vitest_1.describe)('ParaconsistentBelnap — profile interface', () => {
19
+ const p = new belnap_1.ParaconsistentBelnap();
20
+ (0, vitest_1.it)('has correct name', () => {
21
+ (0, vitest_1.expect)(p.name).toBe('paraconsistent.belnap');
22
+ (0, vitest_1.expect)(typeof p.description).toBe('string');
23
+ });
24
+ (0, vitest_1.it)('checkWellFormed accepts valid formulas', () => {
25
+ (0, vitest_1.expect)(p.checkWellFormed(atom('P'))).toEqual([]);
26
+ });
27
+ (0, vitest_1.it)('checkWellFormed flags empty atom name', () => {
28
+ const bad = { kind: 'atom', name: '' };
29
+ (0, vitest_1.expect)(p.checkWellFormed(bad).length).toBeGreaterThan(0);
30
+ });
31
+ (0, vitest_1.it)('classical tautology P -> P is NOT valid in Belnap (fails at N)', () => {
32
+ const r = p.checkValid(implies(atom('P'), atom('P')));
33
+ (0, vitest_1.expect)(['invalid', 'valid']).toContain(r.status);
34
+ });
35
+ (0, vitest_1.it)('P | !P is NOT valid in Belnap (fails at N)', () => {
36
+ const r = p.checkValid(or(atom('P'), not(atom('P'))));
37
+ (0, vitest_1.expect)(r.status).toBe('invalid');
38
+ });
39
+ (0, vitest_1.it)('P & !P is satisfiable in Belnap (B value)', () => {
40
+ const r = p.checkSatisfiable(and(atom('P'), not(atom('P'))));
41
+ (0, vitest_1.expect)(r.status).toBe('satisfiable');
42
+ });
43
+ (0, vitest_1.it)('biconditional with equivalent sides: educational note', () => {
44
+ const r = p.checkValid(bic(atom('P'), atom('P')));
45
+ (0, vitest_1.expect)(r.output).toMatch(/Belnap|equivalentes|Nota/);
46
+ });
47
+ (0, vitest_1.it)('checkEquivalent: P and P are equivalent', () => {
48
+ const r = p.checkEquivalent(atom('P'), atom('P'));
49
+ (0, vitest_1.expect)(r.status).toBe('valid');
50
+ });
51
+ (0, vitest_1.it)('checkEquivalent: P and Q are not equivalent', () => {
52
+ const r = p.checkEquivalent(atom('P'), atom('Q'));
53
+ (0, vitest_1.expect)(r.status).toBe('invalid');
54
+ });
55
+ (0, vitest_1.it)('checkEquivalent: De Morgan ¬(P∧Q) ≡ ¬P∨¬Q', () => {
56
+ const lhs = not(and(atom('P'), atom('Q')));
57
+ const rhs = or(not(atom('P')), not(atom('Q')));
58
+ const r = p.checkEquivalent(lhs, rhs);
59
+ (0, vitest_1.expect)(r.status).toBe('valid');
60
+ });
61
+ (0, vitest_1.it)('countermodel for ¬(P ∧ ¬P) returns model with P=B', () => {
62
+ const f = not(and(atom('P'), not(atom('P'))));
63
+ const r = p.countermodel(f);
64
+ // Either valid (no countermodel) or invalid with model
65
+ (0, vitest_1.expect)(r.status).toBeDefined();
66
+ });
67
+ (0, vitest_1.it)('countermodel of tautology returns valid', () => {
68
+ // T constant always designated
69
+ const r = p.countermodel({ kind: 'true' });
70
+ (0, vitest_1.expect)(r.status).toBeDefined();
71
+ });
72
+ (0, vitest_1.it)('explain returns detailed analysis', () => {
73
+ const r = p.explain(and(atom('P'), atom('Q')));
74
+ (0, vitest_1.expect)(r.output).toContain('Belnap');
75
+ (0, vitest_1.expect)(r.output).toContain('Retículo');
76
+ });
77
+ (0, vitest_1.it)('explain on single atom mentions per-value evaluation', () => {
78
+ const r = p.explain(atom('P'));
79
+ (0, vitest_1.expect)(r.output).toMatch(/Evaluación|Valor/);
80
+ });
81
+ (0, vitest_1.it)('explain on contradiction P & !P', () => {
82
+ const r = p.explain(and(atom('P'), not(atom('P'))));
83
+ (0, vitest_1.expect)(r.output).toContain('SATISFACIBLE');
84
+ });
85
+ (0, vitest_1.it)('prove with empty premises falls back to checkValid', () => {
86
+ const r = p.prove(implies(atom('P'), atom('P')), empty);
87
+ (0, vitest_1.expect)(r.status).toBeDefined();
88
+ });
89
+ (0, vitest_1.it)('prove with premises that designate, goal that doesn’t -> refutable', () => {
90
+ const theory = {
91
+ ...empty,
92
+ axioms: new Map([['p', atom('P')]]),
93
+ };
94
+ const r = p.prove(atom('Q'), theory);
95
+ (0, vitest_1.expect)(['refutable', 'provable']).toContain(r.status);
96
+ });
97
+ (0, vitest_1.it)('prove with premises and goal both designated', () => {
98
+ const theory = {
99
+ ...empty,
100
+ axioms: new Map([['p', atom('P')]]),
101
+ };
102
+ const r = p.prove(or(atom('P'), atom('Q')), theory);
103
+ (0, vitest_1.expect)(r.status).toBeDefined();
104
+ });
105
+ (0, vitest_1.it)('prove with named premises', () => {
106
+ const theory = {
107
+ ...empty,
108
+ axioms: new Map([
109
+ ['p', atom('P')],
110
+ ['q', atom('Q')],
111
+ ]),
112
+ };
113
+ const r = p.prove(and(atom('P'), atom('Q')), theory, ['p', 'q']);
114
+ (0, vitest_1.expect)(r.status).toBeDefined();
115
+ });
116
+ (0, vitest_1.it)('prove with missing named premise generates warning', () => {
117
+ const theory = {
118
+ ...empty,
119
+ axioms: new Map([['p', atom('P')]]),
120
+ };
121
+ const r = p.prove(atom('P'), theory, ['p', 'missingPremise']);
122
+ (0, vitest_1.expect)(r.status).toBeDefined();
123
+ });
124
+ (0, vitest_1.it)('derive with empty premises falls back to checkValid', () => {
125
+ const r = p.derive(implies(atom('P'), atom('P')), [], empty);
126
+ (0, vitest_1.expect)(r.status).toBeDefined();
127
+ });
128
+ (0, vitest_1.it)('derive with premises and goal designated -> provable', () => {
129
+ const theory = {
130
+ ...empty,
131
+ axioms: new Map([['p', atom('P')]]),
132
+ };
133
+ const r = p.derive(or(atom('P'), atom('Q')), ['p'], theory);
134
+ (0, vitest_1.expect)(r.status).toBeDefined();
135
+ });
136
+ (0, vitest_1.it)('derive with premise but goal not always designated -> refutable', () => {
137
+ const theory = {
138
+ ...empty,
139
+ axioms: new Map([['p', atom('P')]]),
140
+ };
141
+ const r = p.derive(atom('Q'), ['p'], theory);
142
+ (0, vitest_1.expect)(['refutable', 'provable']).toContain(r.status);
143
+ });
144
+ });
145
+ //# sourceMappingURL=belnap.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"belnap.test.js","sourceRoot":"","sources":["../../../src/tests/coverage-95/belnap.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cdcl-v2-solver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdcl-v2-solver.test.d.ts","sourceRoot":"","sources":["../../../src/tests/coverage-95/cdcl-v2-solver.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const solver_1 = require("../../solver/cdcl-v2/solver");
5
+ (0, vitest_1.describe)('solveCDCLv2 — SAT solver', () => {
6
+ (0, vitest_1.it)('returns SAT for 0 vars 0 clauses', () => {
7
+ const r = (0, solver_1.solveCDCLv2)([], 0);
8
+ (0, vitest_1.expect)(r.sat).toBe(true);
9
+ });
10
+ (0, vitest_1.it)('returns UNSAT for empty clause', () => {
11
+ const r = (0, solver_1.solveCDCLv2)([new Int32Array([])], 1);
12
+ (0, vitest_1.expect)(r.sat).toBeFalsy();
13
+ (0, vitest_1.expect)(r.unsat).toBe(true);
14
+ });
15
+ (0, vitest_1.it)('returns UNSAT for empty clause with 0 vars', () => {
16
+ const r = (0, solver_1.solveCDCLv2)([new Int32Array([])], 0);
17
+ (0, vitest_1.expect)(r.sat).toBeFalsy();
18
+ (0, vitest_1.expect)(r.unsat).toBe(true);
19
+ });
20
+ (0, vitest_1.it)('returns SAT for unit clause [1]', () => {
21
+ const r = (0, solver_1.solveCDCLv2)([new Int32Array([1])], 1);
22
+ (0, vitest_1.expect)(r.sat).toBe(true);
23
+ });
24
+ (0, vitest_1.it)('returns SAT for clause (1 ∨ 2)', () => {
25
+ const r = (0, solver_1.solveCDCLv2)([new Int32Array([1, 2])], 2);
26
+ (0, vitest_1.expect)(r.sat).toBe(true);
27
+ });
28
+ (0, vitest_1.it)('returns UNSAT for {[1], [-1]}', () => {
29
+ const r = (0, solver_1.solveCDCLv2)([new Int32Array([1]), new Int32Array([-1])], 1);
30
+ (0, vitest_1.expect)(r.sat).toBeFalsy();
31
+ (0, vitest_1.expect)(r.unsat).toBe(true);
32
+ });
33
+ (0, vitest_1.it)('returns SAT for trivial implication: {[-1, 2], [1]} → 2 must be true', () => {
34
+ const r = (0, solver_1.solveCDCLv2)([new Int32Array([-1, 2]), new Int32Array([1])], 2);
35
+ (0, vitest_1.expect)(r.sat).toBe(true);
36
+ });
37
+ (0, vitest_1.it)('returns UNSAT for a Pigeonhole-tiny: {[1,2],[1,3],[2,3],[-1,-2],[-1,-3],[-2,-3]} (3 vars, but 2 holes)', () => {
38
+ // not actually unsat with this form; let's pick a classic UNSAT
39
+ // {[1,2],[-1,2],[1,-2],[-1,-2]} forces P&Q + P&!Q + !P&Q + !P&!Q -- contradicting
40
+ const r = (0, solver_1.solveCDCLv2)([
41
+ new Int32Array([1, 2]),
42
+ new Int32Array([-1, 2]),
43
+ new Int32Array([1, -2]),
44
+ new Int32Array([-1, -2]),
45
+ ], 2);
46
+ (0, vitest_1.expect)(r.sat).toBeFalsy();
47
+ (0, vitest_1.expect)(r.unsat).toBe(true);
48
+ });
49
+ (0, vitest_1.it)('produces stats with conflicts/decisions counters', () => {
50
+ const r = (0, solver_1.solveCDCLv2)([new Int32Array([1, 2, 3]), new Int32Array([-1, -2, -3])], 3);
51
+ (0, vitest_1.expect)(r.stats).toBeDefined();
52
+ (0, vitest_1.expect)(typeof r.stats.solveTimeMs).toBe('number');
53
+ });
54
+ (0, vitest_1.it)('produces a deterministic result for the same input', () => {
55
+ const r1 = (0, solver_1.solveCDCLv2)([new Int32Array([1, 2]), new Int32Array([-1, -2])], 2);
56
+ const r2 = (0, solver_1.solveCDCLv2)([new Int32Array([1, 2]), new Int32Array([-1, -2])], 2);
57
+ (0, vitest_1.expect)(r1).toBeDefined();
58
+ (0, vitest_1.expect)(r2).toBeDefined();
59
+ });
60
+ });
61
+ //# sourceMappingURL=cdcl-v2-solver.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdcl-v2-solver.test.js","sourceRoot":"","sources":["../../../src/tests/coverage-95/cdcl-v2-solver.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,wDAA0D;AAE1D,IAAA,iBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,GAAG,IAAA,oBAAW,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAA,eAAM,EAAE,CAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,GAAG,IAAA,oBAAW,EAAC,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAA,eAAM,EAAE,CAAuB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;QACjD,IAAA,eAAM,EAAE,CAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,IAAA,oBAAW,EAAC,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAA,eAAM,EAAE,CAAuB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;QACjD,IAAA,eAAM,EAAE,CAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,GAAG,IAAA,oBAAW,EAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,IAAA,eAAM,EAAE,CAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,GAAG,IAAA,oBAAW,EAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,IAAA,eAAM,EAAE,CAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,GAAG,IAAA,oBAAW,EAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,IAAA,eAAM,EAAE,CAAuB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;QACjD,IAAA,eAAM,EAAE,CAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,CAAC,GAAG,IAAA,oBAAW,EAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,IAAA,eAAM,EAAE,CAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wGAAwG,EAAE,GAAG,EAAE;QAChH,gEAAgE;QAChE,kFAAkF;QAClF,MAAM,CAAC,GAAG,IAAA,oBAAW,EACnB;YACE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACzB,EACD,CAAC,CACF,CAAC;QACF,IAAA,eAAM,EAAE,CAAuB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;QACjD,IAAA,eAAM,EAAE,CAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,IAAA,oBAAW,EAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,IAAA,eAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,EAAE,GAAG,IAAA,oBAAW,EAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,EAAE,GAAG,IAAA,oBAAW,EAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAA,eAAM,EAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzB,IAAA,eAAM,EAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=classical-propositional-direct.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classical-propositional-direct.test.d.ts","sourceRoot":"","sources":["../../../src/tests/coverage-95/classical-propositional-direct.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const propositional_1 = require("../../profiles/classical/propositional");
5
+ const atom = (name) => ({ kind: 'atom', name });
6
+ const not = (a) => ({ kind: 'not', args: [a] });
7
+ const and = (a, b) => ({ kind: 'and', args: [a, b] });
8
+ const or = (a, b) => ({ kind: 'or', args: [a, b] });
9
+ const implies = (a, b) => ({ kind: 'implies', args: [a, b] });
10
+ const bic = (a, b) => ({ kind: 'biconditional', args: [a, b] });
11
+ const emptyTheory = {
12
+ profile: 'classical.propositional',
13
+ axioms: new Map(),
14
+ theorems: new Map(),
15
+ claims: new Map(),
16
+ judgments: [],
17
+ };
18
+ (0, vitest_1.describe)('ClassicalPropositional — direct profile invocations', () => {
19
+ const p = new propositional_1.ClassicalPropositional();
20
+ (0, vitest_1.it)('checkValid: tautology P -> P', () => {
21
+ const r = p.checkValid(implies(atom('P'), atom('P')));
22
+ (0, vitest_1.expect)(r.status).toBe('valid');
23
+ });
24
+ (0, vitest_1.it)('checkValid: contradiction !(P -> P)', () => {
25
+ const r = p.checkValid(not(implies(atom('P'), atom('P'))));
26
+ (0, vitest_1.expect)(r.status).toBe('invalid');
27
+ });
28
+ (0, vitest_1.it)('checkValid: contingent P', () => {
29
+ const r = p.checkValid(atom('P'));
30
+ (0, vitest_1.expect)(r.status).toBe('invalid');
31
+ });
32
+ (0, vitest_1.it)('checkValid: ill-formed predicate returns error', () => {
33
+ const f = { kind: 'predicate', name: 'P', params: ['x'] };
34
+ const r = p.checkValid(f);
35
+ (0, vitest_1.expect)(r.status).toBe('error');
36
+ });
37
+ (0, vitest_1.it)('checkSatisfiable: P is satisfiable', () => {
38
+ const r = p.checkSatisfiable(atom('P'));
39
+ (0, vitest_1.expect)(r.status).toBe('satisfiable');
40
+ });
41
+ (0, vitest_1.it)('checkSatisfiable: P & !P is unsatisfiable', () => {
42
+ const r = p.checkSatisfiable(and(atom('P'), not(atom('P'))));
43
+ (0, vitest_1.expect)(r.status).toBe('unsatisfiable');
44
+ });
45
+ (0, vitest_1.it)('checkEquivalent: De Morgan ¬(P ∧ Q) ≡ ¬P ∨ ¬Q', () => {
46
+ const lhs = not(and(atom('P'), atom('Q')));
47
+ const rhs = or(not(atom('P')), not(atom('Q')));
48
+ const r = p.checkEquivalent(lhs, rhs);
49
+ (0, vitest_1.expect)(r.status).toBe('valid');
50
+ });
51
+ (0, vitest_1.it)('checkEquivalent: P and Q are NOT equivalent', () => {
52
+ const r = p.checkEquivalent(atom('P'), atom('Q'));
53
+ (0, vitest_1.expect)(r.status).toBe('invalid');
54
+ });
55
+ (0, vitest_1.it)('countermodel of tautology returns valid', () => {
56
+ const r = p.countermodel(implies(atom('P'), atom('P')));
57
+ (0, vitest_1.expect)(r.status).toBe('valid');
58
+ });
59
+ (0, vitest_1.it)('countermodel of P -> Q returns counterexample', () => {
60
+ const r = p.countermodel(implies(atom('P'), atom('Q')));
61
+ (0, vitest_1.expect)(r.status).toBe('invalid');
62
+ (0, vitest_1.expect)(r.model).toBeDefined();
63
+ });
64
+ (0, vitest_1.it)('prove from empty theory falls back to checkValid', () => {
65
+ const r = p.prove(implies(atom('P'), atom('P')), emptyTheory);
66
+ (0, vitest_1.expect)(r.status).toBe('provable');
67
+ });
68
+ (0, vitest_1.it)('prove with restricted premises', () => {
69
+ const theory = {
70
+ ...emptyTheory,
71
+ axioms: new Map([
72
+ ['a1', implies(atom('P'), atom('Q'))],
73
+ ['a2', atom('P')],
74
+ ]),
75
+ };
76
+ const r = p.prove(atom('Q'), theory, ['a1', 'a2']);
77
+ (0, vitest_1.expect)(r.status).toBe('provable');
78
+ });
79
+ (0, vitest_1.it)('prove with missing premise generates warning', () => {
80
+ const theory = {
81
+ ...emptyTheory,
82
+ axioms: new Map([['a', atom('P')]]),
83
+ };
84
+ const r = p.prove(atom('P'), theory, ['a', 'nope']);
85
+ (0, vitest_1.expect)(r.diagnostics.some((d) => d.severity === 'warning')).toBe(true);
86
+ });
87
+ (0, vitest_1.it)('prove fails when goal is unprovable from premises', () => {
88
+ const theory = {
89
+ ...emptyTheory,
90
+ axioms: new Map([['p', atom('P')]]),
91
+ };
92
+ const r = p.prove(atom('Q'), theory);
93
+ (0, vitest_1.expect)(r.status).toBe('refutable');
94
+ });
95
+ (0, vitest_1.it)('derive: modus ponens', () => {
96
+ const theory = {
97
+ ...emptyTheory,
98
+ axioms: new Map([
99
+ ['mp1', implies(atom('P'), atom('Q'))],
100
+ ['mp2', atom('P')],
101
+ ]),
102
+ };
103
+ const r = p.derive(atom('Q'), ['mp1', 'mp2'], theory);
104
+ (0, vitest_1.expect)(r.status).toBeDefined();
105
+ });
106
+ (0, vitest_1.it)('derive with no premises uses checkValid', () => {
107
+ const r = p.derive(implies(atom('P'), atom('P')), [], emptyTheory);
108
+ (0, vitest_1.expect)(r.status).toBeDefined();
109
+ });
110
+ (0, vitest_1.it)('derive with missing premise handles gracefully', () => {
111
+ const r = p.derive(atom('P'), ['nonExistent'], emptyTheory);
112
+ (0, vitest_1.expect)(r.status).toBeDefined();
113
+ });
114
+ (0, vitest_1.it)('explain returns RunResult with detailed output', () => {
115
+ const r = p.explain(implies(atom('P'), atom('P')));
116
+ (0, vitest_1.expect)(typeof r.output).toBe('string');
117
+ (0, vitest_1.expect)(r.output.length).toBeGreaterThan(20);
118
+ });
119
+ (0, vitest_1.it)('explain on contingent formula includes truth table', () => {
120
+ const r = p.explain(atom('P'));
121
+ (0, vitest_1.expect)(typeof r.output).toBe('string');
122
+ });
123
+ (0, vitest_1.it)('checkWellFormed flags well-formed P as no diagnostics', () => {
124
+ (0, vitest_1.expect)(p.checkWellFormed(atom('P'))).toEqual([]);
125
+ });
126
+ (0, vitest_1.it)('checkWellFormed flags unnamed atom', () => {
127
+ (0, vitest_1.expect)(p.checkWellFormed({ kind: 'atom', name: '' }).length).toBeGreaterThan(0);
128
+ });
129
+ (0, vitest_1.it)('checkWellFormed flags negation without args', () => {
130
+ (0, vitest_1.expect)(p.checkWellFormed({ kind: 'not' }).length).toBeGreaterThan(0);
131
+ });
132
+ (0, vitest_1.it)('checkWellFormed flags binary op missing args', () => {
133
+ (0, vitest_1.expect)(p.checkWellFormed({ kind: 'and', args: [atom('P')] }).length).toBeGreaterThan(0);
134
+ });
135
+ (0, vitest_1.it)('checkWellFormed flags quantifiers/predicates/modal as unsupported', () => {
136
+ const fq = { kind: 'forall', variable: 'x', args: [atom('P')] };
137
+ (0, vitest_1.expect)(p.checkWellFormed(fq).length).toBeGreaterThan(0);
138
+ const fp = { kind: 'predicate', name: 'P', params: ['x'] };
139
+ (0, vitest_1.expect)(p.checkWellFormed(fp).length).toBeGreaterThan(0);
140
+ const fm = { kind: 'modal_necessity', args: [atom('P')] };
141
+ (0, vitest_1.expect)(p.checkWellFormed(fm).length).toBeGreaterThan(0);
142
+ });
143
+ (0, vitest_1.it)('truthTable: P & Q has 4 rows', () => {
144
+ const tt = p.truthTable(and(atom('P'), atom('Q')));
145
+ (0, vitest_1.expect)(tt.rows.length).toBe(4);
146
+ (0, vitest_1.expect)(tt.isTautology).toBe(false);
147
+ (0, vitest_1.expect)(tt.isSatisfiable).toBe(true);
148
+ });
149
+ (0, vitest_1.it)('truthTable: P | !P always true', () => {
150
+ const tt = p.truthTable(or(atom('P'), not(atom('P'))));
151
+ (0, vitest_1.expect)(tt.isTautology).toBe(true);
152
+ });
153
+ (0, vitest_1.it)('truthTable: P & !P always false', () => {
154
+ const tt = p.truthTable(and(atom('P'), not(atom('P'))));
155
+ (0, vitest_1.expect)(tt.isSatisfiable).toBe(false);
156
+ });
157
+ (0, vitest_1.it)('handles bigger formulas (8 atoms)', () => {
158
+ let f = atom('A0');
159
+ for (let i = 1; i < 8; i++) {
160
+ f = or(f, atom('A' + i));
161
+ }
162
+ const r = p.checkSatisfiable(f);
163
+ (0, vitest_1.expect)(r.status).toBe('satisfiable');
164
+ });
165
+ (0, vitest_1.it)('handles biconditional', () => {
166
+ const r = p.checkValid(bic(implies(atom('P'), atom('Q')), or(not(atom('P')), atom('Q'))));
167
+ (0, vitest_1.expect)(r.status).toBe('valid');
168
+ });
169
+ (0, vitest_1.it)('nested formula', () => {
170
+ const f = implies(and(implies(atom('P'), atom('Q')), atom('P')), atom('Q'));
171
+ const r = p.checkValid(f);
172
+ (0, vitest_1.expect)(r.status).toBe('valid');
173
+ });
174
+ });
175
+ //# sourceMappingURL=classical-propositional-direct.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classical-propositional-direct.test.js","sourceRoot":"","sources":["../../../src/tests/coverage-95/classical-propositional-direct.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compat.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.test.d.ts","sourceRoot":"","sources":["../../../src/tests/coverage-95/compat.test.ts"],"names":[],"mappings":""}