@polintpro/proposit-core 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/cli/commands/sources.d.ts +3 -0
- package/dist/cli/commands/sources.d.ts.map +1 -0
- package/dist/cli/commands/sources.js +175 -0
- package/dist/cli/commands/sources.js.map +1 -0
- package/dist/cli/config.d.ts +2 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +6 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/engine.d.ts.map +1 -1
- package/dist/cli/engine.js +39 -1
- package/dist/cli/engine.js.map +1 -1
- package/dist/cli/schemata.d.ts +8 -0
- package/dist/cli/schemata.d.ts.map +1 -1
- package/dist/cli/schemata.js +10 -0
- package/dist/cli/schemata.js.map +1 -1
- package/dist/cli/storage/sources.d.ts +11 -0
- package/dist/cli/storage/sources.d.ts.map +1 -0
- package/dist/cli/storage/sources.js +105 -0
- package/dist/cli/storage/sources.js.map +1 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/extensions/ieee/index.d.ts +3 -0
- package/dist/extensions/ieee/index.d.ts.map +1 -0
- package/dist/extensions/ieee/index.js +3 -0
- package/dist/extensions/ieee/index.js.map +1 -0
- package/dist/extensions/ieee/references.d.ts +620 -0
- package/dist/extensions/ieee/references.d.ts.map +1 -0
- package/dist/extensions/ieee/references.js +450 -0
- package/dist/extensions/ieee/references.js.map +1 -0
- package/dist/extensions/ieee/source.d.ts +286 -0
- package/dist/extensions/ieee/source.d.ts.map +1 -0
- package/dist/extensions/ieee/source.js +12 -0
- package/dist/extensions/ieee/source.js.map +1 -0
- package/dist/lib/consts.d.ts.map +1 -1
- package/dist/lib/consts.js +19 -0
- package/dist/lib/consts.js.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +42 -134
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +299 -116
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/change-collector.d.ts +12 -2
- package/dist/lib/core/change-collector.d.ts.map +1 -1
- package/dist/lib/core/change-collector.js +27 -0
- package/dist/lib/core/change-collector.js.map +1 -1
- package/dist/lib/core/diff.d.ts +8 -2
- package/dist/lib/core/diff.d.ts.map +1 -1
- package/dist/lib/core/diff.js +58 -0
- package/dist/lib/core/diff.js.map +1 -1
- package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +334 -0
- package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/argument-engine.interfaces.js +2 -0
- package/dist/lib/core/interfaces/argument-engine.interfaces.js.map +1 -0
- package/dist/lib/core/interfaces/index.d.ts +5 -0
- package/dist/lib/core/interfaces/index.d.ts.map +1 -0
- package/dist/lib/core/interfaces/index.js +2 -0
- package/dist/lib/core/interfaces/index.js.map +1 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +317 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.js +2 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.js.map +1 -0
- package/dist/lib/core/interfaces/shared.interfaces.d.ts +24 -0
- package/dist/lib/core/interfaces/shared.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/shared.interfaces.js +2 -0
- package/dist/lib/core/interfaces/shared.interfaces.js.map +1 -0
- package/dist/lib/core/interfaces/source-management.interfaces.d.ts +110 -0
- package/dist/lib/core/interfaces/source-management.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/source-management.interfaces.js +2 -0
- package/dist/lib/core/interfaces/source-management.interfaces.js.map +1 -0
- package/dist/lib/core/premise-engine.d.ts +19 -153
- package/dist/lib/core/premise-engine.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.js +95 -143
- package/dist/lib/core/premise-engine.js.map +1 -1
- package/dist/lib/core/source-manager.d.ts +109 -0
- package/dist/lib/core/source-manager.d.ts.map +1 -0
- package/dist/lib/core/source-manager.js +420 -0
- package/dist/lib/core/source-manager.js.map +1 -0
- package/dist/lib/index.d.ts +4 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/schemata/index.d.ts +1 -0
- package/dist/lib/schemata/index.d.ts.map +1 -1
- package/dist/lib/schemata/index.js +1 -0
- package/dist/lib/schemata/index.js.map +1 -1
- package/dist/lib/schemata/source.d.ts +28 -0
- package/dist/lib/schemata/source.d.ts.map +1 -0
- package/dist/lib/schemata/source.js +35 -0
- package/dist/lib/schemata/source.js.map +1 -0
- package/dist/lib/types/checksum.d.ts +6 -0
- package/dist/lib/types/checksum.d.ts.map +1 -1
- package/dist/lib/types/diff.d.ts +9 -3
- package/dist/lib/types/diff.d.ts.map +1 -1
- package/dist/lib/types/evaluation.d.ts +1 -1
- package/dist/lib/types/evaluation.d.ts.map +1 -1
- package/dist/lib/types/mutation.d.ts +7 -3
- package/dist/lib/types/mutation.d.ts.map +1 -1
- package/dist/lib/types/reactive.d.ts +5 -2
- package/dist/lib/types/reactive.d.ts.map +1 -1
- package/package.json +5 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TOptionalChecksum } from "../schemata/index.js";
|
|
1
|
+
import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TOptionalChecksum, TCoreSource, TCoreVariableSourceAssociation, TCoreExpressionSourceAssociation } from "../schemata/index.js";
|
|
2
2
|
import type { TCoreArgumentEvaluationOptions, TCoreArgumentEvaluationResult, TCoreArgumentRoleState, TCoreExpressionAssignment, TCoreValidationResult, TCoreValidityCheckOptions, TCoreValidityCheckResult } from "../types/evaluation.js";
|
|
3
3
|
import type { TCoreChecksumConfig } from "../types/checksum.js";
|
|
4
4
|
import type { TCorePositionConfig } from "../utils/position.js";
|
|
@@ -8,16 +8,19 @@ import type { TExpressionInput } from "./expression-manager.js";
|
|
|
8
8
|
import { PremiseEngine } from "./premise-engine.js";
|
|
9
9
|
import type { TPremiseEngineSnapshot } from "./premise-engine.js";
|
|
10
10
|
import type { TVariableManagerSnapshot } from "./variable-manager.js";
|
|
11
|
+
import type { TPremiseCrud, TVariableManagement, TArgumentExpressionQueries, TArgumentRoleState, TArgumentEvaluation, TArgumentLifecycle, TArgumentIdentity, TSourceManagement, TDisplayable, TChecksummable } from "./interfaces/index.js";
|
|
12
|
+
import type { TSourceManagerSnapshot } from "./source-manager.js";
|
|
11
13
|
export type TLogicEngineOptions = {
|
|
12
14
|
checksumConfig?: TCoreChecksumConfig;
|
|
13
15
|
positionConfig?: TCorePositionConfig;
|
|
14
16
|
};
|
|
15
|
-
export type TArgumentEngineSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> = {
|
|
17
|
+
export type TArgumentEngineSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource> = {
|
|
16
18
|
argument: TOptionalChecksum<TArg>;
|
|
17
19
|
variables: TVariableManagerSnapshot<TVar>;
|
|
18
20
|
premises: TPremiseEngineSnapshot<TPremise, TExpr>[];
|
|
19
21
|
conclusionPremiseId?: string;
|
|
20
22
|
config?: TLogicEngineOptions;
|
|
23
|
+
sources?: TSourceManagerSnapshot<TSource>;
|
|
21
24
|
};
|
|
22
25
|
/**
|
|
23
26
|
* Manages a propositional logic argument composed of premises, variable
|
|
@@ -26,10 +29,11 @@ export type TArgumentEngineSnapshot<TArg extends TCoreArgument = TCoreArgument,
|
|
|
26
29
|
* Provides premise CRUD, role management, evaluation of individual
|
|
27
30
|
* assignments, and exhaustive validity checking via truth-table enumeration.
|
|
28
31
|
*/
|
|
29
|
-
export declare class ArgumentEngine<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
|
|
32
|
+
export declare class ArgumentEngine<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource> implements TPremiseCrud<TArg, TPremise, TExpr, TVar, TSource>, TVariableManagement<TArg, TPremise, TExpr, TVar, TSource>, TArgumentExpressionQueries<TExpr>, TArgumentRoleState<TArg, TPremise, TExpr, TVar, TSource>, TArgumentEvaluation, TArgumentLifecycle<TArg, TPremise, TExpr, TVar, TSource>, TArgumentIdentity<TArg>, TSourceManagement<TArg, TPremise, TExpr, TVar, TSource>, TDisplayable, TChecksummable {
|
|
30
33
|
private argument;
|
|
31
34
|
private premises;
|
|
32
35
|
private variables;
|
|
36
|
+
private sourceManager;
|
|
33
37
|
private conclusionPremiseId;
|
|
34
38
|
private checksumConfig?;
|
|
35
39
|
private positionConfig?;
|
|
@@ -40,145 +44,78 @@ export declare class ArgumentEngine<TArg extends TCoreArgument = TCoreArgument,
|
|
|
40
44
|
private reactiveDirty;
|
|
41
45
|
private cachedReactiveSnapshot;
|
|
42
46
|
constructor(argument: TOptionalChecksum<TArg>, options?: TLogicEngineOptions);
|
|
43
|
-
/**
|
|
44
|
-
* Registers a listener that is called after every mutation.
|
|
45
|
-
* Returns an unsubscribe function.
|
|
46
|
-
*/
|
|
47
47
|
subscribe: (listener: () => void) => (() => void);
|
|
48
48
|
protected notifySubscribers(): void;
|
|
49
|
-
getSnapshot: () => TReactiveSnapshot<TArg, TPremise, TExpr, TVar>;
|
|
50
|
-
protected buildReactiveSnapshot(): TReactiveSnapshot<TArg, TPremise, TExpr, TVar>;
|
|
49
|
+
getSnapshot: () => TReactiveSnapshot<TArg, TPremise, TExpr, TVar, TSource>;
|
|
50
|
+
protected buildReactiveSnapshot(): TReactiveSnapshot<TArg, TPremise, TExpr, TVar, TSource>;
|
|
51
51
|
private buildVariablesRecord;
|
|
52
52
|
private buildAllPremisesRecord;
|
|
53
53
|
private buildPremiseRecord;
|
|
54
54
|
private markReactiveDirty;
|
|
55
|
-
/** Returns a shallow copy of the argument metadata with checksum attached. */
|
|
56
55
|
getArgument(): TArg;
|
|
57
|
-
/** Renders the argument as a multi-line string with role labels for each premise. */
|
|
58
56
|
toDisplayString(): string;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
createPremise(extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar>, TExpr, TVar, TPremise, TArg>;
|
|
64
|
-
/**
|
|
65
|
-
* Creates a premise with a caller-supplied ID and registers it with
|
|
66
|
-
* this engine.
|
|
67
|
-
*
|
|
68
|
-
* @throws If a premise with the given ID already exists.
|
|
69
|
-
*/
|
|
70
|
-
createPremiseWithId(id: string, extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar>, TExpr, TVar, TPremise, TArg>;
|
|
71
|
-
/**
|
|
72
|
-
* Removes a premise and clears any role assignments that reference it.
|
|
73
|
-
* Returns the removed premise data, or `undefined` if not found.
|
|
74
|
-
*/
|
|
75
|
-
removePremise(premiseId: string): TCoreMutationResult<TPremise | undefined, TExpr, TVar, TPremise, TArg>;
|
|
76
|
-
/** Returns the premise with the given ID, or `undefined` if not found. */
|
|
77
|
-
getPremise(premiseId: string): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
78
|
-
/** Returns `true` if a premise with the given ID exists. */
|
|
57
|
+
createPremise(extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar, TSource>, TExpr, TVar, TPremise, TArg, TSource>;
|
|
58
|
+
createPremiseWithId(id: string, extras?: Record<string, unknown>): TCoreMutationResult<PremiseEngine<TArg, TPremise, TExpr, TVar, TSource>, TExpr, TVar, TPremise, TArg, TSource>;
|
|
59
|
+
removePremise(premiseId: string): TCoreMutationResult<TPremise | undefined, TExpr, TVar, TPremise, TArg, TSource>;
|
|
60
|
+
getPremise(premiseId: string): PremiseEngine<TArg, TPremise, TExpr, TVar, TSource> | undefined;
|
|
79
61
|
hasPremise(premiseId: string): boolean;
|
|
80
|
-
/** Returns all premise IDs in lexicographic order. */
|
|
81
62
|
listPremiseIds(): string[];
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Registers a propositional variable for use across all premises.
|
|
86
|
-
*
|
|
87
|
-
* @throws If `variable.symbol` is already in use.
|
|
88
|
-
* @throws If `variable.id` already exists.
|
|
89
|
-
* @throws If the variable does not belong to this argument.
|
|
90
|
-
*/
|
|
91
|
-
addVariable(variable: TOptionalChecksum<TVar>): TCoreMutationResult<TVar, TExpr, TVar, TPremise, TArg>;
|
|
92
|
-
/**
|
|
93
|
-
* Updates fields on an existing variable. Since all premises share the
|
|
94
|
-
* same VariableManager, the update is immediately visible everywhere.
|
|
95
|
-
*
|
|
96
|
-
* @throws If the new symbol is already in use by a different variable.
|
|
97
|
-
*/
|
|
63
|
+
listPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar, TSource>[];
|
|
64
|
+
addVariable(variable: TOptionalChecksum<TVar>): TCoreMutationResult<TVar, TExpr, TVar, TPremise, TArg, TSource>;
|
|
98
65
|
updateVariable(variableId: string, updates: {
|
|
99
66
|
symbol?: string;
|
|
100
|
-
}): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg>;
|
|
101
|
-
|
|
102
|
-
* Removes a variable and cascade-deletes all expressions referencing it
|
|
103
|
-
* across every premise (including subtrees and operator collapse).
|
|
104
|
-
*/
|
|
105
|
-
removeVariable(variableId: string): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg>;
|
|
106
|
-
/** Returns all registered variables sorted by ID. */
|
|
67
|
+
}): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg, TSource>;
|
|
68
|
+
removeVariable(variableId: string): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg, TSource>;
|
|
107
69
|
getVariables(): TVar[];
|
|
108
|
-
/** Returns the variable with the given ID, or `undefined` if not found. */
|
|
109
70
|
getVariable(variableId: string): TVar | undefined;
|
|
110
|
-
/** Returns `true` if a variable with the given ID exists. */
|
|
111
71
|
hasVariable(variableId: string): boolean;
|
|
112
|
-
/** Returns the variable with the given symbol, or `undefined` if not found. */
|
|
113
72
|
getVariableBySymbol(symbol: string): TVar | undefined;
|
|
114
|
-
/**
|
|
115
|
-
* Builds a Map keyed by a caller-supplied function over all variables.
|
|
116
|
-
* Useful for indexing by extension fields (e.g. statementId).
|
|
117
|
-
* The caller should cache the result — this is O(n) per call.
|
|
118
|
-
*/
|
|
119
73
|
buildVariableIndex<K>(keyFn: (v: TVar) => K): Map<K, TVar>;
|
|
120
|
-
/** Returns an expression by ID from any premise, or `undefined` if not found. */
|
|
121
74
|
getExpression(expressionId: string): TExpr | undefined;
|
|
122
|
-
/** Returns `true` if an expression with the given ID exists in any premise. */
|
|
123
75
|
hasExpression(expressionId: string): boolean;
|
|
124
|
-
/** Returns the premise ID that contains the given expression, or `undefined`. */
|
|
125
76
|
getExpressionPremiseId(expressionId: string): string | undefined;
|
|
126
|
-
|
|
127
|
-
findPremiseByExpressionId(expressionId: string): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
128
|
-
/** Returns all expressions across all premises, sorted by ID. */
|
|
77
|
+
findPremiseByExpressionId(expressionId: string): PremiseEngine<TArg, TPremise, TExpr, TVar, TSource> | undefined;
|
|
129
78
|
getAllExpressions(): TExpr[];
|
|
130
|
-
/**
|
|
131
|
-
* Returns all expressions that reference the given variable ID,
|
|
132
|
-
* across all premises.
|
|
133
|
-
*/
|
|
134
79
|
getExpressionsByVariableId(variableId: string): TExpr[];
|
|
135
|
-
/** Returns the root expression from each premise that has one. */
|
|
136
80
|
listRootExpressions(): TExpr[];
|
|
137
|
-
/** Returns the current role assignments (conclusion premise ID only; supporting is derived). */
|
|
138
81
|
getRoleState(): TCoreArgumentRoleState;
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
82
|
+
setConclusionPremise(premiseId: string): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg, TSource>;
|
|
83
|
+
clearConclusionPremise(): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg, TSource>;
|
|
84
|
+
getConclusionPremise(): PremiseEngine<TArg, TPremise, TExpr, TVar, TSource> | undefined;
|
|
85
|
+
listSupportingPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar, TSource>[];
|
|
86
|
+
addSource(source: TOptionalChecksum<TSource>): TCoreMutationResult<TSource, TExpr, TVar, TPremise, TArg, TSource>;
|
|
87
|
+
removeSource(sourceId: string): TCoreMutationResult<TSource | undefined, TExpr, TVar, TPremise, TArg, TSource>;
|
|
88
|
+
addVariableSourceAssociation(sourceId: string, variableId: string): TCoreMutationResult<TCoreVariableSourceAssociation, TExpr, TVar, TPremise, TArg, TSource>;
|
|
89
|
+
removeVariableSourceAssociation(associationId: string): TCoreMutationResult<TCoreVariableSourceAssociation | undefined, TExpr, TVar, TPremise, TArg, TSource>;
|
|
90
|
+
addExpressionSourceAssociation(sourceId: string, expressionId: string, premiseId: string): TCoreMutationResult<TCoreExpressionSourceAssociation, TExpr, TVar, TPremise, TArg, TSource>;
|
|
91
|
+
removeExpressionSourceAssociation(associationId: string): TCoreMutationResult<TCoreExpressionSourceAssociation | undefined, TExpr, TVar, TPremise, TArg, TSource>;
|
|
92
|
+
getSources(): TSource[];
|
|
93
|
+
getSource(sourceId: string): TSource | undefined;
|
|
94
|
+
getAssociationsForSource(sourceId: string): {
|
|
95
|
+
variable: TCoreVariableSourceAssociation[];
|
|
96
|
+
expression: TCoreExpressionSourceAssociation[];
|
|
97
|
+
};
|
|
98
|
+
getAssociationsForVariable(variableId: string): TCoreVariableSourceAssociation[];
|
|
99
|
+
getAssociationsForExpression(expressionId: string): TCoreExpressionSourceAssociation[];
|
|
100
|
+
getAllVariableSourceAssociations(): TCoreVariableSourceAssociation[];
|
|
101
|
+
getAllExpressionSourceAssociations(): TCoreExpressionSourceAssociation[];
|
|
102
|
+
snapshot(): TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar, TSource>;
|
|
156
103
|
/** Creates a new ArgumentEngine from a previously captured snapshot. */
|
|
157
|
-
static fromSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable>(snapshot: TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar>): ArgumentEngine<TArg, TPremise, TExpr, TVar>;
|
|
104
|
+
static fromSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource>(snapshot: TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar, TSource>): ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource>;
|
|
158
105
|
/**
|
|
159
106
|
* Creates a new ArgumentEngine from flat arrays of entities, as typically
|
|
160
107
|
* stored in a relational database. Expressions are grouped by their
|
|
161
108
|
* `premiseId` field and loaded in BFS order (roots first, then children
|
|
162
109
|
* of already-added nodes) to satisfy parent-existence requirements.
|
|
163
110
|
*/
|
|
164
|
-
static fromData<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable>(argument: TOptionalChecksum<TArg>, variables: TOptionalChecksum<TVar>[], premises: TOptionalChecksum<TPremise>[], expressions: TExpressionInput<TExpr>[], roles: TCoreArgumentRoleState, config?: TLogicEngineOptions): ArgumentEngine<TArg, TPremise, TExpr, TVar>;
|
|
165
|
-
|
|
166
|
-
rollback(snapshot: TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar>): void;
|
|
167
|
-
/**
|
|
168
|
-
* Returns an argument-level checksum combining argument metadata, role
|
|
169
|
-
* state, and all premise checksums. Computed lazily -- only recalculated
|
|
170
|
-
* when the engine's own state has changed.
|
|
171
|
-
*/
|
|
111
|
+
static fromData<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource>(argument: TOptionalChecksum<TArg>, variables: TOptionalChecksum<TVar>[], premises: TOptionalChecksum<TPremise>[], expressions: TExpressionInput<TExpr>[], roles: TCoreArgumentRoleState, config?: TLogicEngineOptions): ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource>;
|
|
112
|
+
rollback(snapshot: TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar, TSource>): void;
|
|
172
113
|
checksum(): string;
|
|
173
114
|
private computeChecksum;
|
|
174
115
|
private markDirty;
|
|
175
116
|
/** Invalidate all premise checksums (e.g. after variable changes). */
|
|
176
117
|
private markAllPremisesDirty;
|
|
177
118
|
private attachVariableChecksum;
|
|
178
|
-
/**
|
|
179
|
-
* Collects all variables referenced by expressions across all premises,
|
|
180
|
-
* indexed both by variable ID and by symbol.
|
|
181
|
-
*/
|
|
182
119
|
collectReferencedVariables(): {
|
|
183
120
|
variableIds: string[];
|
|
184
121
|
byId: Record<string, {
|
|
@@ -190,37 +127,8 @@ export declare class ArgumentEngine<TArg extends TCoreArgument = TCoreArgument,
|
|
|
190
127
|
premiseIds: string[];
|
|
191
128
|
}>;
|
|
192
129
|
};
|
|
193
|
-
/**
|
|
194
|
-
* Validates that this argument is structurally ready for evaluation:
|
|
195
|
-
* a conclusion must be set, all role references must point to existing
|
|
196
|
-
* premises, variable ID/symbol mappings must be consistent, and every
|
|
197
|
-
* premise must be individually evaluable.
|
|
198
|
-
*/
|
|
199
130
|
validateEvaluability(): TCoreValidationResult;
|
|
200
|
-
/**
|
|
201
|
-
* Evaluates the argument under a three-valued expression assignment.
|
|
202
|
-
*
|
|
203
|
-
* Variables may be `true`, `false`, or `null` (unknown). Expressions
|
|
204
|
-
* listed in `rejectedExpressionIds` evaluate to `false` (children
|
|
205
|
-
* skipped). All result flags (`isAdmissibleAssignment`,
|
|
206
|
-
* `allSupportingPremisesTrue`, `conclusionTrue`, `isCounterexample`,
|
|
207
|
-
* `preservesTruthUnderAssignment`) are three-valued: `null` means
|
|
208
|
-
* the result is indeterminate due to unknown variable values.
|
|
209
|
-
*
|
|
210
|
-
* Returns `{ ok: false }` with validation details if the argument is
|
|
211
|
-
* not structurally evaluable.
|
|
212
|
-
*/
|
|
213
131
|
evaluate(assignment: TCoreExpressionAssignment, options?: TCoreArgumentEvaluationOptions): TCoreArgumentEvaluationResult;
|
|
214
|
-
/**
|
|
215
|
-
* Enumerates all 2^n variable assignments and checks for counterexamples.
|
|
216
|
-
*
|
|
217
|
-
* A counterexample is an admissible assignment where all supporting
|
|
218
|
-
* premises are true but the conclusion is false. The argument is valid
|
|
219
|
-
* if no counterexamples exist.
|
|
220
|
-
*
|
|
221
|
-
* Supports early termination (`firstCounterexample` mode) and
|
|
222
|
-
* configurable limits on variables and assignments checked.
|
|
223
|
-
*/
|
|
224
132
|
checkValidity(options?: TCoreValidityCheckOptions): TCoreValidityCheckResult;
|
|
225
133
|
}
|
|
226
134
|
//# sourceMappingURL=argument-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argument-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/argument-engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"argument-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/argument-engine.ts"],"names":[],"mappings":"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"}
|