@proposit/proposit-core 0.11.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +117 -57
  2. package/dist/cli/commands/arguments.d.ts.map +1 -1
  3. package/dist/cli/commands/arguments.js +13 -16
  4. package/dist/cli/commands/arguments.js.map +1 -1
  5. package/dist/cli/commands/axioms.d.ts +3 -0
  6. package/dist/cli/commands/axioms.d.ts.map +1 -0
  7. package/dist/cli/commands/axioms.js +91 -0
  8. package/dist/cli/commands/axioms.js.map +1 -0
  9. package/dist/cli/commands/citations.d.ts.map +1 -1
  10. package/dist/cli/commands/citations.js +27 -25
  11. package/dist/cli/commands/citations.js.map +1 -1
  12. package/dist/cli/commands/claims.d.ts.map +1 -1
  13. package/dist/cli/commands/claims.js +35 -5
  14. package/dist/cli/commands/claims.js.map +1 -1
  15. package/dist/cli/commands/parse.d.ts.map +1 -1
  16. package/dist/cli/commands/parse.js +3 -4
  17. package/dist/cli/commands/parse.js.map +1 -1
  18. package/dist/cli/commands/premises.d.ts.map +1 -1
  19. package/dist/cli/commands/premises.js +8 -7
  20. package/dist/cli/commands/premises.js.map +1 -1
  21. package/dist/cli/commands/render.d.ts.map +1 -1
  22. package/dist/cli/commands/render.js +43 -18
  23. package/dist/cli/commands/render.js.map +1 -1
  24. package/dist/cli/engine.d.ts.map +1 -1
  25. package/dist/cli/engine.js +11 -4
  26. package/dist/cli/engine.js.map +1 -1
  27. package/dist/cli/import.d.ts.map +1 -1
  28. package/dist/cli/import.js +27 -3
  29. package/dist/cli/import.js.map +1 -1
  30. package/dist/cli/router.d.ts.map +1 -1
  31. package/dist/cli/router.js +1 -0
  32. package/dist/cli/router.js.map +1 -1
  33. package/dist/cli/schemata.d.ts +30 -0
  34. package/dist/cli/schemata.d.ts.map +1 -1
  35. package/dist/cli/schemata.js +37 -0
  36. package/dist/cli/schemata.js.map +1 -1
  37. package/dist/cli/storage/libraries.d.ts +7 -2
  38. package/dist/cli/storage/libraries.d.ts.map +1 -1
  39. package/dist/cli/storage/libraries.js +25 -6
  40. package/dist/cli/storage/libraries.js.map +1 -1
  41. package/dist/cli/storage/migrate-v0.10.js +3 -3
  42. package/dist/cli/storage/migrate-v0.10.js.map +1 -1
  43. package/dist/cli/storage/migrate-v0.12.d.ts +24 -0
  44. package/dist/cli/storage/migrate-v0.12.d.ts.map +1 -0
  45. package/dist/cli/storage/migrate-v0.12.js +141 -0
  46. package/dist/cli/storage/migrate-v0.12.js.map +1 -0
  47. package/dist/cli.js +2 -0
  48. package/dist/cli.js.map +1 -1
  49. package/dist/extensions/basics/schemata.d.ts +1 -1
  50. package/dist/extensions/ieee/citation-claim.d.ts +1 -1
  51. package/dist/lib/consts.d.ts.map +1 -1
  52. package/dist/lib/consts.js +13 -4
  53. package/dist/lib/consts.js.map +1 -1
  54. package/dist/lib/core/argument-engine.d.ts +20 -7
  55. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  56. package/dist/lib/core/argument-engine.js +79 -10
  57. package/dist/lib/core/argument-engine.js.map +1 -1
  58. package/dist/lib/core/argument-library.d.ts +11 -13
  59. package/dist/lib/core/argument-library.d.ts.map +1 -1
  60. package/dist/lib/core/argument-library.js +7 -23
  61. package/dist/lib/core/argument-library.js.map +1 -1
  62. package/dist/lib/core/claim-axiom-library.d.ts +38 -0
  63. package/dist/lib/core/claim-axiom-library.d.ts.map +1 -0
  64. package/dist/lib/core/claim-axiom-library.js +236 -0
  65. package/dist/lib/core/claim-axiom-library.js.map +1 -0
  66. package/dist/lib/core/claim-citation-library.d.ts +11 -12
  67. package/dist/lib/core/claim-citation-library.d.ts.map +1 -1
  68. package/dist/lib/core/claim-citation-library.js +111 -107
  69. package/dist/lib/core/claim-citation-library.js.map +1 -1
  70. package/dist/lib/core/claim-library.d.ts +1 -1
  71. package/dist/lib/core/evaluation/argument-evaluation.d.ts +13 -0
  72. package/dist/lib/core/evaluation/argument-evaluation.d.ts.map +1 -1
  73. package/dist/lib/core/evaluation/argument-evaluation.js +25 -1
  74. package/dist/lib/core/evaluation/argument-evaluation.js.map +1 -1
  75. package/dist/lib/core/fork.d.ts +4 -6
  76. package/dist/lib/core/fork.d.ts.map +1 -1
  77. package/dist/lib/core/fork.js +3 -8
  78. package/dist/lib/core/fork.js.map +1 -1
  79. package/dist/lib/core/interfaces/index.d.ts +1 -1
  80. package/dist/lib/core/interfaces/index.d.ts.map +1 -1
  81. package/dist/lib/core/interfaces/library.interfaces.d.ts +65 -60
  82. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
  83. package/dist/lib/core/managed-derivation-premise-engine.d.ts +31 -18
  84. package/dist/lib/core/managed-derivation-premise-engine.d.ts.map +1 -1
  85. package/dist/lib/core/managed-derivation-premise-engine.js +57 -34
  86. package/dist/lib/core/managed-derivation-premise-engine.js.map +1 -1
  87. package/dist/lib/core/proposit-core.d.ts +19 -14
  88. package/dist/lib/core/proposit-core.d.ts.map +1 -1
  89. package/dist/lib/core/proposit-core.js +95 -39
  90. package/dist/lib/core/proposit-core.js.map +1 -1
  91. package/dist/lib/index.d.ts +2 -1
  92. package/dist/lib/index.d.ts.map +1 -1
  93. package/dist/lib/index.js +2 -1
  94. package/dist/lib/index.js.map +1 -1
  95. package/dist/lib/parsing/argument-parser.d.ts +2 -2
  96. package/dist/lib/parsing/argument-parser.d.ts.map +1 -1
  97. package/dist/lib/parsing/argument-parser.js +6 -6
  98. package/dist/lib/parsing/argument-parser.js.map +1 -1
  99. package/dist/lib/parsing/prompt-builder.d.ts.map +1 -1
  100. package/dist/lib/parsing/prompt-builder.js +7 -5
  101. package/dist/lib/parsing/prompt-builder.js.map +1 -1
  102. package/dist/lib/parsing/schemata.d.ts +4 -4
  103. package/dist/lib/parsing/schemata.d.ts.map +1 -1
  104. package/dist/lib/parsing/schemata.js +1 -0
  105. package/dist/lib/parsing/schemata.js.map +1 -1
  106. package/dist/lib/schemata/claim-axiom.d.ts +11 -0
  107. package/dist/lib/schemata/claim-axiom.d.ts.map +1 -0
  108. package/dist/lib/schemata/claim-axiom.js +9 -0
  109. package/dist/lib/schemata/claim-axiom.js.map +1 -0
  110. package/dist/lib/schemata/claim-citation.d.ts +4 -4
  111. package/dist/lib/schemata/claim-citation.d.ts.map +1 -1
  112. package/dist/lib/schemata/claim-citation.js +3 -19
  113. package/dist/lib/schemata/claim-citation.js.map +1 -1
  114. package/dist/lib/schemata/claim-connection.d.ts +11 -0
  115. package/dist/lib/schemata/claim-connection.d.ts.map +1 -0
  116. package/dist/lib/schemata/claim-connection.js +25 -0
  117. package/dist/lib/schemata/claim-connection.js.map +1 -0
  118. package/dist/lib/schemata/claim.d.ts +1 -1
  119. package/dist/lib/schemata/claim.d.ts.map +1 -1
  120. package/dist/lib/schemata/claim.js +6 -2
  121. package/dist/lib/schemata/claim.js.map +1 -1
  122. package/dist/lib/schemata/import.d.ts +2 -2
  123. package/dist/lib/schemata/import.d.ts.map +1 -1
  124. package/dist/lib/schemata/import.js +5 -1
  125. package/dist/lib/schemata/import.js.map +1 -1
  126. package/dist/lib/schemata/index.d.ts +2 -0
  127. package/dist/lib/schemata/index.d.ts.map +1 -1
  128. package/dist/lib/schemata/index.js +2 -0
  129. package/dist/lib/schemata/index.js.map +1 -1
  130. package/dist/lib/types/checksum.d.ts +3 -1
  131. package/dist/lib/types/checksum.d.ts.map +1 -1
  132. package/dist/lib/types/evaluation.d.ts +12 -0
  133. package/dist/lib/types/evaluation.d.ts.map +1 -1
  134. package/dist/lib/types/validation.d.ts +13 -4
  135. package/dist/lib/types/validation.d.ts.map +1 -1
  136. package/dist/lib/types/validation.js +15 -3
  137. package/dist/lib/types/validation.js.map +1 -1
  138. package/dist/lib/utils/lookup.d.ts +10 -4
  139. package/dist/lib/utils/lookup.d.ts.map +1 -1
  140. package/dist/lib/utils/lookup.js +13 -7
  141. package/dist/lib/utils/lookup.js.map +1 -1
  142. package/package.json +1 -1
