@proposit/proposit-core 3.4.2 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +12 -6
  2. package/dist/cli/commands/analysis.d.ts.map +1 -1
  3. package/dist/cli/commands/analysis.js +7 -9
  4. package/dist/cli/commands/analysis.js.map +1 -1
  5. package/dist/cli/commands/graph.d.ts +1 -1
  6. package/dist/cli/commands/graph.d.ts.map +1 -1
  7. package/dist/cli/commands/graph.js +21 -15
  8. package/dist/cli/commands/graph.js.map +1 -1
  9. package/dist/lib/core/argument-engine.d.ts +22 -2
  10. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  11. package/dist/lib/core/argument-engine.js +64 -11
  12. package/dist/lib/core/argument-engine.js.map +1 -1
  13. package/dist/lib/core/evaluation/argument-evaluation.d.ts +77 -14
  14. package/dist/lib/core/evaluation/argument-evaluation.d.ts.map +1 -1
  15. package/dist/lib/core/evaluation/argument-evaluation.js +402 -235
  16. package/dist/lib/core/evaluation/argument-evaluation.js.map +1 -1
  17. package/dist/lib/core/evaluation/belnap.d.ts +22 -0
  18. package/dist/lib/core/evaluation/belnap.d.ts.map +1 -0
  19. package/dist/lib/core/evaluation/belnap.js +86 -0
  20. package/dist/lib/core/evaluation/belnap.js.map +1 -0
  21. package/dist/lib/core/evaluation/premise-resolver.d.ts +13 -0
  22. package/dist/lib/core/evaluation/premise-resolver.d.ts.map +1 -0
  23. package/dist/lib/core/evaluation/premise-resolver.js +35 -0
  24. package/dist/lib/core/evaluation/premise-resolver.js.map +1 -0
  25. package/dist/lib/core/evaluation/satisfiability.d.ts +52 -0
  26. package/dist/lib/core/evaluation/satisfiability.d.ts.map +1 -0
  27. package/dist/lib/core/evaluation/satisfiability.js +212 -0
  28. package/dist/lib/core/evaluation/satisfiability.js.map +1 -0
  29. package/dist/lib/core/evaluation/validation.d.ts +4 -4
  30. package/dist/lib/core/evaluation/validation.d.ts.map +1 -1
  31. package/dist/lib/core/evaluation/validation.js +4 -4
  32. package/dist/lib/core/evaluation/validation.js.map +1 -1
  33. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +46 -7
  34. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
  35. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +19 -9
  36. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -1
  37. package/dist/lib/core/premise-engine.d.ts +4 -3
  38. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  39. package/dist/lib/core/premise-engine.js +14 -17
  40. package/dist/lib/core/premise-engine.js.map +1 -1
  41. package/dist/lib/index.d.ts +3 -3
  42. package/dist/lib/index.d.ts.map +1 -1
  43. package/dist/lib/index.js +2 -2
  44. package/dist/lib/index.js.map +1 -1
  45. package/dist/lib/types/evaluation.d.ts +241 -35
  46. package/dist/lib/types/evaluation.d.ts.map +1 -1
  47. package/dist/lib/types/evaluation.js +13 -1
  48. package/dist/lib/types/evaluation.js.map +1 -1
  49. package/package.json +1 -1
  50. package/dist/lib/core/evaluation/grading.d.ts +0 -29
  51. package/dist/lib/core/evaluation/grading.d.ts.map +0 -1
  52. package/dist/lib/core/evaluation/grading.js +0 -50
  53. package/dist/lib/core/evaluation/grading.js.map +0 -1
  54. package/dist/lib/core/evaluation/kleene.d.ts +0 -12
  55. package/dist/lib/core/evaluation/kleene.d.ts.map +0 -1
  56. package/dist/lib/core/evaluation/kleene.js +0 -29
  57. package/dist/lib/core/evaluation/kleene.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
package/dist/lib/index.js CHANGED
@@ -17,8 +17,8 @@ export { ForkNamespace } from "./core/fork-namespace.js";
17
17
  export { ForkLibrary } from "./core/fork-library.js";
18
18
  export { PropositCore } from "./core/proposit-core.js";
19
19
  export * from "./types/evaluation.js";
20
- export { gradeEvaluation } from "./core/evaluation/grading.js";
21
- export { evaluateArgument, checkArgumentValidity, propagateOperatorConstraints, } from "./core/evaluation/argument-evaluation.js";
20
+ export { evaluateArgument, checkArgumentValidity, propagateOperatorConstraints, closeUnderAcceptedOperators, } from "./core/evaluation/argument-evaluation.js";
21
+ export { isPremiseSetSatisfiable, SATISFIABILITY_VARIABLE_CEILING, } from "./core/evaluation/satisfiability.js";
22
22
  export * from "./types/diff.js";
