@polintpro/proposit-core 0.3.0 → 0.5.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 +118 -0
- package/dist/cli/commands/sources.js.map +1 -0
- package/dist/cli/commands/variables.d.ts.map +1 -1
- package/dist/cli/commands/variables.js +3 -0
- package/dist/cli/commands/variables.js.map +1 -1
- 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 +35 -2
- package/dist/cli/engine.js.map +1 -1
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +7 -1
- package/dist/cli/import.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 +31 -1
- package/dist/lib/consts.js.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +25 -117
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +239 -123
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/assertion-library.d.ts +27 -0
- package/dist/lib/core/assertion-library.d.ts.map +1 -0
- package/dist/lib/core/assertion-library.js +129 -0
- package/dist/lib/core/assertion-library.js.map +1 -0
- package/dist/lib/core/change-collector.d.ts +7 -5
- package/dist/lib/core/change-collector.d.ts.map +1 -1
- package/dist/lib/core/change-collector.js +18 -5
- package/dist/lib/core/change-collector.js.map +1 -1
- package/dist/lib/core/diff.d.ts +6 -2
- package/dist/lib/core/diff.d.ts.map +1 -1
- package/dist/lib/core/diff.js +80 -1
- package/dist/lib/core/diff.js.map +1 -1
- package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +338 -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 +6 -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/library.interfaces.d.ts +19 -0
- package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -0
- package/dist/lib/core/interfaces/library.interfaces.js +2 -0
- package/dist/lib/core/interfaces/library.interfaces.js.map +1 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +318 -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 +63 -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 +10 -144
- package/dist/lib/core/premise-engine.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.js +82 -143
- package/dist/lib/core/premise-engine.js.map +1 -1
- package/dist/lib/core/source-library.d.ts +27 -0
- package/dist/lib/core/source-library.d.ts.map +1 -0
- package/dist/lib/core/source-library.js +129 -0
- package/dist/lib/core/source-library.js.map +1 -0
- package/dist/lib/core/source-manager.d.ts +38 -0
- package/dist/lib/core/source-manager.d.ts.map +1 -0
- package/dist/lib/core/source-manager.js +266 -0
- package/dist/lib/core/source-manager.js.map +1 -0
- package/dist/lib/index.d.ts +6 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +4 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/schemata/assertion.d.ts +9 -0
- package/dist/lib/schemata/assertion.d.ts.map +1 -0
- package/dist/lib/schemata/assertion.js +18 -0
- package/dist/lib/schemata/assertion.js.map +1 -0
- package/dist/lib/schemata/index.d.ts +2 -0
- package/dist/lib/schemata/index.d.ts.map +1 -1
- package/dist/lib/schemata/index.js +2 -0
- package/dist/lib/schemata/index.js.map +1 -1
- package/dist/lib/schemata/propositional.d.ts +2 -0
- package/dist/lib/schemata/propositional.d.ts.map +1 -1
- package/dist/lib/schemata/propositional.js +5 -1
- package/dist/lib/schemata/propositional.js.map +1 -1
- package/dist/lib/schemata/source.d.ts +30 -0
- package/dist/lib/schemata/source.d.ts.map +1 -0
- package/dist/lib/schemata/source.js +45 -0
- package/dist/lib/schemata/source.js.map +1 -0
- package/dist/lib/types/checksum.d.ts +8 -0
- package/dist/lib/types/checksum.d.ts.map +1 -1
- package/dist/lib/types/diff.d.ts +5 -1
- 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 +3 -0
- package/dist/lib/types/mutation.d.ts.map +1 -1
- package/dist/lib/types/reactive.d.ts +3 -1
- 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, TCoreAssertion, 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,6 +8,8 @@ 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, TAssertionLookup, TSourceLookup } 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;
|
|
@@ -18,6 +20,7 @@ export type TArgumentEngineSnapshot<TArg extends TCoreArgument = TCoreArgument,
|
|
|
18
20
|
premises: TPremiseEngineSnapshot<TPremise, TExpr>[];
|
|
19
21
|
conclusionPremiseId?: string;
|
|
20
22
|
config?: TLogicEngineOptions;
|
|
23
|
+
sources?: TSourceManagerSnapshot;
|
|
21
24
|
};
|
|
22
25
|
/**
|
|
23
26
|
* Manages a propositional logic argument composed of premises, variable
|
|
@@ -26,10 +29,13 @@ 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, TAssertion extends TCoreAssertion = TCoreAssertion> implements TPremiseCrud<TArg, TPremise, TExpr, TVar>, TVariableManagement<TArg, TPremise, TExpr, TVar>, TArgumentExpressionQueries<TExpr>, TArgumentRoleState<TArg, TPremise, TExpr, TVar>, TArgumentEvaluation, TArgumentLifecycle<TArg, TPremise, TExpr, TVar>, TArgumentIdentity<TArg>, TSourceManagement<TArg, TPremise, TExpr, TVar>, TDisplayable, TChecksummable {
|
|
30
33
|
private argument;
|
|
31
34
|
private premises;
|
|
32
35
|
private variables;
|
|
36
|
+
private sourceManager;
|
|
37
|
+
private assertionLibrary;
|
|
38
|
+
private sourceLibrary;
|
|
33
39
|
private conclusionPremiseId;
|
|
34
40
|
private checksumConfig?;
|
|
35
41
|
private positionConfig?;
|
|
@@ -39,11 +45,7 @@ export declare class ArgumentEngine<TArg extends TCoreArgument = TCoreArgument,
|
|
|
39
45
|
private listeners;
|
|
40
46
|
private reactiveDirty;
|
|
41
47
|
private cachedReactiveSnapshot;
|
|
42
|
-
constructor(argument: TOptionalChecksum<TArg>, options?: TLogicEngineOptions);
|
|
43
|
-
/**
|
|
44
|
-
* Registers a listener that is called after every mutation.
|
|
45
|
-
* Returns an unsubscribe function.
|
|
46
|
-
*/
|
|
48
|
+
constructor(argument: TOptionalChecksum<TArg>, assertionLibrary: TAssertionLookup<TAssertion>, sourceLibrary: TSourceLookup<TSource>, options?: TLogicEngineOptions);
|
|
47
49
|
subscribe: (listener: () => void) => (() => void);
|
|
48
50
|
protected notifySubscribers(): void;
|
|
49
51
|
getSnapshot: () => TReactiveSnapshot<TArg, TPremise, TExpr, TVar>;
|
|
@@ -52,133 +54,68 @@ export declare class ArgumentEngine<TArg extends TCoreArgument = TCoreArgument,
|
|
|
52
54
|
private buildAllPremisesRecord;
|
|
53
55
|
private buildPremiseRecord;
|
|
54
56
|
private markReactiveDirty;
|
|
55
|
-
/** Returns a shallow copy of the argument metadata with checksum attached. */
|
|
56
57
|
getArgument(): TArg;
|
|
57
|
-
/** Renders the argument as a multi-line string with role labels for each premise. */
|
|
58
58
|
toDisplayString(): string;
|
|
59
|
-
/**
|
|
60
|
-
* Creates a new premise with an auto-generated UUID and registers it
|
|
61
|
-
* with this engine.
|
|
62
|
-
*/
|
|
63
59
|
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
60
|
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
61
|
removePremise(premiseId: string): TCoreMutationResult<TPremise | undefined, TExpr, TVar, TPremise, TArg>;
|
|
76
|
-
/** Returns the premise with the given ID, or `undefined` if not found. */
|
|
77
62
|
getPremise(premiseId: string): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
78
|
-
/** Returns `true` if a premise with the given ID exists. */
|
|
79
63
|
hasPremise(premiseId: string): boolean;
|
|
80
|
-
/** Returns all premise IDs in lexicographic order. */
|
|
81
64
|
listPremiseIds(): string[];
|
|
82
|
-
/** Returns all premises in lexicographic ID order. */
|
|
83
65
|
listPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar>[];
|
|
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
66
|
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
|
-
*/
|
|
98
67
|
updateVariable(variableId: string, updates: {
|
|
99
68
|
symbol?: string;
|
|
69
|
+
assertionId?: string;
|
|
70
|
+
assertionVersion?: number;
|
|
100
71
|
}): 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
72
|
removeVariable(variableId: string): TCoreMutationResult<TVar | undefined, TExpr, TVar, TPremise, TArg>;
|
|
106
|
-
/** Returns all registered variables sorted by ID. */
|
|
107
73
|
getVariables(): TVar[];
|
|
108
|
-
/** Returns the variable with the given ID, or `undefined` if not found. */
|
|
109
74
|
getVariable(variableId: string): TVar | undefined;
|
|
110
|
-
/** Returns `true` if a variable with the given ID exists. */
|
|
111
75
|
hasVariable(variableId: string): boolean;
|
|
112
|
-
/** Returns the variable with the given symbol, or `undefined` if not found. */
|
|
113
76
|
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
77
|
buildVariableIndex<K>(keyFn: (v: TVar) => K): Map<K, TVar>;
|
|
120
|
-
/** Returns an expression by ID from any premise, or `undefined` if not found. */
|
|
121
78
|
getExpression(expressionId: string): TExpr | undefined;
|
|
122
|
-
/** Returns `true` if an expression with the given ID exists in any premise. */
|
|
123
79
|
hasExpression(expressionId: string): boolean;
|
|
124
|
-
/** Returns the premise ID that contains the given expression, or `undefined`. */
|
|
125
80
|
getExpressionPremiseId(expressionId: string): string | undefined;
|
|
126
|
-
/** Returns the PremiseEngine containing the given expression, or `undefined`. */
|
|
127
81
|
findPremiseByExpressionId(expressionId: string): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
128
|
-
/** Returns all expressions across all premises, sorted by ID. */
|
|
129
82
|
getAllExpressions(): TExpr[];
|
|
130
|
-
/**
|
|
131
|
-
* Returns all expressions that reference the given variable ID,
|
|
132
|
-
* across all premises.
|
|
133
|
-
*/
|
|
134
83
|
getExpressionsByVariableId(variableId: string): TExpr[];
|
|
135
|
-
/** Returns the root expression from each premise that has one. */
|
|
136
84
|
listRootExpressions(): TExpr[];
|
|
137
|
-
/** Returns the current role assignments (conclusion premise ID only; supporting is derived). */
|
|
138
85
|
getRoleState(): TCoreArgumentRoleState;
|
|
139
|
-
/**
|
|
140
|
-
* Designates a premise as the argument's conclusion.
|
|
141
|
-
*
|
|
142
|
-
* @throws If the premise does not exist.
|
|
143
|
-
*/
|
|
144
86
|
setConclusionPremise(premiseId: string): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg>;
|
|
145
|
-
/** Clears the conclusion designation. */
|
|
146
87
|
clearConclusionPremise(): TCoreMutationResult<TCoreArgumentRoleState, TExpr, TVar, TPremise, TArg>;
|
|
147
|
-
/** Returns the conclusion premise, or `undefined` if none is set. */
|
|
148
88
|
getConclusionPremise(): PremiseEngine<TArg, TPremise, TExpr, TVar> | undefined;
|
|
149
|
-
/**
|
|
150
|
-
* Returns all supporting premises (derived: inference premises that are
|
|
151
|
-
* not the conclusion) in lexicographic ID order.
|
|
152
|
-
*/
|
|
153
89
|
listSupportingPremises(): PremiseEngine<TArg, TPremise, TExpr, TVar>[];
|
|
154
|
-
|
|
90
|
+
addVariableSourceAssociation(sourceId: string, sourceVersion: number, variableId: string): TCoreMutationResult<TCoreVariableSourceAssociation, TExpr, TVar, TPremise, TArg>;
|
|
91
|
+
removeVariableSourceAssociation(associationId: string): TCoreMutationResult<TCoreVariableSourceAssociation | undefined, TExpr, TVar, TPremise, TArg>;
|
|
92
|
+
addExpressionSourceAssociation(sourceId: string, sourceVersion: number, expressionId: string, premiseId: string): TCoreMutationResult<TCoreExpressionSourceAssociation, TExpr, TVar, TPremise, TArg>;
|
|
93
|
+
removeExpressionSourceAssociation(associationId: string): TCoreMutationResult<TCoreExpressionSourceAssociation | undefined, TExpr, TVar, TPremise, TArg>;
|
|
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[];
|
|
155
102
|
snapshot(): TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar>;
|
|
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, TAssertion extends TCoreAssertion = TCoreAssertion>(snapshot: TArgumentEngineSnapshot<TArg, TPremise, TExpr, TVar>, assertionLibrary: TAssertionLookup<TAssertion>, sourceLibrary: TSourceLookup<TSource>): ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource, TAssertion>;
|
|
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
|
-
/** Restores the engine to a previously captured snapshot state. */
|
|
111
|
+
static fromData<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource, TAssertion extends TCoreAssertion = TCoreAssertion>(argument: TOptionalChecksum<TArg>, assertionLibrary: TAssertionLookup<TAssertion>, sourceLibrary: TSourceLookup<TSource>, variables: TOptionalChecksum<TVar>[], premises: TOptionalChecksum<TPremise>[], expressions: TExpressionInput<TExpr>[], roles: TCoreArgumentRoleState, config?: TLogicEngineOptions): ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource, TAssertion>;
|
|
166
112
|
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
|
-
*/
|
|
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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"}
|