@@ -1,7 +1,6 @@
1
1
  import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable } from "../schemata/index.js";
2
2
  import type { TCoreClaim } from "../schemata/claim.js";
3
- import type { TCoreClaimCitation } from "../schemata/claim-citation.js";
4
- import type { TClaimLookup, TClaimCitationLookup } from "./interfaces/library.interfaces.js";
3
+ import type { TClaimLookup } from "./interfaces/library.interfaces.js";
5
4
  import type { TForkArgumentOptions, TForkRemapTable } from "../types/fork.js";
6
5
  import { ArgumentEngine } from "./argument-engine.js";
7
6
  /**
@@ -15,15 +14,14 @@ import { ArgumentEngine } from "./argument-engine.js";
15
14
  *
16
15
  * @param engine - The source engine to fork.
17
16
  * @param newArgumentId - The ID for the forked argument.
18
- * @param libraries - Claim and claim-citation libraries for the new engine.
17
+ * @param libraries - Claim library for the new engine.
19
18
  * @param options - Optional ID generator, checksum/position/grammar config overrides.
20
19
  * @returns The forked engine and a remap table mapping original to new entity IDs.
21
20
  */
22
- export declare function forkArgumentEngine<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TClaim extends TCoreClaim = TCoreClaim, TCitation extends TCoreClaimCitation = TCoreClaimCitation>(engine: ArgumentEngine<TArg, TPremise, TExpr, TVar>, newArgumentId: string, libraries: {
21
+ export declare function forkArgumentEngine<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TClaim extends TCoreClaim = TCoreClaim>(engine: ArgumentEngine<TArg, TPremise, TExpr, TVar, TClaim>, newArgumentId: string, libraries: {
23
22
  claimLibrary: TClaimLookup<TClaim>;
24
- claimCitationLibrary: TClaimCitationLookup<TCitation>;
25
23
  }, options?: TForkArgumentOptions): {
26
- engine: ArgumentEngine<TArg, TPremise, TExpr, TVar>;
24
+ engine: ArgumentEngine<TArg, TPremise, TExpr, TVar, TClaim>;
27
25
  remapTable: TForkRemapTable;
28
26
  };
29
27
  //# sourceMappingURL=fork.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../../src/lib/core/fork.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAE7B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,EACR,YAAY,EACZ,oBAAoB,EACvB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,EAGzD,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EACnD,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE;IACP,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IAClC,oBAAoB,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAA;CACxD,EACD,OAAO,CAAC,EAAE,oBAAoB,GAC/B;IAEC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACnD,UAAU,EAAE,eAAe,CAAA;CAC9B,CAwJA"}
1
+ {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../../src/lib/core/fork.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAE7B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,EACpE,MAAM,SAAS,UAAU,GAAG,UAAU,EAEtC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAC3D,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE;IACP,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;CACrC,EACD,OAAO,CAAC,EAAE,oBAAoB,GAC/B;IACC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAC3D,UAAU,EAAE,eAAe,CAAA;CAC9B,CA+IA"}
@@ -13,13 +13,11 @@ import { isPremiseBound } from "../schemata/propositional.js";
13
13
  *
14
14
  * @param engine - The source engine to fork.
15
15
  * @param newArgumentId - The ID for the forked argument.
16
- * @param libraries - Claim and claim-citation libraries for the new engine.
16
+ * @param libraries - Claim library for the new engine.
17
17
  * @param options - Optional ID generator, checksum/position/grammar config overrides.
18
18
  * @returns The forked engine and a remap table mapping original to new entity IDs.
19
19
  */
20
- export function forkArgumentEngine(
21
- // TODO Phase 7: drop TSource/TAssoc generics from ArgumentEngine.
22
- engine, newArgumentId, libraries, options) {
20
+ export function forkArgumentEngine(engine, newArgumentId, libraries, options) {
23
21
  const generateId = options?.generateId ?? defaultGenerateId;
24
22
  // Snapshot includes config from the source engine
25
23
  const snap = engine.snapshot();
@@ -121,10 +119,7 @@ engine, newArgumentId, libraries, options) {
121
119
  }
122
120
  const grammarConfig = options?.grammarConfig ?? snap.config?.grammarConfig;
123
121
  // Construct new engine
124
- // TODO Phase 7: ArgumentEngine.fromSnapshot will take
125
- // (snapshot, claimLibrary, claimCitationLibrary, ...) once its generics
126
- // are reduced to drop TSource/TAssoc.
127
- const forkedEngine = ArgumentEngine.fromSnapshot(snap, libraries.claimLibrary, libraries.claimCitationLibrary, grammarConfig, "ignore", generateId);
122
+ const forkedEngine = ArgumentEngine.fromSnapshot(snap, libraries.claimLibrary, grammarConfig, "ignore", generateId);
128
123
  return { engine: forkedEngine, remapTable };
129
124
  }
130
125
  //# sourceMappingURL=fork.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/lib/core/fork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/lib/core/fork.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export type { TDisplayable, THierarchicalChecksummable, } from "./shared.interfaces.js";
2
2
  export type { TPremiseCrud, TVariableManagement, TArgumentExpressionQueries, TArgumentRoleState, TArgumentEvaluation, TArgumentLifecycle, TArgumentIdentity, } from "./argument-engine.interfaces.js";
3
3
  export type { TFormulaTreeVisitor, TFormulaTreeWalking, TExpressionMutations, TExpressionQueries, TVariableReferences, TPremiseClassification, TPremiseEvaluation, TPremiseLifecycle, TPremiseIdentity, } from "./premise-engine.interfaces.js";
4
- export type { TClaimLookup, TClaimLibraryManagement, TClaimLibrarySnapshot, TClaimCitationLookup, TClaimCitationLibraryManagement, TClaimCitationLibrarySnapshot, TForkLibrarySnapshot, TArgumentLibrarySnapshot, TPropositCoreSnapshot, TPropositCoreConfig, } from "./library.interfaces.js";
4
+ export type { TClaimLookup, TClaimLibraryManagement, TClaimLibrarySnapshot, TClaimConnectionLookup, TClaimConnectionLibraryManagement, TClaimConnectionLibrarySnapshot, TForkLibrarySnapshot, TArgumentLibrarySnapshot, TPropositCoreSnapshot, TPropositCoreConfig, } from "./library.interfaces.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,YAAY,EACZ,0BAA0B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EACR,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,iCAAiC,CAAA;AAExC,YAAY,EACR,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EACR,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,+BAA+B,EAC/B,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,YAAY,EACZ,0BAA0B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EACR,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,iCAAiC,CAAA;AAExC,YAAY,EACR,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EACR,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,yBAAyB,CAAA"}
@@ -1,5 +1,7 @@
1
1
  import type { TCoreClaim } from "../../schemata/claim.js";
2
2
  import type { TCoreClaimCitation } from "../../schemata/claim-citation.js";
3
+ import type { TCoreClaimConnection } from "../../schemata/claim-connection.js";
4
+ import type { TCoreClaimAxiom } from "../../schemata/claim-axiom.js";
3
5
  import type { TCoreArgumentForkRecord, TCorePremiseForkRecord, TCoreExpressionForkRecord, TCoreVariableForkRecord, TCoreClaimForkRecord } from "../../schemata/fork.js";
4
6
  import type { TInvariantValidationResult } from "../../types/validation.js";
5
7
  import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable } from "../../schemata/index.js";
@@ -115,86 +117,94 @@ export interface TClaimLibraryManagement<TClaim extends TCoreClaim = TCoreClaim>
115
117
  validate(): TInvariantValidationResult;
116
118
  }
