MutableSolver

interface MutableSolver: Solver, Any

General type for mutable logic Solvers. MutableSolvers differ from Solvers in that they expose public methods for letting clients affect the state of the solver -- e.g. affecting the KB -- while no resolution process is ongoing.

Methods

loadLibrary

abstract fun loadLibrary(library: AliasedLibrary)

Parameters

Name Description
library: AliasedLibrary

ReturnValue

Name Description
Unit

unloadLibrary

abstract fun unloadLibrary(library: AliasedLibrary)

Parameters

Name Description
library: AliasedLibrary

ReturnValue

Name Description
Unit

setLibraries

abstract fun setLibraries(libraries: Libraries)

Parameters

Name Description
libraries: Libraries

ReturnValue

Name Description
Unit

loadStaticKb

abstract fun loadStaticKb(theory: Theory)

Parameters

Name Description
theory: Theory

ReturnValue

Name Description
Unit

loadStaticClauses

open fun loadStaticClauses(vararg clauses: Clause)

Parameters

Name Description
vararg clauses: Clause

ReturnValue

Name Description
Unit

loadStaticClauses

open fun loadStaticClauses(clauses: Iterable<Clause>)

Parameters

Name Description
clauses: Iterable<Clause>

ReturnValue

Name Description
Unit

loadStaticClauses

open fun loadStaticClauses(clauses: Sequence<Clause>)

Parameters

Name Description
clauses: Sequence<Clause>

ReturnValue

Name Description
Unit

appendStaticKb

abstract fun appendStaticKb(theory: Theory)

Parameters

Name Description
theory: Theory

ReturnValue

Name Description
Unit

resetStaticKb

abstract fun resetStaticKb()

ReturnValue

Name Description
Unit

loadDynamicKb

abstract fun loadDynamicKb(theory: Theory)

Parameters

Name Description
theory: Theory

ReturnValue

Name Description
Unit

loadDynamicClauses

open fun loadDynamicClauses(vararg clauses: Clause)

Parameters

Name Description
vararg clauses: Clause

ReturnValue

Name Description
Unit

loadDynamicClauses

open fun loadDynamicClauses(clauses: Iterable<Clause>)

Parameters

Name Description
clauses: Iterable<Clause>

ReturnValue

Name Description
Unit

loadDynamicClauses

open fun loadDynamicClauses(clauses: Sequence<Clause>)

Parameters

Name Description
clauses: Sequence<Clause>

ReturnValue

Name Description
Unit

appendDynamicKb

abstract fun appendDynamicKb(theory: Theory)

Parameters

Name Description
theory: Theory

ReturnValue

Name Description
Unit

resetDynamicKb

abstract fun resetDynamicKb()

ReturnValue

Name Description
Unit

assertA

abstract fun assertA(clause: Clause)

Parameters

Name Description
clause: Clause

ReturnValue

Name Description
Unit

assertA

abstract fun assertA(fact: Struct)

Parameters

Name Description
fact: Struct

ReturnValue

Name Description
Unit

assertZ

abstract fun assertZ(clause: Clause)

Parameters

Name Description
clause: Clause

ReturnValue

Name Description
Unit

assertZ

abstract fun assertZ(fact: Struct)

Parameters

Name Description
fact: Struct

ReturnValue

Name Description
Unit

retract

abstract fun retract(clause: Clause): RetractResult<Theory>

Parameters

Name Description
clause: Clause

ReturnValue

Name Description
RetractResult<Theory>

retract

abstract fun retract(fact: Struct): RetractResult<Theory>

Parameters

Name Description
fact: Struct

ReturnValue

Name Description
RetractResult<Theory>

retractAll

abstract fun retractAll(clause: Clause): RetractResult<Theory>

Parameters

Name Description
clause: Clause

ReturnValue

Name Description
RetractResult<Theory>

retractAll

abstract fun retractAll(fact: Struct): RetractResult<Theory>

Parameters

Name Description
fact: Struct

ReturnValue

Name Description
RetractResult<Theory>

setFlag

abstract fun setFlag(name: String, value: Term)

Parameters

Name Description
name: String
value: Term

ReturnValue

Name Description
Unit

setFlag

abstract fun setFlag(flag: Pair<String, Term>)

Parameters

Name Description
flag: Pair<String, Term>

ReturnValue

Name Description
Unit

setFlag

abstract fun setFlag(flag: NotableFlag)

Parameters

Name Description
flag: NotableFlag

ReturnValue

Name Description
Unit

setStandardInput

abstract fun setStandardInput(stdIn: InputChannel<String>)

Parameters

Name Description
stdIn: InputChannel<String>

ReturnValue

Name Description
Unit

setStandardError

abstract fun setStandardError(stdErr: OutputChannel<String>)

Parameters

Name Description
stdErr: OutputChannel<String>

ReturnValue

Name Description
Unit

setStandardOutput

abstract fun setStandardOutput(stdOut: OutputChannel<String>)

Parameters

Name Description
stdOut: OutputChannel<String>

ReturnValue

Name Description
Unit

setWarnings

abstract fun setWarnings(warnings: OutputChannel<Warning>)

Parameters

Name Description
warnings: OutputChannel<Warning>

ReturnValue

Name Description
Unit

copy

abstract fun copy(libraries: Libraries, flags: FlagStore, staticKb: Theory, dynamicKb: Theory, stdIn: InputChannel<String>, stdOut: OutputChannel<String>, stdErr: OutputChannel<String>, warnings: OutputChannel<Warning>): MutableSolver

Parameters

Name Description
libraries: Libraries
flags: FlagStore
staticKb: Theory
dynamicKb: Theory
stdIn: InputChannel<String>
stdOut: OutputChannel<String>
stdErr: OutputChannel<String>
warnings: OutputChannel<Warning>

ReturnValue

Name Description
MutableSolver

clone

abstract fun clone(): MutableSolver

ReturnValue

Name Description
MutableSolver

Extensions

solve

fun Solver.solve(maxDuration: TimeDuration, scopedContext: Scope.()->Struct): Sequence<Solution>

Receiver

Name Description
Solver

Parameters

Name Description
maxDuration: TimeDuration
scopedContext: Scope.()->Struct

ReturnValue

Name Description
Sequence<Solution>