23
23
  export * from "./types/mutation.js";
24
24
  export { mergeChangesets, orderChangeset } from "./utils/changeset.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAK7E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAK9D,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,0CAA0C,CAAA;AAKjD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAEtE,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,mBAAmB,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,GAC3B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,gBAAgB,CAAA;AACvB,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,GAC1B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAavD,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,GACX,MAAM,qBAAqB,CAAA;AAE5B,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAClB,MAAM,oBAAoB,CAAA;AAM3B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAG9E,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,OAAO,EACH,gBAAgB,EAChB,oCAAoC,EACpC,4BAA4B,EAC5B,kCAAkC,GACrC,MAAM,+BAA+B,CAAA;AAKtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EACH,eAAe,EACf,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GAC1B,MAAM,sBAAsB,CAAA;AAqB7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAYpD,yEAAyE;AACzE,wEAAwE;AACxE,uEAAuE;AACvE,qEAAqE;AACrE,+CAA+C;AAC/C,2EAA2E;AAC3E,6EAA6E;AAC7E,8EAA8E;AAC9E,qCAAqC;AACrC,OAAO,EACH,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,GAC/B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAE1E,4DAA4D;AAC5D,gDAAgD;AAChD,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,uBAAuB,GAC1B,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,37 @@
1
1
  import type { TCoreArgumentRoleState } from "../schemata/index.js";
2
2
  export type { TCoreArgumentRoleState };
3
+ /**
4
+ * The fourth truth value: the reader's assignments, run through the steps they
5
+ * granted, force this both true and false.
6
+ *
7
+ * Only evaluation produces it. A reader assigns `TCoreTrivalentValue`, and the
8
+ * assignment types below deliberately exclude this literal so a caller cannot
9
+ * feed it back in.
10
+ */
11
+ export declare const CONTESTED = "contested";
12
+ /** The type of {@link CONTESTED}. */
13
+ export type TCoreContestedValue = typeof CONTESTED;
3
14
  /** Three-valued truth value: true, false, or null (unset/unknown). */
4
15
  export type TCoreTrivalentValue = boolean | null;
16
+ /**
17
+ * Four-valued truth value — the three a reader may assign, plus
18
+ * {@link CONTESTED}, which only evaluation can produce.
19
+ */
20
+ export type TCoreQuadrivalentValue = TCoreTrivalentValue | TCoreContestedValue;
21
+ /** Narrows a four-valued truth value to {@link CONTESTED}. */
22
+ export declare function isContested(value: TCoreQuadrivalentValue | undefined): value is TCoreContestedValue;
5
23
  /** Maps variable IDs to three-valued truth values. */
6
24
  export type TCoreVariableAssignment = Record<string, TCoreTrivalentValue>;
7
- /** Operator acceptance state: accepted (true), rejected (false), or unset (normal evaluation). */
25
+ /** Maps variable IDs to the four-valued results constraint closure produced. */
26
+ export type TCoreResolvedVariableValues = Record<string, TCoreQuadrivalentValue>;
27
+ /**
28
+ * Operator decision recorded by a reader.
29
+ *
30
+ * `"accepted"` grants the step: constraint propagation may derive values
31
+ * through it. `"rejected"` withholds the step and **strikes the whole premise
32
+ * the operator lives in** from the evaluated set — it asserts nothing, and in
33
+ * particular never forces the expression or its children to `false`.
34
+ */
8
35
  export type TCoreOperatorAssignment = "accepted" | "rejected";
9
36
  /** Full expression assignment: variable truth values and operator acceptance states. */