117
119
  /**
118
- * Narrow read-only interface for claim-citation lookups.
119
- * Implemented by `ClaimCitationLibrary`.
120
+ * Narrow read-only interface for claim-connection lookups.
121
+ * Implemented by `ClaimCitationLibrary` and `ClaimAxiomLibrary`.
122
+ *
123
+ * A claim connection is a directional support edge between two claims. The
124
+ * supported endpoint lives at `claimId`; the endpoint that supplies the
125
+ * support lives at `supportingClaimId`. Specializations (citation vs. axiom)
126
+ * differ in which library they live in and what type the supporting-side
127
+ * claim must have.
120
128
  */
121
- export interface TClaimCitationLookup<TCitation extends TCoreClaimCitation = TCoreClaimCitation> {
129
+ export interface TClaimConnectionLookup<TConn extends TCoreClaimConnection = TCoreClaimConnection> {
122
130
  /**
123
- * Returns all citations where the given claim is the citing-side endpoint.
131
+ * Returns all connections where the given claim is the supported
132
+ * endpoint (i.e. the `claimId` side of the edge).
124
133
  *
125
- * @param citingClaimId - The citing claim ID to filter by.
126
- * @returns An array of matching citations.
134
+ * @param claimId - The supported claim ID to filter by.
135
+ * @returns An array of matching connections.
127
136
  */
128
- getCitationsForCitingClaim(citingClaimId: string): TCitation[];
137
+ getConnectionsForClaim(claimId: string): TConn[];
129
138
  /**
130
- * Returns all citations where the given claim is the source-side endpoint.
139
+ * Returns a connection by ID, or `undefined` if not found.
131
140
  *
132
- * @param sourceClaimId - The source claim ID to filter by.
133
- * @returns An array of matching citations.
141
+ * @param id - The connection ID.
142
+ * @returns The connection entity, or `undefined`.
134
143
  */
135
- getCitationsForSourceClaim(sourceClaimId: string): TCitation[];
136
- /**
137
- * Returns a citation by ID, or `undefined` if not found.
138
- *
139
- * @param id - The citation ID.
140
- * @returns The citation entity, or `undefined`.
141
- */
142
- get(id: string): TCitation | undefined;
144
+ get(id: string): TConn | undefined;
143
145
  }
144
146
  /**
145
- * Full management interface for a claim-citation library. Extends
146
- * `TClaimCitationLookup` with mutation, query, and snapshot methods.
147
- * Citations are create-or-delete only — no update path.
147
+ * Full management interface for a claim-connection library. Extends
148
+ * `TClaimConnectionLookup` with mutation, query, and snapshot methods.
149
+ * Connections are create-or-delete only — no update path.
148
150
  */
149
- export interface TClaimCitationLibraryManagement<TCitation extends TCoreClaimCitation = TCoreClaimCitation> extends TClaimCitationLookup<TCitation> {
151
+ export interface TClaimConnectionLibraryManagement<TConn extends TCoreClaimConnection = TCoreClaimConnection> extends TClaimConnectionLookup<TConn> {
150
152
  /**
151
- * Creates a claim citation. Validates that both the citing and source
152
- * claims exist in the claim library, that the source-side claim has
153
- * type='citation', and that the new edge does not introduce a cycle in
154
- * the global claim-citation graph.
153
+ * Creates a claim connection. Implementations validate that both the
154
+ * supported and supporting claims exist in the underlying claim library
155
+ * and that the supporting-side claim has the type required by this
156
+ * specialization (e.g. `'citation'` for `ClaimCitationLibrary`,
157
+ * `'axiomatic'` for `ClaimAxiomLibrary`). Citation libraries also
158
+ * reject any edge that would introduce a cycle in the global
159
+ * claim-citation graph.
155
160
  *
156
- * @param citation - The citation data without the `checksum` field.
157
- * @returns The created citation with checksum populated.
158
- * @throws If a citation with the same ID already exists.
159
- * @throws If the referenced citing or source claim does not exist.
160
- * @throws If the source-side claim has type !== 'citation'.
161
- * @throws If the citation would create a cycle.
161
+ * @param connection - The connection data without the `checksum` field.
162
+ * @returns The created connection with `checksum` populated.
163
+ * @throws If a connection with the same ID already exists.
164
+ * @throws If either referenced claim does not exist in the claim library.
165
+ * @throws If the supporting-side claim has the wrong `type` for this
166
+ * specialization.
167
+ * @throws If the connection would create a cycle (citation library only).
162
168
  */
163
- add(citation: Omit<TCitation, "checksum">): TCitation;
169
+ add(connection: Omit<TConn, "checksum">): TConn;
164
170
  /**
165
- * Removes a claim citation by ID.
171
+ * Removes a claim connection by ID.
166
172
  *
167
- * @param id - The citation ID to remove.
168
- * @returns The removed citation entity.
169
- * @throws If the citation does not exist.
173
+ * @param id - The connection ID to remove.
174
+ * @returns The removed connection entity.
175
+ * @throws If the connection does not exist.
170
176
  */
171
- remove(id: string): TCitation;
177
+ remove(id: string): TConn;
172
178
  /**
173
- * Returns all citations in the library.
179
+ * Returns all connections in the library.
174
180
  *
175
- * @returns An array of all citation entities.
181
+ * @returns An array of all connection entities.
176
182
  */
177
- getAll(): TCitation[];
183
+ getAll(): TConn[];
178
184
  /**
179
- * Returns all citations matching the predicate.
185
+ * Returns all connections matching the predicate.
180
186
  *
181
- * @param predicate - A filter function applied to each citation.
182
- * @returns An array of matching citations.
187
+ * @param predicate - A filter function applied to each connection.
188
+ * @returns An array of matching connections.
183
189
  */
184
- filter(predicate: (c: TCitation) => boolean): TCitation[];
190
+ filter(predicate: (c: TConn) => boolean): TConn[];
185
191
  /**
186
- * Returns a serializable snapshot of all citations in the library.
192
+ * Returns a serializable snapshot of all connections in the library.
187
193
  *
188
- * @returns The claim-citation library snapshot.
194
+ * @returns The claim-connection library snapshot.
189
195
  */
190
- snapshot(): TClaimCitationLibrarySnapshot<TCitation>;
196
+ snapshot(): TClaimConnectionLibrarySnapshot<TConn>;
191
197
  /**
192
- * Run invariant validation on the claim-citation library.
198
+ * Run invariant validation on the claim-connection library.
193
199
  *
194
200
  * @returns The invariant validation result.
195
201
  */
196
202
  validate(): TInvariantValidationResult;
197
203
  }
204
+ export type TClaimConnectionLibrarySnapshot<TConn extends TCoreClaimConnection = TCoreClaimConnection> = {
205
+ /** All claim-connection entities in the library. */
206
+ connections: TConn[];
207
+ };
198
208
  /**
199
209
  * Serializable snapshot of a `ClaimLibrary`. Contains all claim entities
200
210
  * across all IDs and versions.
@@ -203,14 +213,6 @@ export type TClaimLibrarySnapshot<TClaim extends TCoreClaim = TCoreClaim> = {
203
213
  /** All claim entities in the library. */
204
214
  claims: TClaim[];
205
215
  };
206
- /**
207
- * Serializable snapshot of a `ClaimCitationLibrary`. Contains all citation
208
- * entities.
209
- */
210
- export type TClaimCitationLibrarySnapshot<TCitation extends TCoreClaimCitation = TCoreClaimCitation> = {
211
- /** All claim citation entities in the library. */
212
- claimCitations: TCitation[];
213
- };
214
216
  /**
215
217
  * Serializable snapshot of a `ForkLibrary`. Contains arrays of fork records
216
218
  * for each entity type.
@@ -237,15 +239,18 @@ export type TArgumentLibrarySnapshot<TArg extends TCoreArgument = TCoreArgument,
237
239
  };
238
240
  /**
239
241
  * Serializable snapshot of a `PropositCore` instance. Contains snapshots of
240
- * all managed libraries: arguments, claims, claim citations, and fork records.
242
+ * all managed libraries: arguments, claims, claim citations, axioms, and fork
243
+ * records.
241
244
  */
242
- export type TPropositCoreSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TClaim extends TCoreClaim = TCoreClaim, TCitation extends TCoreClaimCitation = TCoreClaimCitation, TArgFork extends TCoreArgumentForkRecord = TCoreArgumentForkRecord, TPremiseFork extends TCorePremiseForkRecord = TCorePremiseForkRecord, TExprFork extends TCoreExpressionForkRecord = TCoreExpressionForkRecord, TVarFork extends TCoreVariableForkRecord = TCoreVariableForkRecord, TClaimFork extends TCoreClaimForkRecord = TCoreClaimForkRecord> = {
245
+ export type TPropositCoreSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TClaim extends TCoreClaim = TCoreClaim, TCitation extends TCoreClaimCitation = TCoreClaimCitation, TAxiom extends TCoreClaimAxiom = TCoreClaimAxiom, TArgFork extends TCoreArgumentForkRecord = TCoreArgumentForkRecord, TPremiseFork extends TCorePremiseForkRecord = TCorePremiseForkRecord, TExprFork extends TCoreExpressionForkRecord = TCoreExpressionForkRecord, TVarFork extends TCoreVariableForkRecord = TCoreVariableForkRecord, TClaimFork extends TCoreClaimForkRecord = TCoreClaimForkRecord> = {
243
246
  /** Snapshot of all argument engines. */
244
247
  arguments: TArgumentLibrarySnapshot<TArg, TPremise, TExpr, TVar>;
245
248
  /** Snapshot of the claim library. */
246
249
  claims: TClaimLibrarySnapshot<TClaim>;
247
250
  /** Snapshot of the claim-citation library. */
248
- claimCitations: TClaimCitationLibrarySnapshot<TCitation>;
251
+ citations: TClaimConnectionLibrarySnapshot<TCitation>;
252
+ /** Snapshot of the claim-axiom library. */
253
+ axioms: TClaimConnectionLibrarySnapshot<TAxiom>;
249
254
  /** Snapshot of the fork library. */
250
255
  forks: TForkLibrarySnapshot<TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork>;
251
256
  };
@@ -1 +1 @@
1
- {"version":3,"file":"library.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/library.interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/library.interfaces.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { PremiseEngine, type TPremiseEngineSnapshot } from "./premise-engine.js"
3
3
  import { VariableManager } from "./variable-manager.js";
4
4
  import { type TLogicEngineOptions } from "./argument-engine.js";
5
5
  /**
6
- * Minimal structural interface needed by `populateFromCitations`. Using a
6
+ * Minimal structural interface needed by `populateFromSupports`. Using a
7
7
  * structural type rather than the concrete `ArgumentEngine<…>` class prevents
8
8
  * generic-parameter variance errors when the caller uses default type params.
9
9
  */
@@ -14,6 +14,7 @@ import { type TGrammarConfig } from "../types/grammar.js";
14
14
  import type { TExpressionInput, TExpressionWithoutPosition, TExpressionUpdate } from "./expression-manager.js";
15
15
  import type { TCoreMutationResult } from "../types/mutation.js";
16
16
  import type { ClaimCitationLibrary } from "./claim-citation-library.js";
17
+ import type { ClaimAxiomLibrary } from "./claim-axiom-library.js";
17
18
  /**
18
19
  * A managed engine for derivation premises that enforces structural rules
19
20
  * from the v0.11.0 spec on construction and on snapshot restoration.
@@ -40,7 +41,7 @@ import type { ClaimCitationLibrary } from "./claim-citation-library.js";
40
41
  export declare class ManagedDerivationPremiseEngine<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> extends PremiseEngine<TArg, TPremise, TExpr, TVar> {
41
42
  /**
42
43
  * Captured from `config.generateId` (or the default UUID generator) for
43
- * use in `populateFromCitations`, which needs to mint new expression IDs.
44
+ * use in `populateFromSupports`, which needs to mint new expression IDs.
44
45
  * Stored separately because `PremiseEngine`'s generateId is private.
45
46
  * Not `readonly` because `fromSnapshot` re-injects it after the prototype
46
47
  * upgrade.
@@ -85,20 +86,21 @@ export declare class ManagedDerivationPremiseEngine<TArg extends TCoreArgument =
85
86
  normalizeExpressions(): TCoreMutationResult<void, TExpr, TVar, TPremise, TArg>;
86
87
  loadExpressions(expressions: TExpressionInput<TExpr>[]): void;
87
88
  /**
88
- * One-shot snapshot helper that builds the antecedent of this derivation
89
- * premise from the current global citations of the derived claim.
89
+ * One-shot helper that builds the antecedent of this derivation premise
90
+ * from the current global support (citations + axiom invocations) of the
91
+ * derived claim.
90
92
  *
91
- * Behavior by citation count:
93
+ * Behavior by total support count `n = citations + axioms`:
92
94
  * - n = 0: no change. Premise stays in its current form (typically
93
95
  * naked-Q, indicating "no support given").
94
- * - n = 1: produces `IMPLIES(VariableExpression(S1), VariableExpression(Q))`.
95
- * - n ≥ 2: produces `IMPLIES(formula(OR(VariableExpression(S1), …,
96
- * VariableExpression(Sn))), VariableExpression(Q))`. The formula
97
- * buffer between IMPLIES and OR is auto-inserted by the engine's
98
- * standard grammar (`wrapInsertFormula`).
96
+ * - n = 1: `IMPLIES(VarExpr(S1), Q)`.
97
+ * - n ≥ 2: `IMPLIES(formula(OR(VarExpr(S1), …, VarExpr(Sn))), Q)`.
98
+ * Citations come first, axioms second; source order preserved within
99
+ * each. The formula buffer between IMPLIES and OR is auto-inserted by
100
+ * the engine's standard grammar.
99
101
  *
100
- * Materializes a claim-bound variable for each cited source via
101
- * `argumentEngine.ensureClaimBoundVariable(citation.sourceClaimId)`.
102
+ * Materializes a claim-bound variable for each supporting claim via
103
+ * `argumentEngine.ensureClaimBoundVariable(supportingClaimId)`.
102
104
  *
103
105
  * **Tree construction approach:** Mutations are performed via `super.*`
104
106
  * calls, bypassing this class's overrides (which call `assertWellFormed()`
@@ -108,14 +110,25 @@ export declare class ManagedDerivationPremiseEngine<TArg extends TCoreArgument =
108
110
  * IMPLIES and OR for n ≥ 2 automatically. `assertWellFormed()` is called
109
111
  * at the end to validate the final state.
110
112
  *
111
- * @throws InvariantViolationError(DERIVATION_ANTECEDENT_NON_EMPTY) when the
112
- * derivation premise already has a non-empty antecedent (i.e., the
113
- * root is `implies`/`iff` with a position-0 child). The caller
114
- * decides whether to delete and re-create the premise.
113
+ * @throws InvariantViolationError(DERIVATION_ANTECEDENT_NON_EMPTY) when
114
+ * the antecedent slot is already filled.
115
115
  *
116
- * @since 0.11.0
116
+ * @since 0.12.0
117
117
  */
118
- populateFromCitations(citationLib: ClaimCitationLibrary, argumentEngine: TVariableMaterializer): void;
118
+ populateFromSupports(citationLib: ClaimCitationLibrary, axiomLib: ClaimAxiomLibrary, argumentEngine: TVariableMaterializer): void;
119
+ /**
120
+ * Build the antecedent expression tree from a list of already-materialized
121
+ * supporting variables. Shared between populate helpers.
122
+ *
123
+ * - n=0 → no-op (caller decides whether to leave the naked-Q form intact).
124
+ * - n=1 → IMPLIES(VarExpr(S1), Q) using wrapExpression with rightNodeId=Q.
125
+ * - n≥2 → IMPLIES(formula(OR(S1, ..., Sn)), Q) via wrapExpression + appendExpression.
126
+ *
127
+ * Uses `super.*` mutation calls to bypass this class's overrides during
128
+ * multi-step construction. Caller is responsible for the final
129
+ * `assertWellFormed()`.
130
+ */
131
+ private buildAntecedentFromSupportingVariables;
119
132
  /**
120
133
  * Returns the ID of the consequent expression, or `undefined` if the tree
121
134
  * has no root yet.
@@ -1 +1 @@
1
- {"version":3,"file":"managed-derivation-premise-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/managed-derivation-premise-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managed-derivation-premise-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/managed-derivation-premise-engine.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ import { validateDerivationStructure } from "../utils/derivation-validation.js";
32
32
  export class ManagedDerivationPremiseEngine extends PremiseEngine {
33
33
  /**
34
34
  * Captured from `config.generateId` (or the default UUID generator) for
35
- * use in `populateFromCitations`, which needs to mint new expression IDs.
35
+ * use in `populateFromSupports`, which needs to mint new expression IDs.
36
36
  * Stored separately because `PremiseEngine`'s generateId is private.
37
37
  * Not `readonly` because `fromSnapshot` re-injects it after the prototype
38
38
  * upgrade.
@@ -78,7 +78,7 @@ export class ManagedDerivationPremiseEngine extends PremiseEngine {
78
78
  Object.setPrototypeOf(pe, ManagedDerivationPremiseEngine.prototype);
79
79
  const engine = pe;
80
80
  // Inject the generateId captured from config (or the default) so that
81
- // populateFromCitations can mint new expression IDs.
81
+ // populateFromSupports can mint new expression IDs.
82
82
  engine.generateIdFn = generateId ?? defaultGenerateId;
83
83
  // Validate the full tree — expressions are fully loaded at this point.
84
84
  // (Type was already checked at the top before delegating to the parent.)
@@ -207,20 +207,21 @@ export class ManagedDerivationPremiseEngine extends PremiseEngine {
207
207
  // Public one-shot helpers
208
208
  // -------------------------------------------------------------------------
209
209
  /**
210
- * One-shot snapshot helper that builds the antecedent of this derivation
211
- * premise from the current global citations of the derived claim.
210
+ * One-shot helper that builds the antecedent of this derivation premise
211
+ * from the current global support (citations + axiom invocations) of the
212
+ * derived claim.
212
213
  *
213
- * Behavior by citation count:
214
+ * Behavior by total support count `n = citations + axioms`:
214
215
  * - n = 0: no change. Premise stays in its current form (typically
215
216
  * naked-Q, indicating "no support given").
216
- * - n = 1: produces `IMPLIES(VariableExpression(S1), VariableExpression(Q))`.
217
- * - n ≥ 2: produces `IMPLIES(formula(OR(VariableExpression(S1), …,
218
- * VariableExpression(Sn))), VariableExpression(Q))`. The formula
219
- * buffer between IMPLIES and OR is auto-inserted by the engine's
220
- * standard grammar (`wrapInsertFormula`).
217
+ * - n = 1: `IMPLIES(VarExpr(S1), Q)`.
218
+ * - n ≥ 2: `IMPLIES(formula(OR(VarExpr(S1), …, VarExpr(Sn))), Q)`.
219
+ * Citations come first, axioms second; source order preserved within
220
+ * each. The formula buffer between IMPLIES and OR is auto-inserted by
221
+ * the engine's standard grammar.
221
222
  *
222
- * Materializes a claim-bound variable for each cited source via
223
- * `argumentEngine.ensureClaimBoundVariable(citation.sourceClaimId)`.
223
+ * Materializes a claim-bound variable for each supporting claim via
224
+ * `argumentEngine.ensureClaimBoundVariable(supportingClaimId)`.
224
225
  *
225
226
  * **Tree construction approach:** Mutations are performed via `super.*`
226
227
  * calls, bypassing this class's overrides (which call `assertWellFormed()`
@@ -230,14 +231,12 @@ export class ManagedDerivationPremiseEngine extends PremiseEngine {
230
231
  * IMPLIES and OR for n ≥ 2 automatically. `assertWellFormed()` is called
231
232
  * at the end to validate the final state.
232
233
  *
233
- * @throws InvariantViolationError(DERIVATION_ANTECEDENT_NON_EMPTY) when the
234
- * derivation premise already has a non-empty antecedent (i.e., the
235
- * root is `implies`/`iff` with a position-0 child). The caller
236
- * decides whether to delete and re-create the premise.
234
+ * @throws InvariantViolationError(DERIVATION_ANTECEDENT_NON_EMPTY) when
235
+ * the antecedent slot is already filled.
237
236
  *
238
- * @since 0.11.0
237
+ * @since 0.12.0
239
238
  */
240
- populateFromCitations(citationLib, argumentEngine) {
239
+ populateFromSupports(citationLib, axiomLib, argumentEngine) {
241
240
  const premise = this.premise;
242
241
  const derivedClaimId = premise.derivedClaimId;
243
242
  // 1. Reject if antecedent is already non-empty.
@@ -265,31 +264,57 @@ export class ManagedDerivationPremiseEngine extends PremiseEngine {
265
264
  }
266
265
  }
267
266
  }
268
- // 2. Look up citations for the derived claim.
269
- const citations = citationLib.getCitationsForCitingClaim(derivedClaimId);
270
- if (citations.length === 0)
267
+ // 2. Collect supporting connections from both libraries (citations
268
+ // first, axioms second; source order preserved within each).
269
+ const citationConnections = citationLib.getConnectionsForClaim(derivedClaimId);
270
+ const axiomConnections = axiomLib.getConnectionsForClaim(derivedClaimId);
271
+ const totalCount = citationConnections.length + axiomConnections.length;
272
+ if (totalCount === 0)
271
273
  return;
272
- // 3. Materialize a claim-bound variable for each cited source.
274
+ // 3. Materialize claim-bound variables for each support.
273
275
  // ensureClaimBoundVariable adds the variable to the live argumentEngine,
274
276
  // but the managed engine has its own VariableManager snapshot that was
275
277
  // taken before these new variables were created. Register each newly
276
278
  // returned variable into this engine's VariableManager so that the
277
279
  // variable expressions we construct below pass assertVariableExpressionValid.
278
- const sourceVariables = citations.map((c) => argumentEngine.ensureClaimBoundVariable(c.sourceClaimId));
279
- for (const sv of sourceVariables) {
280
+ const supportingVariables = [];
281
+ for (const conn of citationConnections) {
282
+ supportingVariables.push(argumentEngine.ensureClaimBoundVariable(conn.supportingClaimId));
283
+ }
284
+ for (const conn of axiomConnections) {
285
+ supportingVariables.push(argumentEngine.ensureClaimBoundVariable(conn.supportingClaimId));
286
+ }
287
+ for (const sv of supportingVariables) {
280
288
  if (!this.variables.hasVariable(sv.id)) {
281
289
  this.variables.addVariable(sv);
282
290
  }
283
291
  }
284
- // 4. Build the antecedent expression tree. Mutations go via super.*
285
- // to bypass this class's overrides, which validate after every call
286
- // and would reject intermediate (partially built) tree states.
292
+ // 4. Build the antecedent expression tree.
293
+ this.buildAntecedentFromSupportingVariables(supportingVariables);
294
+ // 5. Validate the final tree is well-formed.
295
+ this.assertWellFormed();
296
+ }
297
+ /**
298
+ * Build the antecedent expression tree from a list of already-materialized
299
+ * supporting variables. Shared between populate helpers.
300
+ *
301
+ * - n=0 → no-op (caller decides whether to leave the naked-Q form intact).
302
+ * - n=1 → IMPLIES(VarExpr(S1), Q) using wrapExpression with rightNodeId=Q.
303
+ * - n≥2 → IMPLIES(formula(OR(S1, ..., Sn)), Q) via wrapExpression + appendExpression.
304
+ *
305
+ * Uses `super.*` mutation calls to bypass this class's overrides during
306
+ * multi-step construction. Caller is responsible for the final
307
+ * `assertWellFormed()`.
308
+ */
309
+ buildAntecedentFromSupportingVariables(supportingVars) {
310
+ if (supportingVars.length === 0)
311
+ return;
287
312
  const argId = this.premise.argumentId;
288
313
  const argVersion = this.premise.argumentVersion;
289
314
  const premiseId = this.premise.id;
290
315
  // qRootExprId is the ID of the current naked-Q root variable expression.
291
316
  const qRootExprId = this.rootExpressionId;
292
- if (citations.length === 1) {
317
+ if (supportingVars.length === 1) {
293
318
  // n = 1: wrap naked-Q with IMPLIES using rightNodeId so that Q lands
294
319
  // at the midpoint (consequent) position and S1 lands at initial.
295
320
  const impliesId = this.generateIdFn();
@@ -310,7 +335,7 @@ export class ManagedDerivationPremiseEngine extends PremiseEngine {
310
335
  premiseId,
311
336
  parentId: null, // wrapExpression sets the parentId internally
312
337
  type: "variable",
313
- variableId: sourceVariables[0].id,
338
+ variableId: supportingVars[0].id,
314
339
  };
315
340
  // rightNodeId=qRootExprId: existing node (Q) → midpoint (consequent),
316
341
  // newSibling (S1) → initial (antecedent).
@@ -321,7 +346,7 @@ export class ManagedDerivationPremiseEngine extends PremiseEngine {
321
346
  // throughout — the engine's wrapInsertFormula rule auto-inserts a
322
347
  // formula buffer between IMPLIES and OR. The OR keeps its original
323
348
  // ID, so subsequent appendExpression(orId, ...) calls still attach
324
- // the source variables to the same OR node.
349
+ // the supporting variables to the same OR node.
325
350
  const impliesId = this.generateIdFn();
326
351
  const orId = this.generateIdFn();
327
352
  const impliesOp = {
@@ -344,8 +369,8 @@ export class ManagedDerivationPremiseEngine extends PremiseEngine {
344
369
  };
345
370
  // rightNodeId=qRootExprId: Q → midpoint (consequent), OR → initial (antecedent).
346
371
  super.wrapExpression(impliesOp, orOp, undefined, qRootExprId);
347
- // Append each source variable expression as a child of OR.
348
- for (const sourceVar of sourceVariables) {
372
+ // Append each supporting variable expression as a child of OR.
373
+ for (const sourceVar of supportingVars) {
349
374
  const srcExprId = this.generateIdFn();
350
375
  const srcVarExpr = {
351
376
  id: srcExprId,
@@ -359,8 +384,6 @@ export class ManagedDerivationPremiseEngine extends PremiseEngine {
359
384
  super.appendExpression(orId, srcVarExpr);
360
385
  }
361
386
  }
362
- // 5. Validate the final tree is well-formed.
363
- this.assertWellFormed();
364
387
  }
365
388
  // -------------------------------------------------------------------------
366
389
  // Private helpers