Skip to content

Interface: BackwardChainRequest

@kortexya/reasoninglayer


@kortexya/reasoninglayer / Inference / BackwardChainRequest

Interface: BackwardChainRequest

Defined in: src/types/inference.ts:149

Request for backward chaining inference.

Remarks

Dual input mode: Provide EITHER goal (inline goal) OR goal_id (reference to a saved goal), but not both.

Serialization format: Request uses untagged TermInputDto / FeatureInputValueDto. Response uses PsiTermDto / SolutionDto.

Properties

constraints?

optional constraints: ConstraintInputDto[]

Defined in: src/types/inference.ts:167

Additional constraints (deprecated — prefer ConstrainedVariable in goal).


goal?

optional goal: TermInputDto | null

Defined in: src/types/inference.ts:151

Inline goal as a TermInputDto. Mutually exclusive with goal_id.


goalId?

optional goalId: string | null

Defined in: src/types/inference.ts:153

Reference to a saved goal by UUID. Mutually exclusive with goal.


maxDepth?

optional maxDepth: number

Defined in: src/types/inference.ts:159

Maximum proof depth to prevent infinite recursion. Default: 100.


maxSolutions?

optional maxSolutions: number

Defined in: src/types/inference.ts:161

Maximum number of solutions.


minCertainty?

optional minCertainty: number

Defined in: src/types/inference.ts:163

Minimum certainty threshold.


openWorld?

optional openWorld: boolean

Defined in: src/types/inference.ts:157

Whether to use open-world reasoning (evidence-based instead of closed-world).


saveGoal?

optional saveGoal: boolean

Defined in: src/types/inference.ts:155

Whether to persist the goal for later reuse.


timeoutMs?

optional timeoutMs: number | null

Defined in: src/types/inference.ts:165

Wall-clock timeout in milliseconds (default: 30000). Returns partial results on timeout.