Interface: SmtCheckRequest
@kortexya/reasoninglayer / SmtCheckRequest
Interface: SmtCheckRequest
Section titled “Interface: SmtCheckRequest”Defined in: src/types/smt.ts:114
Request body for checking satisfiability of an EUF (equality with uninterpreted functions) formula.
Remarks
Section titled “Remarks”Declare constants and optional functions, state the equalities between them, then constrain their Boolean abstraction with clauses, assertTrue and assertFalse. No tenant context is required — the SMT context is stateless and independent of the OSFKB.
Example
Section titled “Example”const request: SmtCheckRequest = { constants: ['a', 'b', 'c'], equalities: [ { id: 0, lhs: 'a', rhs: 'b' }, { id: 1, lhs: 'b', rhs: 'c' }, { id: 2, lhs: 'a', rhs: 'c' }, ], assertTrue: [0, 1], assertFalse: [2], // unsat by congruence closure (transitivity)};Properties
Section titled “Properties”assertFalse?
Section titled “assertFalse?”
optionalassertFalse?:number[]
Defined in: src/types/smt.ts:129
Equality atom IDs forced to be false (asserted as unit negative clauses).
assertTrue?
Section titled “assertTrue?”
optionalassertTrue?:number[]
Defined in: src/types/smt.ts:127
Equality atom IDs forced to be true (asserted as unit positive clauses).
clauses?
Section titled “clauses?”
optionalclauses?:EqLiteralDto[][]
Defined in: src/types/smt.ts:125
Boolean clauses over equality atoms: each clause is a non-empty disjunction of EqLiteralDtos.
constants
Section titled “constants”constants:
string[]
Defined in: src/types/smt.ts:116
Uninterpreted constant names.
equalities?
Section titled “equalities?”
optionalequalities?:EqualityAtomDto[]
Defined in: src/types/smt.ts:120
Equality atoms between pairs of terms. Each must have a unique id.
functions?
Section titled “functions?”
optionalfunctions?:SmtFunctionApplicationDto[]
Defined in: src/types/smt.ts:118
Uninterpreted function applications (optional).