10
37
  export interface TCoreExpressionAssignment {
@@ -13,6 +40,19 @@ export interface TCoreExpressionAssignment {
13
40
  /** Operator expression ID → accepted/rejected. Unset operators evaluate normally. */
14
41
  operatorAssignments: Record<string, TCoreOperatorAssignment>;
15
42
  }
43
+ /**
44
+ * An assignment carrying the values constraint closure resolved, which may
45
+ * include {@link CONTESTED}. Evaluation feeds its own closure output back into
46
+ * premise evaluation through this type; a reader supplies
47
+ * {@link TCoreExpressionAssignment}, which is assignable to this one but never
48
+ * the reverse.
49
+ */
50
+ export interface TCoreResolvedAssignment {
51
+ /** Variable ID → true/false/null/contested. */
52
+ variables: TCoreResolvedVariableValues;
53
+ /** Operator expression ID → accepted/rejected. Unset operators evaluate normally. */
54
+ operatorAssignments: Record<string, TCoreOperatorAssignment>;
55
+ }
16
56
  /** Severity level for validation issues. */
17
57
  export type TCoreValidationSeverity = "error" | "warning";
18
58
  /** Machine-readable codes for all validation issues. */
@@ -39,39 +79,39 @@ export interface TCoreValidationResult {
39
79
  }
40
80
  export interface TCoreDirectionalVacuity {
41
81
  /** Truth value of the antecedent for this directional implication view. */
42
- antecedentTrue: TCoreTrivalentValue;
82
+ antecedentTrue: TCoreQuadrivalentValue;
43
83
  /** Truth value of the consequent for this directional implication view. */
44
- consequentTrue: TCoreTrivalentValue;
84
+ consequentTrue: TCoreQuadrivalentValue;
45
85
  /** Result of evaluating `antecedent -> consequent`. */
46
- implicationValue: TCoreTrivalentValue;
86
+ implicationValue: TCoreQuadrivalentValue;
47
87
  /** `true` iff the implication is true because the antecedent is false; `null` if indeterminate. */
48
- isVacuouslyTrue: TCoreTrivalentValue;
88
+ isVacuouslyTrue: TCoreQuadrivalentValue;
49
89
  /** `true` iff the antecedent was true (the implication "fired"); `null` if indeterminate. */
50
- fired: TCoreTrivalentValue;
90
+ fired: TCoreQuadrivalentValue;
51
91
  }
52
92
  export type TCorePremiseInferenceDiagnostic = {
53
93
  kind: "implies";
54
94
  premiseId: string;
55
95
  rootExpressionId: string;
56
- leftValue: TCoreTrivalentValue;
57
- rightValue: TCoreTrivalentValue;
58
- rootValue: TCoreTrivalentValue;
59
- antecedentTrue: TCoreTrivalentValue;
60
- consequentTrue: TCoreTrivalentValue;
61
- isVacuouslyTrue: TCoreTrivalentValue;
62
- fired: TCoreTrivalentValue;
63
- firedAndHeld: TCoreTrivalentValue;
96
+ leftValue: TCoreQuadrivalentValue;
97
+ rightValue: TCoreQuadrivalentValue;
98
+ rootValue: TCoreQuadrivalentValue;
99
+ antecedentTrue: TCoreQuadrivalentValue;
100
+ consequentTrue: TCoreQuadrivalentValue;
101
+ isVacuouslyTrue: TCoreQuadrivalentValue;
102
+ fired: TCoreQuadrivalentValue;
103
+ firedAndHeld: TCoreQuadrivalentValue;
64
104
  } | {
65
105
  kind: "iff";
66
106
  premiseId: string;
67
107
  rootExpressionId: string;
68
- leftValue: TCoreTrivalentValue;
69
- rightValue: TCoreTrivalentValue;
70
- rootValue: TCoreTrivalentValue;
108
+ leftValue: TCoreQuadrivalentValue;
109
+ rightValue: TCoreQuadrivalentValue;
110
+ rootValue: TCoreQuadrivalentValue;
71
111
  leftToRight: TCoreDirectionalVacuity;
72
112
  rightToLeft: TCoreDirectionalVacuity;
73
- bothSidesTrue: TCoreTrivalentValue;
74
- bothSidesFalse: TCoreTrivalentValue;
113
+ bothSidesTrue: TCoreQuadrivalentValue;
114
+ bothSidesFalse: TCoreQuadrivalentValue;
75
115
  };
76
116
  export interface TCorePremiseEvaluationResult {
77
117
  /** ID of the evaluated premise. */
@@ -81,11 +121,11 @@ export interface TCorePremiseEvaluationResult {
81
121
  /** Root expression ID, if the premise has a root. */
82
122
  rootExpressionId?: string;
83
123
  /** Truth value of the root expression, if the premise was evaluable. */
84
- rootValue?: TCoreTrivalentValue;
124
+ rootValue?: TCoreQuadrivalentValue;
85
125
  /** Per-expression truth values keyed by expression ID. */
86
- expressionValues: Record<string, TCoreTrivalentValue>;
126
+ expressionValues: Record<string, TCoreQuadrivalentValue>;
87
127
  /** Referenced variable truth values keyed by variable ID. */
88
- variableValues: Record<string, TCoreTrivalentValue>;
128
+ variableValues: Record<string, TCoreQuadrivalentValue>;
89
129
  /** Inference-specific diagnostics for `implies`/`iff` roots. */
90
130
  inferenceDiagnostic?: TCorePremiseInferenceDiagnostic;
91
131
  }
@@ -98,14 +138,41 @@ export interface TCoreArgumentEvaluationOptions {
98
138
  includeDiagnostics?: boolean;
99
139
  /** Run argument/premise evaluability validation before evaluating. */
100
140
  validateFirst?: boolean;
141
+ /**
142
+ * Variable IDs the reader did not assign and cannot be credited with —
143
+ * typically axiomatic-bound variables, which the engine forces true. They
144
+ * are never treated as reader assertions and are left out of the
145
+ * reached-without-assertion counterfactual. Unless
146
+ * `satisfiabilityForcedTrueVariableIds` is given, they are also pinned
147
+ * `true` in every row of the premise-set satisfiability search.
148
+ */
149
+ forcedTrueVariableIds?: ReadonlySet<string>;
150
+ /**
151
+ * Variable IDs pinned `true` in the premise-set satisfiability search,
152
+ * when that set differs from `forcedTrueVariableIds`. Defaults to it.
153
+ *
154
+ * The two are separate because a citation belongs in one and not the
155
+ * other. Asking whether the premises can hold at all takes a cited claim
156
+ * at its source's word, so a citation is pinned here. But a reader may
157
+ * disagree with a source, and their assignment on a citation-bound
158
+ * variable is their own assertion — so a citation must stay out of
159
+ * `forcedTrueVariableIds`, which is what decides that.
160
+ */
161
+ satisfiabilityForcedTrueVariableIds?: ReadonlySet<string>;
162
+ /**
163
+ * Premise-set satisfiability computed by the caller. Supplying it skips
164
+ * the search — `checkArgumentValidity` computes it once and threads it
165
+ * through its truth-table rows, where the surviving set never varies.
166
+ */
167
+ premiseSetSatisfiable?: TCoreTrivalentValue;
101
168
  }
102
169
  export interface TCoreArgumentEvaluationResult {
103
170
  /** `false` means evaluation could not be completed (typically validation failure). */
104
171
  ok: boolean;
105
172
  /** Validation output when `ok === false`, or when validation was requested and included. */
106
173
  validation?: TCoreValidationResult;
107
- /** The assignment used for this evaluation. */
108
- assignment?: TCoreExpressionAssignment;
174
+ /** The assignment used for this evaluation, after constraint closure. */
175
+ assignment?: TCoreResolvedAssignment;
109
176
  /** All variable IDs referenced across evaluated supporting/conclusion/constraint premises. */
110
177
  referencedVariableIds?: string[];
111
178
  /** Evaluation result for the designated conclusion premise. */
@@ -114,23 +181,162 @@ export interface TCoreArgumentEvaluationResult {
114
181
  supportingPremises?: TCorePremiseEvaluationResult[];
115
182
  /** Evaluation results for constraint premises (used to determine admissibility). */
116
183
  constraintPremises?: TCorePremiseEvaluationResult[];
117
- /** `true` iff all constraint premises evaluate to true under the assignment. */
118
- isAdmissibleAssignment?: TCoreTrivalentValue;
119
- /** `true` iff every supporting premise evaluates to true. */
120
- allSupportingPremisesTrue?: TCoreTrivalentValue;
184
+ /**
185
+ * IDs of premises struck from the evaluated set because the reader
186
+ * rejected an operator inside them. Struck premises are still evaluated
187
+ * and still present in `supportingPremises` / `constraintPremises`, so a
188
+ * consumer can render them crossed out — they are simply excluded from the
189
+ * aggregates, from constraint propagation, and from the satisfiability
190
+ * search.
191
+ *
192
+ * The conclusion premise and derivation premises are never struck.
193
+ */
194
+ struckPremiseIds?: string[];
195
+ /** Number of supporting premises that were not struck. */
196
+ survivingSupportingPremiseCount?: number;
197
+ /** `true` iff every surviving constraint premise evaluates to true. */
198
+ isAdmissibleAssignment?: TCoreQuadrivalentValue;
199
+ /**
200
+ * `true` iff every surviving supporting premise evaluates to true.
201
+ *
202
+ * Vacuously `true` when every supporting premise is struck — read it
203
+ * together with `survivingSupportingPremiseCount`, and never as
204
+ * "the argument worked". Whether the argument reached its conclusion is
205
+ * `conclusionAttribution`, not this field.
206
+ */
207
+ survivingSupportingPremisesTrue?: TCoreQuadrivalentValue;
121
208
  /** The truth value of the conclusion premise root expression. */
122
- conclusionTrue?: TCoreTrivalentValue;
123
- /** `true` iff constraints are satisfied, all supporting premises are true, and the conclusion is false. */
124
- isCounterexample?: TCoreTrivalentValue;
125
- /** Convenience inverse of `isCounterexample` for the evaluated assignment. */
126
- preservesTruthUnderAssignment?: TCoreTrivalentValue;
209
+ conclusionTrue?: TCoreQuadrivalentValue;
210
+ /**
211
+ * `true` iff constraints are satisfied, every surviving supporting premise
212
+ * is true, and the conclusion is false.
213
+ *
214
+ * A reader-relative gap under one assignment — **not** a countermodel to
215
+ * entailment, which is the stronger claim `checkValidity` answers.
216
+ *
217
+ * It rests on `survivingSupportingPremisesTrue`, which is vacuously `true`
218
+ * when nothing survives, so this field is `null` when the argument had
219
+ * supporting premises and the reader struck every one of them: the case was
220
+ * withheld, not weighed and found wanting. An argument authored with no
221
+ * supporting premises at all is the entailment-from-nothing case and still
222
+ * reports `true` for a false conclusion.
223
+ */
224
+ premisesHoldConclusionFalse?: TCoreQuadrivalentValue;
225
+ /**
226
+ * Variable IDs whose value came out {@link CONTESTED}, sorted. Always
227
+ * present when `ok`, and **not** gated on `includeDiagnostics`.
228
+ *
229
+ * Read this rather than inferring a conflict from the aggregates above.
230
+ * Propagation carries only the told-true component forward, so a contested
231
+ * variable can yield an uncontested `true` downstream and leave
232
+ * `conclusionTrue`, `isAdmissibleAssignment`,
233
+ * `survivingSupportingPremisesTrue`, `premisesHoldConclusionFalse` and
234
+ * `premiseSetSatisfiable` all reading clean while the reader's inputs
235
+ * still force something both true and false. A non-empty array is the one
236
+ * fact that always records it.
237
+ *
238
+ * Variable-keyed, covering every premise in the argument rather than only
239
+ * `referencedVariableIds`. `variableProvenance[id].contestedBy` names the
240
+ * granted steps behind each entry.
241
+ */
242
+ contestedVariableIds?: string[];
243
+ /**
244
+ * Where the conclusion's truth came from. `assertedByReader` records that
245
+ * the reader supplied a value for at least one claim the conclusion
246
+ * premise references; `reachedWithoutAssertion` withholds all of them,
247
+ * re-runs constraint propagation from the reduced seed, and reports
248
+ * whether the conclusion premise root still comes back `true`.
249
+ */
250
+ conclusionAttribution?: TCoreValueAttribution;
251
+ /**
252
+ * Per-claim attribution, one entry per reader-asserted claim-bound
253
+ * variable. `reachedWithoutAssertion` here asks whether the **same value**
254
+ * returns once the reader's own assignment of that variable is withheld —
255
+ * the conclusion asks whether it comes back `true`. Populated only when
256
+ * `includeDiagnostics: true`, and omitted entirely when no operator is
257
+ * accepted (nothing can be derived, so every answer would be `false`).
258
+ */
259
+ claimAttribution?: Record<string, TCoreValueAttribution>;
260
+ /**
261
+ * `true` iff some total assignment makes every surviving premise true.
262
+ * Asked of the surviving premise set alone, ignoring the reader's own
263
+ * assignment. `null` means "not determined" — the premise set has more
264
+ * free variables than the search ceiling.
265
+ *
266
+ * When `false`, constraint propagation is skipped entirely: nothing is
267
+ * derived, and the conclusion reports only what the reader asserted.
268
+ */
269
+ premiseSetSatisfiable?: TCoreTrivalentValue;
127
270
  /**
128
271
  * Evaluator's authoritative propagated variable values across the whole
129
272
  * argument. Populated only when `includeDiagnostics: true`. Key set
130
273
  * matches `referencedVariableIds`; still-unresolved variables appear
131
274
  * with value `null`.
132
275
  */
133
- propagatedVariableValues?: Record<string, TCoreTrivalentValue>;
276
+ propagatedVariableValues?: TCoreResolvedVariableValues;
277
+ /**
278
+ * Where each propagated value came from, keyed like
279
+ * `propagatedVariableValues`. Populated only when
280
+ * `includeDiagnostics: true`.
281
+ */
282
+ variableProvenance?: Record<string, TCoreVariableProvenance>;
283
+ }
284
+ /** Whether a value was supplied by the reader, and whether it holds without that. */
285
+ export interface TCoreValueAttribution {
286
+ /** `true` iff the reader supplied `true` or `false`. An explicit unknown is a decision, not an assertion. */
287
+ assertedByReader: boolean;
288
+ /** `true` iff the value still holds once the reader's own assertion is withheld and closure is recomputed. */
289
+ reachedWithoutAssertion: boolean;
290
+ }
291
+ /** Where a propagated variable value came from. */
292
+ export type TCoreValueOrigin = "asserted" | "derived" | "contested" | "unassigned";
293
+ /** The granted operator step that produced a derived value. */
294
+ export interface TCoreDerivationStep {
295
+ /** The accepted operator expression that produced the value. */
296
+ expressionId: string;
297
+ /** The premise that operator lives in. */
298
+ premiseId: string;
299
+ /**
300
+ * Variable IDs whose values the step consumed. One immediate step is
301
+ * recorded per value; walk these transitively to reconstruct a chain.
302
+ */
303
+ fromVariableIds: string[];
304
+ }
305
+ export interface TCoreVariableProvenance {
306
+ /** The variable's value after propagation. */
307
+ value: TCoreQuadrivalentValue;
308
+ /**
309
+ * `"contested"` whenever the value is {@link CONTESTED}, whatever else
310
+ * contributed; otherwise `"asserted"` for a reader-supplied `true`/`false`,
311
+ * `"derived"` for anything propagation produced, `"unassigned"` for a value
312
+ * still unresolved.
313
+ */
314
+ origin: TCoreValueOrigin;
315
+ /** The immediate producing step; present iff `origin === "derived"`. */
316
+ derivedBy?: TCoreDerivationStep;
317
+ /**
318
+ * Every granted step that contributed a truth component to a contested
319
+ * value, in a stable order; present iff `origin === "contested"`. The
320
+ * reader's own assertion is not a step and never appears here — compare
321
+ * `assignment.variables[id]` to see whether one of the two components came
322
+ * from the reader. `derivedBy` is absent for a contested value: naming one
323
+ * producing step is a lie once two steps disagree.
324
+ */
325
+ contestedBy?: TCoreDerivationStep[];
326
+ }
327
+ /** Options for `propagateOperatorConstraints`. */
328
+ export interface TCorePropagationOptions {
329
+ /**
330
+ * Premise IDs excluded from propagation entirely — their expressions are
331
+ * not indexed, so no operator inside them contributes a value.
332
+ */
333
+ excludedPremiseIds?: ReadonlySet<string>;
334
+ /**
335
+ * Variable IDs dropped from the seed before closure runs. Used by the
336
+ * attribution counterfactual: withhold an assertion, then recompute from
337
+ * the remaining inputs rather than deleting a value after the fact.
338
+ */
339
+ withheldVariableIds?: ReadonlySet<string>;
134
340
  }
135
341
  export interface TCoreValidityCheckOptions {
136
342
  /** Stop at first counterexample or continue exhaustively. */
@@ -158,7 +364,7 @@ export interface TCoreValidityCheckOptions {
158
364
  }
159
365
  export interface TCoreCounterexample {
160
366
  /** Assignment under which the argument fails to preserve truth. */
161
- assignment: TCoreExpressionAssignment;
367
+ assignment: TCoreResolvedAssignment;
162
368
  /** Full argument evaluation result for that assignment. */
163
369
  result: TCoreArgumentEvaluationResult;
164
370
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation.d.ts","sourceRoot":"","sources":["../../../src/lib/types/evaluation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluation.d.ts","sourceRoot":"","sources":["../../../src/lib/types/evaluation.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,14 @@
1
- export {};
1
+ /**
2
+ * The fourth truth value: the reader's assignments, run through the steps they
3
+ * granted, force this both true and false.
4
+ *
5
+ * Only evaluation produces it. A reader assigns `TCoreTrivalentValue`, and the
6
+ * assignment types below deliberately exclude this literal so a caller cannot
7
+ * feed it back in.
8
+ */
9
+ export const CONTESTED = "contested";
10
+ /** Narrows a four-valued truth value to {@link CONTESTED}. */
11
+ export function isContested(value) {
12
+ return value === CONTESTED;
13
+ }
2
14
  //# sourceMappingURL=evaluation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation.js","sourceRoot":"","sources":["../../../src/lib/types/evaluation.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"evaluation.js","sourceRoot":"","sources":["../../../src/lib/types/evaluation.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAA;AAcpC,8DAA8D;AAC9D,MAAM,UAAU,WAAW,CACvB,KAAyC;IAEzC,OAAO,KAAK,KAAK,SAAS,CAAA;AAC9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proposit/proposit-core",
3
- "version": "3.4.2",
3
+ "version": "4.0.1",
4
4
  "description": "Core engine for building and manipulating propositional logic arguments.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -1,29 +0,0 @@
1
- import type { TCoreArgumentEvaluationResult } from "../../types/evaluation.js";
2
- /**
3
- * Human-readable grade for an argument evaluation result.
4
- * Summarizes the logical status of the argument under the given assignment.
5
- */
6
- export type TCoreEvaluationGrade = "sound" | "vacuously-true" | "unsound" | "counterexample" | "inadmissible" | "indeterminate";
7
- export interface TCoreEvaluationGrading {
8
- /** Machine-readable grade. */
9
- grade: TCoreEvaluationGrade;
10
- /** Short human-readable label (e.g. "Sound", "Vacuously True"). */
11
- label: string;
12
- /** Display color name for UI rendering. */
13
- color: "green" | "orange" | "red" | "gray";
14
- }
15
- /**
16
- * Derives a human-readable grade from an argument evaluation result.
17
- *
18
- * Precedence:
19
- * 1. Evaluation failed (ok=false) → indeterminate
20
- * 2. Inadmissible assignment → inadmissible
21
- * 3. Supporting premise false → unsound
22
- * 4. Counterexample (all supporting true, conclusion false) → counterexample
23
- * 5. Supporting premises not known true (unknown or absent) → indeterminate
24
- * 6. Conclusion vacuously true → vacuously-true
25
- * 7. Conclusion true → sound
26
- * 8. Otherwise → indeterminate
27
- */
28
- export declare function gradeEvaluation(result: TCoreArgumentEvaluationResult): TCoreEvaluationGrading;
29
- //# sourceMappingURL=grading.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grading.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/evaluation/grading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAE9E;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC1B,OAAO,GACP,gBAAgB,GAChB,SAAS,GACT,gBAAgB,GAChB,cAAc,GACd,eAAe,CAAA;AAErB,MAAM,WAAW,sBAAsB;IACnC,8BAA8B;IAC9B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;CAC7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE,6BAA6B,GACtC,sBAAsB,CAyCxB"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Derives a human-readable grade from an argument evaluation result.
3
- *
4
- * Precedence:
5
- * 1. Evaluation failed (ok=false) → indeterminate
6
- * 2. Inadmissible assignment → inadmissible
7
- * 3. Supporting premise false → unsound
8
- * 4. Counterexample (all supporting true, conclusion false) → counterexample
9
- * 5. Supporting premises not known true (unknown or absent) → indeterminate
10
- * 6. Conclusion vacuously true → vacuously-true
11
- * 7. Conclusion true → sound
12
- * 8. Otherwise → indeterminate
13
- */
14
- export function gradeEvaluation(result) {
15
- if (!result.ok) {
16
- return { grade: "indeterminate", label: "Indeterminate", color: "gray" };
17
- }
18
- if (result.isAdmissibleAssignment === false) {
19
- return { grade: "inadmissible", label: "Inadmissible", color: "gray" };
20
- }
21
- if (result.allSupportingPremisesTrue === false) {
22
- return { grade: "unsound", label: "Unsound", color: "red" };
23
- }
24
- if (result.isCounterexample === true) {
25
- return {
26
- grade: "counterexample",
27
- label: "Counterexample",
28
- color: "red",
29
- };
30
- }
31
- // Soundness requires the supporting premises to be true. An unknown or
32
- // absent value is not true, so it can never reach sound or vacuously-true.
33
- if (result.allSupportingPremisesTrue !== true) {
34
- return { grade: "indeterminate", label: "Indeterminate", color: "gray" };
35
- }
36
- if (result.conclusionTrue === true) {
37
- // Check if conclusion is vacuously true
38
- const diag = result.conclusion?.inferenceDiagnostic;
39
- if (diag?.kind === "implies" && diag.isVacuouslyTrue === true) {
40
- return {
41
- grade: "vacuously-true",
42
- label: "Vacuously True",
43
- color: "orange",
44
- };
45
- }
46
- return { grade: "sound", label: "Sound", color: "green" };
47
- }
48
- return { grade: "indeterminate", label: "Indeterminate", color: "gray" };
49
- }
50
- //# sourceMappingURL=grading.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grading.js","sourceRoot":"","sources":["../../../../src/lib/core/evaluation/grading.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC3B,MAAqC;IAErC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IAC5E,CAAC;IAED,IAAI,MAAM,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IAC1E,CAAC;IAED,IAAI,MAAM,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAC/D,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO;YACH,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,KAAK;SACf,CAAA;IACL,CAAC;IAED,uEAAuE;IACvE,2EAA2E;IAC3E,IAAI,MAAM,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IAC5E,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;QACjC,wCAAwC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAA;QACnD,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAC5D,OAAO;gBACH,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,QAAQ;aAClB,CAAA;QACL,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IAC7D,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAC5E,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { TCoreTrivalentValue } from "../../types/evaluation.js";
2
- /** Kleene three-valued NOT: null propagates. */
3
- export declare function kleeneNot(a: TCoreTrivalentValue): TCoreTrivalentValue;
4
- /** Kleene three-valued AND: false dominates, null propagates. */
5
- export declare function kleeneAnd(a: TCoreTrivalentValue, b: TCoreTrivalentValue): TCoreTrivalentValue;
6
- /** Kleene three-valued OR: true dominates, null propagates. */
7
- export declare function kleeneOr(a: TCoreTrivalentValue, b: TCoreTrivalentValue): TCoreTrivalentValue;
8
- /** Kleene three-valued material implication: NOT a OR b. */
9
- export declare function kleeneImplies(a: TCoreTrivalentValue, b: TCoreTrivalentValue): TCoreTrivalentValue;
10
- /** Kleene three-valued biconditional: (a -> b) AND (b -> a). */
11
- export declare function kleeneIff(a: TCoreTrivalentValue, b: TCoreTrivalentValue): TCoreTrivalentValue;
12
- //# sourceMappingURL=kleene.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kleene.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/evaluation/kleene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAEpE,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,CAErE;AAED,iEAAiE;AACjE,wBAAgB,SAAS,CACrB,CAAC,EAAE,mBAAmB,EACtB,CAAC,EAAE,mBAAmB,GACvB,mBAAmB,CAIrB;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CACpB,CAAC,EAAE,mBAAmB,EACtB,CAAC,EAAE,mBAAmB,GACvB,mBAAmB,CAIrB;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CACzB,CAAC,EAAE,mBAAmB,EACtB,CAAC,EAAE,mBAAmB,GACvB,mBAAmB,CAErB;AAED,gEAAgE;AAChE,wBAAgB,SAAS,CACrB,CAAC,EAAE,mBAAmB,EACtB,CAAC,EAAE,mBAAmB,GACvB,mBAAmB,CAErB"}
@@ -1,29 +0,0 @@
1
- /** Kleene three-valued NOT: null propagates. */
2
- export function kleeneNot(a) {
3
- return a === null ? null : !a;
4
- }
5
- /** Kleene three-valued AND: false dominates, null propagates. */
6
- export function kleeneAnd(a, b) {
7
- if (a === false || b === false)
8
- return false;
9
- if (a === null || b === null)
10
- return null;
11
- return true;
12
- }
13
- /** Kleene three-valued OR: true dominates, null propagates. */
14
- export function kleeneOr(a, b) {
15
- if (a === true || b === true)
16
- return true;
17
- if (a === null || b === null)
18
- return null;
19
- return false;
20
- }
21
- /** Kleene three-valued material implication: NOT a OR b. */
22
- export function kleeneImplies(a, b) {
23
- return kleeneOr(kleeneNot(a), b);
24
- }
25
- /** Kleene three-valued biconditional: (a -> b) AND (b -> a). */
26
- export function kleeneIff(a, b) {
27
- return kleeneAnd(kleeneImplies(a, b), kleeneImplies(b, a));
28
- }
29
- //# sourceMappingURL=kleene.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kleene.js","sourceRoot":"","sources":["../../../../src/lib/core/evaluation/kleene.ts"],"names":[],"mappings":"AAEA,gDAAgD;AAChD,MAAM,UAAU,SAAS,CAAC,CAAsB;IAC5C,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACjC,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,SAAS,CACrB,CAAsB,EACtB,CAAsB;IAEtB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IAC5C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACzC,OAAO,IAAI,CAAA;AACf,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,QAAQ,CACpB,CAAsB,EACtB,CAAsB;IAEtB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACzC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACzC,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CACzB,CAAsB,EACtB,CAAsB;IAEtB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACpC,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,SAAS,CACrB,CAAsB,EACtB,CAAsB;IAEtB,OAAO,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9D,CAAC"}