@proposit/proposit-core 0.8.9 → 0.8.10
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 +9 -9
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/skills/proposit-core/docs/api-usage.md +7 -7
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Core engine for building, evaluating, and checking the logical validity of propo
|
|
|
4
4
|
|
|
5
5
|
Also ships a **CLI** (`proposit-core`) for managing arguments, premises, variables, expressions, and analyses stored on disk.
|
|
6
6
|
|
|
7
|
-
Full documentation is available at <https://
|
|
7
|
+
Full documentation is available at <https://proposit-app.github.io/proposit-core/>.
|
|
8
8
|
|
|
9
9
|
## Visual Overview
|
|
10
10
|
|
|
@@ -41,9 +41,9 @@ flowchart TD
|
|
|
41
41
|
## Installation
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
pnpm add @
|
|
44
|
+
pnpm add @proposit/proposit-core
|
|
45
45
|
# or
|
|
46
|
-
npm install @
|
|
46
|
+
npm install @proposit/proposit-core
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
## Concepts
|
|
@@ -167,7 +167,7 @@ flowchart TD
|
|
|
167
167
|
`PropositCore` is the recommended top-level entry point. It creates and wires together all five libraries and provides unified cross-library operations:
|
|
168
168
|
|
|
169
169
|
```typescript
|
|
170
|
-
import { PropositCore } from "@
|
|
170
|
+
import { PropositCore } from "@proposit/proposit-core"
|
|
171
171
|
|
|
172
172
|
const core = new PropositCore()
|
|
173
173
|
|
|
@@ -205,7 +205,7 @@ A **source** is an evidentiary reference (paper, article, URL). Source entities
|
|
|
205
205
|
|
|
206
206
|
Claim-source associations are managed by `ClaimSourceLibrary<TAssoc>` — a standalone global class that links a claim version to a source version. Associations are immutable: create or delete only, no update. `ClaimSourceLibrary` validates both the claim and source references on `add()`.
|
|
207
207
|
|
|
208
|
-
The `@
|
|
208
|
+
The `@proposit/proposit-core/extensions/ieee` subpath export provides `IEEESourceSchema` — an extended source type with IEEE citation reference schemas covering 33 reference types.
|
|
209
209
|
|
|
210
210
|
### Auto-variable creation
|
|
211
211
|
|
|
@@ -255,8 +255,8 @@ Each expression carries:
|
|
|
255
255
|
### Creating an engine and premises
|
|
256
256
|
|
|
257
257
|
```typescript
|
|
258
|
-
import { ArgumentEngine, POSITION_INITIAL } from "@
|
|
259
|
-
import type { TPropositionalExpression } from "@
|
|
258
|
+
import { ArgumentEngine, POSITION_INITIAL } from "@proposit/proposit-core"
|
|
259
|
+
import type { TPropositionalExpression } from "@proposit/proposit-core"
|
|
260
260
|
|
|
261
261
|
// The constructor accepts an argument without checksum — it is computed lazily.
|
|
262
262
|
const argument = {
|
|
@@ -456,7 +456,7 @@ if (validity.ok) {
|
|
|
456
456
|
|
|
457
457
|
```tsx
|
|
458
458
|
import { useSyncExternalStore } from "react"
|
|
459
|
-
import { ArgumentEngine } from "@
|
|
459
|
+
import { ArgumentEngine } from "@proposit/proposit-core"
|
|
460
460
|
|
|
461
461
|
// Create the engine outside of React (or in a ref/context)
|
|
462
462
|
const engine = new ArgumentEngine({ id: "arg-1", version: 1 })
|
|
@@ -595,7 +595,7 @@ console.log(premise1.toDisplayString()) // (P → Q)
|
|
|
595
595
|
|
|
596
596
|
```typescript
|
|
597
597
|
// Fork John's argument to create Rich's response
|
|
598
|
-
import { PropositCore } from "@
|
|
598
|
+
import { PropositCore } from "@proposit/proposit-core"
|
|
599
599
|
|
|
600
600
|
const core = new PropositCore()
|
|
601
601
|
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## 1. Creating an Argument
|
|
4
4
|
|
|
5
5
|
```typescript
|
|
6
|
-
import { ArgumentEngine } from "@
|
|
6
|
+
import { ArgumentEngine } from "@proposit/proposit-core"
|
|
7
7
|
|
|
8
8
|
const engine = new ArgumentEngine({
|
|
9
9
|
id: "arg-1",
|
|
@@ -265,7 +265,7 @@ import {
|
|
|
265
265
|
defaultCompareVariable,
|
|
266
266
|
defaultComparePremise,
|
|
267
267
|
defaultCompareExpression,
|
|
268
|
-
} from "@
|
|
268
|
+
} from "@proposit/proposit-core"
|
|
269
269
|
|
|
270
270
|
const diff = diffArguments(engineA, engineB, {
|
|
271
271
|
compareArgument: defaultCompareArgument,
|
|
@@ -289,7 +289,7 @@ const diff = diffArguments(engineA, engineB, {
|
|
|
289
289
|
import {
|
|
290
290
|
analyzePremiseRelationships,
|
|
291
291
|
buildPremiseProfile,
|
|
292
|
-
} from "@
|
|
292
|
+
} from "@proposit/proposit-core"
|
|
293
293
|
|
|
294
294
|
// Analyze how all premises relate to a focused premise
|
|
295
295
|
const analysis = analyzePremiseRelationships(engine, "p-conclusion")
|
|
@@ -311,8 +311,8 @@ Both are standalone functions.
|
|
|
311
311
|
## 9. Formula Parsing
|
|
312
312
|
|
|
313
313
|
```typescript
|
|
314
|
-
import { parseFormula } from "@
|
|
315
|
-
import type { FormulaAST } from "@
|
|
314
|
+
import { parseFormula } from "@proposit/proposit-core"
|
|
315
|
+
import type { FormulaAST } from "@proposit/proposit-core"
|
|
316
316
|
|
|
317
317
|
const ast: FormulaAST = parseFormula("P -> (Q & R)")
|
|
318
318
|
```
|
|
@@ -402,7 +402,7 @@ import {
|
|
|
402
402
|
entityChecksum,
|
|
403
403
|
DEFAULT_CHECKSUM_CONFIG,
|
|
404
404
|
createChecksumConfig,
|
|
405
|
-
} from "@
|
|
405
|
+
} from "@proposit/proposit-core"
|
|
406
406
|
|
|
407
407
|
// Low-level hash
|
|
408
408
|
const hash = computeHash("input string")
|
|
@@ -436,7 +436,7 @@ import {
|
|
|
436
436
|
POSITION_MAX, // Number.MAX_SAFE_INTEGER
|
|
437
437
|
POSITION_INITIAL, // midpoint(POSITION_MIN, POSITION_MAX)
|
|
438
438
|
midpoint, // (a, b) => a + (b - a) / 2
|
|
439
|
-
} from "@
|
|
439
|
+
} from "@proposit/proposit-core"
|
|
440
440
|
```
|
|
441
441
|
|
|
442
442
|
Positions are opaque numbers. Only relative ordering matters. The `appendExpression` and `addExpressionRelative` APIs compute positions automatically -- prefer those over manual positioning.
|