@polintpro/proposit-core 0.8.2 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/cli/commands/analysis.d.ts.map +1 -1
- package/dist/cli/commands/analysis.js +148 -42
- package/dist/cli/commands/analysis.js.map +1 -1
- package/dist/cli/commands/graph.d.ts +1 -1
- package/dist/cli/commands/graph.d.ts.map +1 -1
- package/dist/cli/commands/graph.js +61 -26
- package/dist/cli/commands/graph.js.map +1 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +4 -0
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/storage/analysis.d.ts +2 -1
- package/dist/cli/storage/analysis.d.ts.map +1 -1
- package/dist/cli/storage/analysis.js +40 -2
- package/dist/cli/storage/analysis.js.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +6 -0
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +281 -11
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/evaluation/grading.d.ts +28 -0
- package/dist/lib/core/evaluation/grading.d.ts.map +1 -0
- package/dist/lib/core/evaluation/grading.js +44 -0
- package/dist/lib/core/evaluation/grading.js.map +1 -0
- package/dist/lib/core/premise-engine.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.js +3 -2
- package/dist/lib/core/premise-engine.js.map +1 -1
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/schemata/analysis.d.ts +1 -1
- package/dist/lib/schemata/analysis.d.ts.map +1 -1
- package/dist/lib/schemata/analysis.js +2 -2
- package/dist/lib/schemata/analysis.js.map +1 -1
- package/dist/lib/types/evaluation.d.ts +5 -3
- package/dist/lib/types/evaluation.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -424,12 +424,12 @@ flowchart LR
|
|
|
424
424
|
style Validity fill:none,stroke:#888,stroke-dasharray: 5 5
|
|
425
425
|
```
|
|
426
426
|
|
|
427
|
-
Assignments use `TCoreExpressionAssignment`, which carries both variable truth values (three-valued: `true`, `false`, or `null` for unknown) and
|
|
427
|
+
Assignments use `TCoreExpressionAssignment`, which carries both variable truth values (three-valued: `true`, `false`, or `null` for unknown) and operator assignments (three-state: `"accepted"`, `"rejected"`, or absent for normal evaluation):
|
|
428
428
|
|
|
429
429
|
```typescript
|
|
430
430
|
const result = eng.evaluate({
|
|
431
431
|
variables: { "var-p": true, "var-q": true },
|
|
432
|
-
|
|
432
|
+
operatorAssignments: {},
|
|
433
433
|
})
|
|
434
434
|
if (result.ok) {
|
|
435
435
|
console.log(result.conclusionTrue) // true
|
|
@@ -654,7 +654,7 @@ richArg.bindVariableToArgument(
|
|
|
654
654
|
// External bindings are evaluator-assigned — provide truth values in the assignment
|
|
655
655
|
const result = richArg.evaluate({
|
|
656
656
|
variables: { "v-john-p2": true, "v-john-conclusion": false },
|
|
657
|
-
|
|
657
|
+
operatorAssignments: {},
|
|
658
658
|
})
|
|
659
659
|
```
|
|
660
660
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAqBnC,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CAuuBN"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { hydrateEngine } from "../engine.js";
|
|
3
3
|
import { errorExit, printJson, printLine, requireConfirmation, } from "../output.js";
|
|
4
|
-
import { analysisFileExists, deleteAnalysisFile, listAnalysisFiles, readAnalysis, resolveAnalysisFilename, writeAnalysis, } from "../storage/analysis.js";
|
|
4
|
+
import { analysisFileExists, deleteAnalysisFile, listAnalysisFiles, nextAnalysisFilename, readAnalysis, resolveAnalysisFilename, writeAnalysis, } from "../storage/analysis.js";
|
|
5
|
+
import { gradeEvaluation } from "../../lib/core/evaluation/grading.js";
|
|
6
|
+
import { listPremiseIds, readPremiseData } from "../storage/premises.js";
|
|
5
7
|
import { readVariables } from "../storage/variables.js";
|
|
6
8
|
export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
7
9
|
const analysis = versionedCmd
|
|
@@ -11,11 +13,29 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
11
13
|
.command("create [analysis_filename]")
|
|
12
14
|
.description("Create a new analysis file initialised with all variables")
|
|
13
15
|
.option("--default <value>", "Default value for all assignments (true, false, or unset)", "unset")
|
|
16
|
+
.option("--from <filename>", "Copy assignments and operator states from an existing analysis file")
|
|
14
17
|
.action(async (filenameArg, opts) => {
|
|
15
|
-
const filename =
|
|
18
|
+
const filename = filenameArg
|
|
19
|
+
? await resolveAnalysisFilename(filenameArg, argumentId, version)
|
|
20
|
+
: await nextAnalysisFilename(argumentId, version);
|
|
16
21
|
if (await analysisFileExists(argumentId, version, filename)) {
|
|
17
22
|
errorExit(`Analysis file "${filename}" already exists.`);
|
|
18
23
|
}
|
|
24
|
+
if (opts.from) {
|
|
25
|
+
const sourceFile = await resolveAnalysisFilename(opts.from, argumentId, version);
|
|
26
|
+
if (!(await analysisFileExists(argumentId, version, sourceFile))) {
|
|
27
|
+
errorExit(`Source analysis file "${sourceFile}" does not exist.`);
|
|
28
|
+
}
|
|
29
|
+
const source = await readAnalysis(argumentId, version, sourceFile);
|
|
30
|
+
await writeAnalysis(argumentId, version, filename, {
|
|
31
|
+
argumentId,
|
|
32
|
+
argumentVersion: version,
|
|
33
|
+
assignments: { ...source.assignments },
|
|
34
|
+
operatorAssignments: { ...source.operatorAssignments },
|
|
35
|
+
});
|
|
36
|
+
printLine(filename);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
19
39
|
if (!["true", "false", "unset"].includes(opts.default)) {
|
|
20
40
|
errorExit(`Default must be "true", "false", or "unset", got "${opts.default}".`);
|
|
21
41
|
}
|
|
@@ -33,7 +53,7 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
33
53
|
argumentId,
|
|
34
54
|
argumentVersion: version,
|
|
35
55
|
assignments,
|
|
36
|
-
|
|
56
|
+
operatorAssignments: {},
|
|
37
57
|
});
|
|
38
58
|
printLine(filename);
|
|
39
59
|
});
|
|
@@ -54,10 +74,10 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
54
74
|
analysis
|
|
55
75
|
.command("show")
|
|
56
76
|
.description("Show variable assignments in an analysis file")
|
|
57
|
-
.option("--file <filename>", "Analysis filename (default:
|
|
77
|
+
.option("--file <filename>", "Analysis filename (default: latest)")
|
|
58
78
|
.option("--json", "Output as JSON")
|
|
59
79
|
.action(async (opts) => {
|
|
60
|
-
const filename = resolveAnalysisFilename(opts.file);
|
|
80
|
+
const filename = await resolveAnalysisFilename(opts.file, argumentId, version);
|
|
61
81
|
const data = await readAnalysis(argumentId, version, filename);
|
|
62
82
|
if (opts.json) {
|
|
63
83
|
printJson(data);
|
|
@@ -67,11 +87,12 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
67
87
|
for (const [symbol, value] of sorted) {
|
|
68
88
|
printLine(`${symbol} = ${value ?? "unset"}`);
|
|
69
89
|
}
|
|
70
|
-
|
|
90
|
+
const opEntries = Object.entries(data.operatorAssignments);
|
|
91
|
+
if (opEntries.length > 0) {
|
|
71
92
|
printLine("");
|
|
72
|
-
printLine("
|
|
73
|
-
for (const id of
|
|
74
|
-
printLine(` ${id}`);
|
|
93
|
+
printLine("Operator assignments:");
|
|
94
|
+
for (const [id, state] of opEntries) {
|
|
95
|
+
printLine(` ${id} = ${state}`);
|
|
75
96
|
}
|
|
76
97
|
}
|
|
77
98
|
}
|
|
@@ -79,9 +100,9 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
79
100
|
analysis
|
|
80
101
|
.command("set <variable_symbol> <value>")
|
|
81
102
|
.description("Update a single variable assignment (value: true, false, or unset)")
|
|
82
|
-
.option("--file <filename>", "Analysis filename (default:
|
|
103
|
+
.option("--file <filename>", "Analysis filename (default: latest)")
|
|
83
104
|
.action(async (symbol, valueArg, opts) => {
|
|
84
|
-
const filename = resolveAnalysisFilename(opts.file);
|
|
105
|
+
const filename = await resolveAnalysisFilename(opts.file, argumentId, version);
|
|
85
106
|
if (!(await analysisFileExists(argumentId, version, filename))) {
|
|
86
107
|
errorExit(`Analysis file "${filename}" does not exist.`);
|
|
87
108
|
}
|
|
@@ -104,10 +125,10 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
104
125
|
analysis
|
|
105
126
|
.command("reset")
|
|
106
127
|
.description("Reset all assignments in an analysis file to one value")
|
|
107
|
-
.option("--file <filename>", "Analysis filename (default:
|
|
128
|
+
.option("--file <filename>", "Analysis filename (default: latest)")
|
|
108
129
|
.option("--value <value>", "Value to reset to (default: unset)", "unset")
|
|
109
130
|
.action(async (opts) => {
|
|
110
|
-
const filename = resolveAnalysisFilename(opts.file);
|
|
131
|
+
const filename = await resolveAnalysisFilename(opts.file, argumentId, version);
|
|
111
132
|
if (!["true", "false", "unset"].includes(opts.value)) {
|
|
112
133
|
errorExit(`Value must be "true", "false", or "unset", got "${opts.value}".`);
|
|
113
134
|
}
|
|
@@ -124,42 +145,67 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
124
145
|
printLine("success");
|
|
125
146
|
});
|
|
126
147
|
analysis
|
|
127
|
-
.command("
|
|
128
|
-
.description("
|
|
129
|
-
.option("--file <filename>", "Analysis filename (default:
|
|
130
|
-
.action(async (
|
|
131
|
-
|
|
148
|
+
.command("set-operator <operator_expression_id> <state>")
|
|
149
|
+
.description("Set an operator's state (accepted, rejected, or unset)")
|
|
150
|
+
.option("--file <filename>", "Analysis filename (default: latest)")
|
|
151
|
+
.action(async (operatorExpressionId, state, opts) => {
|
|
152
|
+
if (!["accepted", "rejected", "unset"].includes(state)) {
|
|
153
|
+
errorExit(`State must be "accepted", "rejected", or "unset", got "${state}".`);
|
|
154
|
+
}
|
|
155
|
+
const filename = await resolveAnalysisFilename(opts.file, argumentId, version);
|
|
132
156
|
if (!(await analysisFileExists(argumentId, version, filename))) {
|
|
133
157
|
errorExit(`Analysis file "${filename}" does not exist.`);
|
|
134
158
|
}
|
|
135
159
|
const data = await readAnalysis(argumentId, version, filename);
|
|
136
|
-
if (
|
|
137
|
-
data.
|
|
160
|
+
if (state === "unset") {
|
|
161
|
+
delete data.operatorAssignments[operatorExpressionId];
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
data.operatorAssignments[operatorExpressionId] = state;
|
|
138
165
|
}
|
|
139
166
|
await writeAnalysis(argumentId, version, filename, data);
|
|
140
167
|
printLine("success");
|
|
141
168
|
});
|
|
142
169
|
analysis
|
|
143
|
-
.command("
|
|
144
|
-
.description("
|
|
145
|
-
.option("--file <filename>", "Analysis filename (default:
|
|
146
|
-
.action(async (
|
|
147
|
-
|
|
170
|
+
.command("set-all-operators <state>")
|
|
171
|
+
.description("Set all operator expressions to a state (accepted, rejected, or unset)")
|
|
172
|
+
.option("--file <filename>", "Analysis filename (default: latest)")
|
|
173
|
+
.action(async (state, opts) => {
|
|
174
|
+
if (!["accepted", "rejected", "unset"].includes(state)) {
|
|
175
|
+
errorExit(`State must be "accepted", "rejected", or "unset", got "${state}".`);
|
|
176
|
+
}
|
|
177
|
+
const filename = await resolveAnalysisFilename(opts.file, argumentId, version);
|
|
148
178
|
if (!(await analysisFileExists(argumentId, version, filename))) {
|
|
149
179
|
errorExit(`Analysis file "${filename}" does not exist.`);
|
|
150
180
|
}
|
|
151
181
|
const data = await readAnalysis(argumentId, version, filename);
|
|
152
|
-
|
|
182
|
+
if (state === "unset") {
|
|
183
|
+
data.operatorAssignments = {};
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
const premiseIds = await listPremiseIds(argumentId, version);
|
|
187
|
+
for (const pid of premiseIds) {
|
|
188
|
+
const premiseData = await readPremiseData(argumentId, version, pid);
|
|
189
|
+
for (const expr of premiseData.expressions) {
|
|
190
|
+
if (expr.type === "operator") {
|
|
191
|
+
data.operatorAssignments[expr.id] = state;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
153
196
|
await writeAnalysis(argumentId, version, filename, data);
|
|
154
|
-
|
|
197
|
+
const count = Object.keys(data.operatorAssignments).length;
|
|
198
|
+
printLine(state === "unset"
|
|
199
|
+
? "All operator assignments cleared"
|
|
200
|
+
: `${count} operator(s) set to ${state}`);
|
|
155
201
|
});
|
|
156
202
|
analysis
|
|
157
203
|
.command("validate-assignments")
|
|
158
204
|
.description("Validate an analysis file against the argument version")
|
|
159
|
-
.option("--file <filename>", "Analysis filename (default:
|
|
205
|
+
.option("--file <filename>", "Analysis filename (default: latest)")
|
|
160
206
|
.option("--json", "Output as JSON")
|
|
161
207
|
.action(async (opts) => {
|
|
162
|
-
const filename = resolveAnalysisFilename(opts.file);
|
|
208
|
+
const filename = await resolveAnalysisFilename(opts.file, argumentId, version);
|
|
163
209
|
const [data, variables] = await Promise.all([
|
|
164
210
|
readAnalysis(argumentId, version, filename),
|
|
165
211
|
readVariables(argumentId, version),
|
|
@@ -195,17 +241,18 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
195
241
|
});
|
|
196
242
|
}
|
|
197
243
|
}
|
|
198
|
-
// Validate
|
|
199
|
-
|
|
244
|
+
// Validate operator assignment IDs
|
|
245
|
+
const opAssignmentIds = Object.keys(data.operatorAssignments);
|
|
246
|
+
if (opAssignmentIds.length > 0) {
|
|
200
247
|
const engine = await hydrateEngine(argumentId, version);
|
|
201
248
|
const allExpressionIds = new Set(engine
|
|
202
249
|
.listPremises()
|
|
203
250
|
.flatMap((pm) => pm.getExpressions().map((e) => e.id)));
|
|
204
|
-
for (const id of
|
|
251
|
+
for (const id of opAssignmentIds) {
|
|
205
252
|
if (!allExpressionIds.has(id)) {
|
|
206
253
|
issues.push({
|
|
207
|
-
code: "
|
|
208
|
-
message: `
|
|
254
|
+
code: "UNKNOWN_OPERATOR_ASSIGNMENT",
|
|
255
|
+
message: `Operator assignment ID "${id}" does not exist in any premise.`,
|
|
209
256
|
});
|
|
210
257
|
}
|
|
211
258
|
}
|
|
@@ -224,10 +271,10 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
224
271
|
analysis
|
|
225
272
|
.command("delete")
|
|
226
273
|
.description("Delete an analysis file")
|
|
227
|
-
.option("--file <filename>", "Analysis filename (default:
|
|
274
|
+
.option("--file <filename>", "Analysis filename (default: latest)")
|
|
228
275
|
.option("--confirm", "Skip confirmation prompt")
|
|
229
276
|
.action(async (opts) => {
|
|
230
|
-
const filename = resolveAnalysisFilename(opts.file);
|
|
277
|
+
const filename = await resolveAnalysisFilename(opts.file, argumentId, version);
|
|
231
278
|
if (!(await analysisFileExists(argumentId, version, filename))) {
|
|
232
279
|
errorExit(`Analysis file "${filename}" does not exist.`);
|
|
233
280
|
}
|
|
@@ -240,7 +287,7 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
240
287
|
analysis
|
|
241
288
|
.command("evaluate")
|
|
242
289
|
.description("Evaluate the argument using assignments from an analysis file")
|
|
243
|
-
.option("--file <filename>", "Analysis filename (default:
|
|
290
|
+
.option("--file <filename>", "Analysis filename (default: latest)")
|
|
244
291
|
.option("--strict-unknown-assignment-keys", "Reject extra assignment keys")
|
|
245
292
|
.option("--no-expression-values", "Omit per-expression truth values")
|
|
246
293
|
.option("--no-diagnostics", "Omit inference diagnostics")
|
|
@@ -248,7 +295,7 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
248
295
|
.option("--skip-analysis-file-validation", "Skip analysis file validation")
|
|
249
296
|
.option("--json", "Output as JSON")
|
|
250
297
|
.action(async (opts) => {
|
|
251
|
-
const filename = resolveAnalysisFilename(opts.file);
|
|
298
|
+
const filename = await resolveAnalysisFilename(opts.file, argumentId, version);
|
|
252
299
|
const [analysisData, variables] = await Promise.all([
|
|
253
300
|
readAnalysis(argumentId, version, filename),
|
|
254
301
|
readVariables(argumentId, version),
|
|
@@ -277,9 +324,9 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
277
324
|
const engine = await hydrateEngine(argumentId, version);
|
|
278
325
|
const result = engine.evaluate({
|
|
279
326
|
variables: variableAssignment,
|
|
280
|
-
|
|
281
|
-
...analysisData.
|
|
282
|
-
|
|
327
|
+
operatorAssignments: {
|
|
328
|
+
...analysisData.operatorAssignments,
|
|
329
|
+
},
|
|
283
330
|
}, {
|
|
284
331
|
strictUnknownAssignmentKeys: opts.strictUnknownAssignmentKeys ?? false,
|
|
285
332
|
includeExpressionValues: !opts.noExpressionValues,
|
|
@@ -287,7 +334,10 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
287
334
|
validateFirst: !opts.noValidateFirst,
|
|
288
335
|
});
|
|
289
336
|
if (opts.json) {
|
|
290
|
-
printJson(
|
|
337
|
+
printJson({
|
|
338
|
+
...result,
|
|
339
|
+
grading: gradeEvaluation(result),
|
|
340
|
+
});
|
|
291
341
|
return;
|
|
292
342
|
}
|
|
293
343
|
if (!result.ok) {
|
|
@@ -297,6 +347,8 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
297
347
|
}
|
|
298
348
|
return;
|
|
299
349
|
}
|
|
350
|
+
const grading = gradeEvaluation(result);
|
|
351
|
+
printLine(`grade: ${grading.label}`);
|
|
300
352
|
printLine(`admissible: ${result.isAdmissibleAssignment}`);
|
|
301
353
|
printLine(`all supporting: ${result.allSupportingPremisesTrue}`);
|
|
302
354
|
printLine(`conclusion true: ${result.conclusionTrue}`);
|
|
@@ -386,6 +438,60 @@ export function registerAnalysisCommands(versionedCmd, argumentId, version) {
|
|
|
386
438
|
printLine(`${variableId} | ${info.symbol} | premises: [${info.premiseIds.join(", ")}]`);
|
|
387
439
|
}
|
|
388
440
|
});
|
|
441
|
+
analysis
|
|
442
|
+
.command("operators")
|
|
443
|
+
.description("List all operator expressions across all premises")
|
|
444
|
+
.option("--json", "Output as JSON")
|
|
445
|
+
.option("--file <filename>", "Show operator states from an analysis file")
|
|
446
|
+
.action(async (opts) => {
|
|
447
|
+
const engine = await hydrateEngine(argumentId, version);
|
|
448
|
+
const premises = engine.listPremises();
|
|
449
|
+
const operators = [];
|
|
450
|
+
for (const pm of premises) {
|
|
451
|
+
const premiseId = pm.getId();
|
|
452
|
+
const formula = pm.toDisplayString() || "(empty)";
|
|
453
|
+
for (const expr of pm.getExpressions()) {
|
|
454
|
+
if (expr.type === "operator") {
|
|
455
|
+
operators.push({
|
|
456
|
+
expressionId: expr.id,
|
|
457
|
+
operator: expr.operator,
|
|
458
|
+
premiseId,
|
|
459
|
+
formula,
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
let opAssignments = {};
|
|
465
|
+
if (opts.file) {
|
|
466
|
+
const filename = await resolveAnalysisFilename(opts.file, argumentId, version);
|
|
467
|
+
if (await analysisFileExists(argumentId, version, filename)) {
|
|
468
|
+
const analysisData = await readAnalysis(argumentId, version, filename);
|
|
469
|
+
opAssignments = analysisData.operatorAssignments;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
if (opts.json) {
|
|
473
|
+
printJson(operators.map((op) => ({
|
|
474
|
+
...op,
|
|
475
|
+
state: opAssignments[op.expressionId] ?? "unset",
|
|
476
|
+
})));
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
if (operators.length === 0) {
|
|
480
|
+
printLine("No operator expressions found.");
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
let currentPremise = "";
|
|
484
|
+
for (const op of operators) {
|
|
485
|
+
if (op.premiseId !== currentPremise) {
|
|
486
|
+
if (currentPremise !== "")
|
|
487
|
+
printLine("");
|
|
488
|
+
currentPremise = op.premiseId;
|
|
489
|
+
printLine(`Premise ${op.premiseId}: ${op.formula}`);
|
|
490
|
+
}
|
|
491
|
+
const state = opAssignments[op.expressionId] ?? "unset";
|
|
492
|
+
printLine(` ${op.expressionId} | ${op.operator} | ${state}`);
|
|
493
|
+
}
|
|
494
|
+
});
|
|
389
495
|
analysis
|
|
390
496
|
.command("export")
|
|
391
497
|
.description("Export the full argument engine state snapshot")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../src/cli/commands/analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EACH,SAAS,EACT,SAAS,EACT,SAAS,EACT,mBAAmB,GACtB,MAAM,cAAc,CAAA;AACrB,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,aAAa,GAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,MAAM,UAAU,wBAAwB,CACpC,YAAqB,EACrB,UAAkB,EAClB,OAAe;IAEf,MAAM,QAAQ,GAAG,YAAY;SACxB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,yBAAyB,CAAC,CAAA;IAE3C,QAAQ;SACH,OAAO,CAAC,4BAA4B,CAAC;SACrC,WAAW,CACR,2DAA2D,CAC9D;SACA,MAAM,CACH,mBAAmB,EACnB,2DAA2D,EAC3D,OAAO,CACV;SACA,MAAM,CACH,KAAK,EACD,WAA+B,EAC/B,IAAyB,EAC3B,EAAE;QACA,MAAM,QAAQ,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAA;QACrD,IAAI,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1D,SAAS,CAAC,kBAAkB,QAAQ,mBAAmB,CAAC,CAAA;QAC5D,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,SAAS,CACL,qDAAqD,IAAI,CAAC,OAAO,IAAI,CACxE,CAAA;QACL,CAAC;QACD,MAAM,YAAY,GACd,IAAI,CAAC,OAAO,KAAK,MAAM;YACnB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO;gBACxB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAA;QAChB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC1D,MAAM,WAAW,GAAmC,EAAE,CAAA;QACtD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YACxB,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,YAAY,CAAA;QACxC,CAAC;QAED,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE;YAC/C,UAAU;YACV,eAAe,EAAE,OAAO;YACxB,WAAW;YACX,qBAAqB,EAAE,EAAE;SAC5B,CAAC,CAAA;QACF,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC,CACJ,CAAA;IAEL,QAAQ;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC1D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,SAAS,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC;IACL,CAAC,CAAC,CAAA;IAEN,QAAQ;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CACH,mBAAmB,EACnB,4CAA4C,CAC/C;SACA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAuC,EAAE,EAAE;QACtD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAChD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnC,CAAA;YACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;gBACnC,SAAS,CAAC,GAAG,MAAM,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,SAAS,CAAC,EAAE,CAAC,CAAA;gBACb,SAAS,CAAC,uBAAuB,CAAC,CAAA;gBAClC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC1C,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;gBACxB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAA;IAEN,QAAQ;SACH,OAAO,CAAC,+BAA+B,CAAC;SACxC,WAAW,CACR,oEAAoE,CACvE;SACA,MAAM,CACH,mBAAmB,EACnB,4CAA4C,CAC/C;SACA,MAAM,CACH,KAAK,EACD,MAAc,EACd,QAAgB,EAChB,IAAuB,EACzB,EAAE;QACA,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IACI,CAAC,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAC5D,CAAC;YACC,SAAS,CAAC,kBAAkB,QAAQ,mBAAmB,CAAC,CAAA;QAC5D,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;YAC9C,SAAS,CACL,oBAAoB,MAAM,4CAA4C,CACzE,CAAA;QACL,CAAC;QAED,MAAM,WAAW,GACb,QAAQ,KAAK,MAAM;YACf,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,QAAQ,KAAK,OAAO;gBACpB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,QAAQ,KAAK,OAAO;oBACpB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,SAAS,CACL,mDAAmD,QAAQ,IAAI,CAClE,CAAA;QAEf,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAA;QACtC,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QACxD,SAAS,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC,CACJ,CAAA;IAEL,QAAQ;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CACH,mBAAmB,EACnB,4CAA4C,CAC/C;SACA,MAAM,CACH,iBAAiB,EACjB,oCAAoC,EACpC,OAAO,CACV;SACA,MAAM,CAAC,KAAK,EAAE,IAAsC,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,SAAS,CACL,mDAAmD,IAAI,CAAC,KAAK,IAAI,CACpE,CAAA;QACL,CAAC;QACD,MAAM,UAAU,GACZ,IAAI,CAAC,KAAK,KAAK,MAAM;YACjB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO;gBACtB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAA;QAChB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,UAAU,CAAA;QACzC,CAAC;QACD,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QACxD,SAAS,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEN,QAAQ;SACH,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CACH,mBAAmB,EACnB,4CAA4C,CAC/C;SACA,MAAM,CAAC,KAAK,EAAE,YAAoB,EAAE,IAAuB,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,kBAAkB,QAAQ,mBAAmB,CAAC,CAAA;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACjD,CAAC;QACD,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QACxD,SAAS,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEN,QAAQ;SACH,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CACH,mBAAmB,EACnB,4CAA4C,CAC/C;SACA,MAAM,CAAC,KAAK,EAAE,YAAoB,EAAE,IAAuB,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,kBAAkB,QAAQ,mBAAmB,CAAC,CAAA;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAC1D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,YAAY,CAC9B,CAAA;QACD,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QACxD,SAAS,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEN,QAAQ;SACH,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CACH,mBAAmB,EACnB,4CAA4C,CAC/C;SACA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAuC,EAAE,EAAE;QACtD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;YAC3C,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAwC,EAAE,CAAA;QAEtD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,oBAAoB,IAAI,CAAC,UAAU,qBAAqB,UAAU,IAAI;aAClF,CAAC,CAAA;QACN,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,wBAAwB,IAAI,CAAC,eAAe,mBAAmB,OAAO,GAAG;aACrF,CAAC,CAAA;QACN,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;QAE1D,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,oBAAoB,GAAG,gCAAgC;iBACnE,CAAC,CAAA;YACN,CAAC;QACL,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,sBAAsB,GAAG,4CAA4C;iBACjF,CAAC,CAAA;YACN,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC5B,MAAM;iBACD,YAAY,EAAE;iBACd,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAA;YACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,6BAA6B;wBACnC,OAAO,EAAE,2BAA2B,EAAE,kCAAkC;qBAC3E,CAAC,CAAA;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA;QAE9B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACzB,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAChD,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAA;IAEN,QAAQ;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CACH,mBAAmB,EACnB,4CAA4C,CAC/C;SACA,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,IAA0C,EAAE,EAAE;QACzD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,kBAAkB,QAAQ,mBAAmB,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,mBAAmB,CAAC,yBAAyB,QAAQ,IAAI,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACvD,SAAS,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEN,QAAQ;SACH,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CACR,+DAA+D,CAClE;SACA,MAAM,CACH,mBAAmB,EACnB,4CAA4C,CAC/C;SACA,MAAM,CACH,kCAAkC,EAClC,8BAA8B,CACjC;SACA,MAAM,CAAC,wBAAwB,EAAE,kCAAkC,CAAC;SACpE,MAAM,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;SACxD,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CACH,iCAAiC,EACjC,+BAA+B,CAClC;SACA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CACH,KAAK,EAAE,IAQN,EAAE,EAAE;QACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChD,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;YAC3C,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC;SACrC,CAAC,CAAA;QAEF,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;YACzD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9B,CAAA;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CACrD,CAAA;YACD,IACI,YAAY,CAAC,UAAU,KAAK,UAAU;gBACtC,YAAY,CAAC,eAAe,KAAK,OAAO;gBACxC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAClB,KAAK,CAAC,MAAM,GAAG,CAAC,EAClB,CAAC;gBACC,SAAS,CACL,yHAAyH,CAC5H,CAAA;YACL,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,MAAM,UAAU,GAAG,IAAI,GAAG,CACtB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACzC,CAAA;QACD,MAAM,kBAAkB,GAAmC,EAAE,CAAA;QAC7D,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CACnC,YAAY,CAAC,WAAW,CAC3B,EAAE,CAAC;YACA,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,EAAE,KAAK,SAAS;gBAAE,kBAAkB,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;QACtD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAC1B;YACI,SAAS,EAAE,kBAAkB;YAC7B,qBAAqB,EAAE;gBACnB,GAAG,YAAY,CAAC,qBAAqB;aACxC;SACJ,EACD;YACI,2BAA2B,EACvB,IAAI,CAAC,2BAA2B,IAAI,KAAK;YAC7C,uBAAuB,EAAE,CAAC,IAAI,CAAC,kBAAkB;YACjD,kBAAkB,EAAE,CAAC,IAAI,CAAC,aAAa;YACvC,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe;SACvC,CACJ,CAAA;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,MAAM,CAAC,CAAA;YACjB,OAAM;QACV,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACb,SAAS,CAAC,oBAAoB,CAAC,CAAA;YAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;gBAClD,SAAS,CACL,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CACxD,CAAA;YACL,CAAC;YACD,OAAM;QACV,CAAC;QAED,SAAS,CAAC,sBAAsB,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAA;QAChE,SAAS,CACL,sBAAsB,MAAM,CAAC,yBAAyB,EAAE,CAC3D,CAAA;QACD,SAAS,CAAC,sBAAsB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;QACxD,SAAS,CAAC,sBAAsB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC9D,CAAC,CACJ,CAAA;IAEL,QAAQ;SACH,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CACH,eAAe,EACf,oCAAoC,EACpC,sBAAsB,CACzB;SACA,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,+BAA+B,EAAE,8BAA8B,CAAC;SACvE,MAAM,CACH,sCAAsC,EACtC,sDAAsD,CACzD;SACA,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CACH,KAAK,EAAE,IAON,EAAE,EAAE;QACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YAChC,IAAI,EACA,IAAI,CAAC,IAAI,KAAK,YAAY;gBACtB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,qBAAqB;YAC/B,YAAY,EACR,IAAI,CAAC,YAAY,KAAK,SAAS;gBAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC3B,CAAC,CAAC,SAAS;YACnB,qBAAqB,EACjB,IAAI,CAAC,qBAAqB,KAAK,SAAS;gBACpC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACpC,CAAC,CAAC,SAAS;YACnB,gCAAgC,EAC5B,IAAI,CAAC,gCAAgC,IAAI,KAAK;YAClD,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe;SACvC,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,MAAM,CAAC,CAAA;YACjB,OAAM;QACV,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACb,SAAS,CAAC,wBAAwB,CAAC,CAAA;YACnC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;gBAClD,SAAS,CACL,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CACxD,CAAA;YACL,CAAC;YACD,OAAM;QACV,CAAC;QAED,MAAM,QAAQ,GACV,MAAM,CAAC,OAAO,KAAK,IAAI;YACnB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;gBACxB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,qBAAqB,CAAA;QAEjC,SAAS,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;QAC9C,SAAS,CAAC,yBAAyB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;QACtD,SAAS,CACL,yBAAyB,MAAM,CAAC,qBAAqB,EAAE,CAC1D,CAAA;QACD,SAAS,CACL,yBAAyB,MAAM,CAAC,wBAAwB,EAAE,CAC7D,CAAA;QACD,SAAS,CACL,yBAAyB,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,EAAE,CACjE,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,SAAS,CAAC,6BAA6B,CAAC,CAAA;YACxC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,eAAgB,EAAE,CAAC;gBACvC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;YACnD,CAAC;QACL,CAAC;IACL,CAAC,CACJ,CAAA;IAEL,QAAQ;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAA;QAE5C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,MAAM,CAAC,CAAA;YACjB,OAAM;QACV,CAAC;QAED,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAClE,CAAC;IACL,CAAC,CAAC,CAAA;IAEN,QAAQ;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,0BAA0B,EAAE,CAAA;QAEhD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,IAAI,CAAC,CAAA;YACf,OAAM;QACV,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAClC,SAAS,CACL,GAAG,UAAU,MAAM,IAAI,CAAC,MAAM,iBAAiB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/E,CAAA;QACL,CAAC;IACL,CAAC,CAAC,CAAA;IAEN,QAAQ;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAyB,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACvD,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;AACV,CAAC"}
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../src/cli/commands/analysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { PropositCore } from "../../lib/core/proposit-core.js";
|
|
|
5
5
|
interface TEvaluationOverlay {
|
|
6
6
|
result: TCoreArgumentEvaluationResult;
|
|
7
7
|
premiseResults: Map<string, TCorePremiseEvaluationResult>;
|
|
8
|
-
|
|
8
|
+
operatorAssignments: Record<string, string>;
|
|
9
9
|
}
|
|
10
10
|
export declare function buildDotGraph(engine: ArgumentEngine, core: PropositCore, overlay?: TEvaluationOverlay): string;
|
|
11
11
|
export declare function registerGraphCommand(versionedCmd: Command, argumentId: string, version: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,KAAK,EACR,6BAA6B,EAC7B,4BAA4B,EAE/B,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,KAAK,EACR,6BAA6B,EAC7B,4BAA4B,EAE/B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAmEnE,UAAU,kBAAkB;IACxB,MAAM,EAAE,6BAA6B,CAAA;IACrC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;IACzD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9C;AAED,wBAAgB,aAAa,CACzB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,kBAAkB,GAC7B,MAAM,CA4SR;AAED,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CA8FN"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { hydrateEngine, hydratePropositCore } from "../engine.js";
|
|
3
3
|
import { isClaimBound, isPremiseBound } from "../../lib/schemata/index.js";
|
|
4
|
+
import { gradeEvaluation } from "../../lib/core/evaluation/grading.js";
|
|
4
5
|
import { printJson, printLine, errorExit } from "../output.js";
|
|
5
6
|
import { readAnalysis, resolveAnalysisFilename, analysisFileExists, } from "../storage/analysis.js";
|
|
6
7
|
import { readVariables } from "../storage/variables.js";
|
|
@@ -53,7 +54,9 @@ function truthColor(value) {
|
|
|
53
54
|
return "red";
|
|
54
55
|
return "gray70";
|
|
55
56
|
}
|
|
56
|
-
function truthFillColor(value) {
|
|
57
|
+
function truthFillColor(value, vacuous) {
|
|
58
|
+
if (value === true && vacuous)
|
|
59
|
+
return '"#fff3cd"'; // yellow for vacuous truth
|
|
57
60
|
if (value === true)
|
|
58
61
|
return '"#d4edda"';
|
|
59
62
|
if (value === false)
|
|
@@ -74,25 +77,34 @@ export function buildDotGraph(engine, core, overlay) {
|
|
|
74
77
|
lines.push("digraph argument {");
|
|
75
78
|
lines.push(" compound=true;");
|
|
76
79
|
lines.push(" rankdir=TB;");
|
|
77
|
-
|
|
78
|
-
if (overlay) {
|
|
79
|
-
const r = overlay.result;
|
|
80
|
-
const summaryParts = [];
|
|
81
|
-
if (r.isAdmissibleAssignment !== undefined)
|
|
82
|
-
summaryParts.push(`admissible: ${r.isAdmissibleAssignment ?? "unknown"}`);
|
|
83
|
-
if (r.isCounterexample !== undefined)
|
|
84
|
-
summaryParts.push(`counterexample: ${r.isCounterexample ?? "unknown"}`);
|
|
85
|
-
if (r.preservesTruthUnderAssignment !== undefined)
|
|
86
|
-
summaryParts.push(`preserves truth: ${r.preservesTruthUnderAssignment ?? "unknown"}`);
|
|
87
|
-
const subtitle = summaryParts.join(" | ");
|
|
88
|
-
lines.push(` label="${dotEscape(argTitle)}\\n${dotEscape(subtitle)}";`);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
lines.push(` label="${dotEscape(argTitle)}";`);
|
|
92
|
-
}
|
|
80
|
+
lines.push(` label="${dotEscape(argTitle)}";`);
|
|
93
81
|
lines.push(" labelloc=t;");
|
|
94
82
|
lines.push(" fontsize=16;");
|
|
95
83
|
lines.push("");
|
|
84
|
+
// Evaluation summary box (top-right)
|
|
85
|
+
if (overlay) {
|
|
86
|
+
const r = overlay.result;
|
|
87
|
+
const grading = gradeEvaluation(r);
|
|
88
|
+
const gradeColorMap = {
|
|
89
|
+
green: "#28a745",
|
|
90
|
+
orange: "#d48806",
|
|
91
|
+
red: "#dc3545",
|
|
92
|
+
gray: "#6c757d",
|
|
93
|
+
};
|
|
94
|
+
const gradeHtmlColor = gradeColorMap[grading.color] ?? "#6c757d";
|
|
95
|
+
const tri = (v) => v === true ? "true" : v === false ? "false" : "unknown";
|
|
96
|
+
const summaryHtml = [
|
|
97
|
+
`<TABLE BORDER="1" CELLBORDER="0" CELLSPACING="0" CELLPADDING="6" BGCOLOR="white">`,
|
|
98
|
+
`<TR><TD COLSPAN="2"><FONT POINT-SIZE="14" COLOR="${gradeHtmlColor}"><B>${htmlEscape(grading.label)}</B></FONT></TD></TR>`,
|
|
99
|
+
`<TR><TD ALIGN="LEFT">admissible</TD><TD ALIGN="RIGHT">${tri(r.isAdmissibleAssignment)}</TD></TR>`,
|
|
100
|
+
`<TR><TD ALIGN="LEFT">all supporting</TD><TD ALIGN="RIGHT">${tri(r.allSupportingPremisesTrue)}</TD></TR>`,
|
|
101
|
+
`<TR><TD ALIGN="LEFT">conclusion true</TD><TD ALIGN="RIGHT">${tri(r.conclusionTrue)}</TD></TR>`,
|
|
102
|
+
`<TR><TD ALIGN="LEFT">counterexample</TD><TD ALIGN="RIGHT">${tri(r.isCounterexample)}</TD></TR>`,
|
|
103
|
+
`</TABLE>`,
|
|
104
|
+
].join("");
|
|
105
|
+
lines.push(` eval_summary [shape=plaintext label=<${summaryHtml}>];`);
|
|
106
|
+
lines.push("");
|
|
107
|
+
}
|
|
96
108
|
const premises = engine.listPremises();
|
|
97
109
|
for (const pm of premises) {
|
|
98
110
|
const pid = pm.getId();
|
|
@@ -107,7 +119,14 @@ export function buildDotGraph(engine, core, overlay) {
|
|
|
107
119
|
const premResult = overlay?.premiseResults.get(pid);
|
|
108
120
|
lines.push(` subgraph ${clusterName} {`);
|
|
109
121
|
if (overlay && premResult?.rootValue !== undefined) {
|
|
110
|
-
|
|
122
|
+
// Detect vacuous truth: root is true but inference diagnostic
|
|
123
|
+
// shows the implication fired vacuously (antecedent false)
|
|
124
|
+
const isVacuous = premResult.rootValue === true &&
|
|
125
|
+
premResult.inferenceDiagnostic?.kind === "implies" &&
|
|
126
|
+
premResult.inferenceDiagnostic.isVacuouslyTrue === true;
|
|
127
|
+
const borderColor = isVacuous
|
|
128
|
+
? "goldenrod"
|
|
129
|
+
: truthColor(premResult.rootValue);
|
|
111
130
|
lines.push(` label="${clusterLabel}";`);
|
|
112
131
|
lines.push(` style=bold;`);
|
|
113
132
|
lines.push(` color=${borderColor};`);
|
|
@@ -150,15 +169,29 @@ export function buildDotGraph(engine, core, overlay) {
|
|
|
150
169
|
attrs.push(`shape=${shape}`);
|
|
151
170
|
// Evaluation overlay: color nodes by truth value
|
|
152
171
|
if (overlay && premResult) {
|
|
153
|
-
|
|
172
|
+
let exprValue = premResult.expressionValues[expr.id];
|
|
173
|
+
// For variable expressions without a direct value (e.g. under
|
|
174
|
+
// a rejected operator), inherit the variable's assignment value
|
|
175
|
+
if (exprValue === undefined &&
|
|
176
|
+
expr.type === "variable" &&
|
|
177
|
+
overlay.result.assignment) {
|
|
178
|
+
const varVal = overlay.result.assignment.variables[expr.variableId];
|
|
179
|
+
if (varVal !== undefined)
|
|
180
|
+
exprValue = varVal;
|
|
181
|
+
}
|
|
154
182
|
if (exprValue !== undefined) {
|
|
155
183
|
attrs.push(`style=filled`);
|
|
156
184
|
attrs.push(`fillcolor=${truthFillColor(exprValue)}`);
|
|
157
185
|
}
|
|
158
|
-
|
|
186
|
+
const opState = overlay.operatorAssignments[expr.id];
|
|
187
|
+
if (opState === "rejected") {
|
|
159
188
|
attrs.push(`peripheries=2`);
|
|
160
189
|
attrs.push(`color=red`);
|
|
161
190
|
}
|
|
191
|
+
else if (opState === "accepted") {
|
|
192
|
+
attrs.push(`peripheries=2`);
|
|
193
|
+
attrs.push(`color=green`);
|
|
194
|
+
}
|
|
162
195
|
}
|
|
163
196
|
lines.push(` "${nid}" [${attrs.join(" ")}];`);
|
|
164
197
|
}
|
|
@@ -294,7 +327,7 @@ export function registerGraphCommand(versionedCmd, argumentId, version) {
|
|
|
294
327
|
const engine = await hydrateEngine(argumentId, version, core);
|
|
295
328
|
let overlay;
|
|
296
329
|
if (opts.analysis) {
|
|
297
|
-
const filename = resolveAnalysisFilename(opts.analysis);
|
|
330
|
+
const filename = await resolveAnalysisFilename(opts.analysis, argumentId, version);
|
|
298
331
|
if (!(await analysisFileExists(argumentId, version, filename))) {
|
|
299
332
|
errorExit(`Analysis file "${filename}" does not exist.`);
|
|
300
333
|
}
|
|
@@ -311,12 +344,12 @@ export function registerGraphCommand(versionedCmd, argumentId, version) {
|
|
|
311
344
|
}
|
|
312
345
|
const result = engine.evaluate({
|
|
313
346
|
variables: variableAssignment,
|
|
314
|
-
|
|
315
|
-
...analysisData.
|
|
316
|
-
|
|
347
|
+
operatorAssignments: {
|
|
348
|
+
...analysisData.operatorAssignments,
|
|
349
|
+
},
|
|
317
350
|
}, {
|
|
318
351
|
includeExpressionValues: true,
|
|
319
|
-
includeDiagnostics:
|
|
352
|
+
includeDiagnostics: true,
|
|
320
353
|
validateFirst: false,
|
|
321
354
|
});
|
|
322
355
|
if (!result.ok) {
|
|
@@ -332,7 +365,9 @@ export function registerGraphCommand(versionedCmd, argumentId, version) {
|
|
|
332
365
|
overlay = {
|
|
333
366
|
result,
|
|
334
367
|
premiseResults,
|
|
335
|
-
|
|
368
|
+
operatorAssignments: {
|
|
369
|
+
...analysisData.operatorAssignments,
|
|
370
|
+
},
|
|
336
371
|
};
|
|
337
372
|
}
|
|
338
373
|
const dot = buildDotGraph(engine, core, overlay);
|