LogicProgrammingScopeImpl

Default LogicProgrammingScope implementation: forwards VariablesProvider, Unificator, TheoryFactory and MutableSolver operations to its respective collaborator (variablesProvider, unificator, theoryFactory, defaultSolver), and requires (in its init block) that they all share the same Scope/Unificator consistently. Built by LogicProgrammingScope.of (and transitively by logicProgramming/lp/prolog) rather than instantiated directly by client code.

Throws

if scope is not the same object backing both termificator and variablesProvider, or if unificator is not the same object used by theoryFactory, solverFactory and defaultSolver.

Constructors

Link copied to clipboard
constructor(scope: Scope, termificator: Termificator, variablesProvider: VariablesProvider, unificator: Unificator, theoryFactory: TheoryFactory, solverFactory: SolverFactory)

Properties

Link copied to clipboard
open override val _: Var
Link copied to clipboard
open override val A: Var
Link copied to clipboard
Link copied to clipboard
open override val B: Var
Link copied to clipboard
open override val C: Var
Link copied to clipboard
open override val context: Substitution
Link copied to clipboard
open val cut: Atom
Link copied to clipboard
open override val D: Var
Link copied to clipboard
open override val defaultSolver: MutableSolver

The MutableSolver this scope forwards MutableSolver/it.unibo.tuprolog.solve.Solver operations (solve, staticKb, dynamicKb, assertZ, ...) to. Built once when the scope is created (see LogicProgrammingScopeImpl's secondary constructor) via SolverFactory.mutableSolverOf.

Link copied to clipboard
open override val dynamicKb: Theory
Link copied to clipboard
open override val E: Var
Link copied to clipboard
open override val emptyBlock: EmptyBlock
Link copied to clipboard
open override val emptyLogicList: EmptyList
Link copied to clipboard
open override val F: Var
Link copied to clipboard
open override val fail: Truth
Link copied to clipboard
open override val flags: FlagStore
Link copied to clipboard
open override val G: Var
Link copied to clipboard
open override val H: Var
Link copied to clipboard
open val halt: Atom
Link copied to clipboard
open override val I: Var
Link copied to clipboard
open override val inputChannels: InputStore
Link copied to clipboard
open override val J: Var
Link copied to clipboard
open override val K: Var
Link copied to clipboard
open override val L: Var
Link copied to clipboard
open override val libraries: Runtime
Link copied to clipboard
open override val M: Var
Link copied to clipboard
open override val N: Var
Link copied to clipboard
open val nl: Atom
Link copied to clipboard
open override val O: Var
Link copied to clipboard
open override val operators: OperatorSet
Link copied to clipboard
open override val outputChannels: OutputStore
Link copied to clipboard
open override val P: Var
Link copied to clipboard
open override val Q: Var
Link copied to clipboard
open override val R: Var
Link copied to clipboard
open val repeat: Atom
Link copied to clipboard
open override val S: Var
Link copied to clipboard
open override val scope: Scope
Link copied to clipboard
open override val solverFactory: SolverFactory

The SolverFactory this scope's defaultSolver was created from, and that solverOf builds further solvers from by default.

Link copied to clipboard
open override val standardError: OutputChannel<String>
Link copied to clipboard
open override val standardInput: InputChannel<String>
Link copied to clipboard
open override val standardOutput: OutputChannel<String>
Link copied to clipboard
open override val staticKb: Theory
Link copied to clipboard
open override val T: Var
Link copied to clipboard
open override val termificator: Termificator
Link copied to clipboard
open override val theoryFactory: TheoryFactory
Link copied to clipboard
open override val U: Var
Link copied to clipboard
open override val unificator: Unificator
Link copied to clipboard
open override val V: Var
Link copied to clipboard
open override val variables: Map<String, Var>
Link copied to clipboard
Link copied to clipboard
open override val W: Var
Link copied to clipboard
open override val warnings: OutputChannel<Warning>
Link copied to clipboard
open override val X: Var
Link copied to clipboard
open override val Y: Var
Link copied to clipboard
open override val Z: Var

Functions

Link copied to clipboard
open fun abolish(indicator: Any): Struct
Link copied to clipboard
open infix fun Any.and(other: Any): Struct
Link copied to clipboard
open override fun anonymous(): Var
Link copied to clipboard
open fun append(left: Any, right: Any, result: Any): Struct
Link copied to clipboard
open override fun appendDynamicKb(theory: Theory)
Link copied to clipboard
open override fun appendStaticKb(theory: Theory)
Link copied to clipboard
open fun arg(index: Any, compound: Any, argument: Any): Struct
Link copied to clipboard
open infix fun Any.arithEq(right: Any): Struct
Link copied to clipboard
open infix fun Any.arithNeq(right: Any): Struct
Link copied to clipboard
open fun assert(clause: Any): Struct
Link copied to clipboard
open override fun assertA(clause: Clause)
open override fun assertA(fact: Struct)
Link copied to clipboard
open fun asserta(clause: Any): Struct
Link copied to clipboard
open override fun assertZ(clause: Clause)
open override fun assertZ(fact: Struct)
Link copied to clipboard
open fun assertz(clause: Any): Struct
Link copied to clipboard
open fun at_end_of_stream(alias: Any): Struct
Link copied to clipboard
open fun atom(atom: Any): Struct
Link copied to clipboard
open fun atom_chars(atom: Any, chars: Any): Struct
Link copied to clipboard
open fun atom_codes(atom: Any, codes: Any): Struct
Link copied to clipboard
open fun atom_concat(first: Any, second: Any, result: Any): Struct
Link copied to clipboard
open fun atom_length(atom: Any, length: Any): Struct
Link copied to clipboard
open fun atomic(atomic: Any): Struct
Link copied to clipboard
open override fun atomOf(value: Char): Atom
open override fun atomOf(value: String): Atom
Link copied to clipboard
open fun bagof(template: Any, goal: Any, bag: Any): Struct
Link copied to clipboard
open fun between(min: Any, max: Any, number: Any): Struct
Link copied to clipboard
open override fun blockOf(terms: Iterable<Term>): Block
open override fun blockOf(terms: Sequence<Term>): Block
open override fun blockOf(vararg terms: Term): Block
open fun blockOf(vararg terms: Any): Block
Link copied to clipboard
open fun call(goal: Any): Struct
Link copied to clipboard
open fun callable(goal: Any): Struct
Link copied to clipboard
open fun catch(goal: Any, error: Any, continuation: Any): Struct
Link copied to clipboard
open fun char_code(char: Any, code: Any): Struct
Link copied to clipboard
open fun clause(head: Any, body: Any): Struct
open fun clause(function: LogicProgrammingScope.() -> Any): Clause
Link copied to clipboard
open override fun clauseOf(head: Struct?, vararg body: Term): Clause
Link copied to clipboard
open override fun clone(): MutableSolver
Link copied to clipboard
open fun compound(struct: Any): Struct
Link copied to clipboard
open override fun consOf(head: Term, tail: Term): Cons
open fun consOf(head: Any, tail: Any): Cons
Link copied to clipboard
open fun consult(url: Any): Struct
Link copied to clipboard
open operator override fun contains(variable: Var): Boolean
open operator override fun contains(variable: String): Boolean
open operator fun Substitution.contains(term: Any): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun copy(scope: Scope): LogicProgrammingScope

Returns a copy of this scope backed by scope instead, keeping unificator, theoryFactory and solverFactory as-is.

open override fun copy(unificator: Unificator): LogicProgrammingScope

Returns a copy of this scope using unificator instead of the current one, propagating it to theoryFactory and solverFactory (rebuilding solverFactory only if its own default Unificator differs from unificator) — note this rebuilds defaultSolver too, so any static/dynamic KB or configuration already loaded into it is lost.

open override fun copy(unificator: Unificator, libraries: Runtime, flags: FlagStore, staticKb: Theory, dynamicKb: Theory, stdIn: InputChannel<String>, stdOut: OutputChannel<String>, stdErr: OutputChannel<String>, warnings: OutputChannel<Warning>): MutableSolver
Link copied to clipboard
open fun copy_term(term: Any, copy: Any): Struct
Link copied to clipboard
open fun current_flag(name: Any, value: Any): Struct
Link copied to clipboard
open fun current_op(precedence: Any, specifier: Any, functor: Any): Struct
Link copied to clipboard
open fun current_prolog_flag(name: Any, value: Any): Struct
Link copied to clipboard
open fun directive(function: LogicProgrammingScope.() -> Any): Directive
Link copied to clipboard
open override fun directiveOf(body1: Term, vararg body: Term): Directive
open fun directiveOf(term: Any, vararg terms: Any): Directive
Link copied to clipboard
open operator fun Term.div(other: Any): Indicator
open operator fun Boolean.div(other: Any): Struct
open operator fun Char.div(other: Any): Struct
open operator fun Number.div(other: Any): Struct
open operator fun String.div(other: Any): Struct
Link copied to clipboard
open fun dynamic(indicator: Any): Struct
Link copied to clipboard
open fun dynamicKb(theory: Theory)

Replaces defaultSolver's dynamic knowledge base with theory; see MutableSolver.loadDynamicKb.

open fun dynamicKb(clauses: Iterable<Clause>)
open fun dynamicKb(clauses: Sequence<Clause>)
open fun dynamicKb(vararg clauses: Clause)

Replaces defaultSolver's dynamic knowledge base with a Theory indexing clauses; see MutableSolver.loadDynamicClauses.

Link copied to clipboard
open override fun emptyMutableTheory(): MutableTheory
open override fun emptyMutableTheory(unificator: Unificator): MutableTheory
Link copied to clipboard
open override fun emptyTheory(): Theory
open override fun emptyTheory(unificator: Unificator): Theory
Link copied to clipboard
open infix fun Any.eq(right: Any): Struct
Link copied to clipboard
open infix fun Any.equalsTo(other: Any): Struct
Link copied to clipboard
open fun fact(function: LogicProgrammingScope.() -> Any): Fact
Link copied to clipboard
open override fun factOf(head: Struct): Fact
open fun factOf(term: Any): Fact
Link copied to clipboard
open fun findall(template: Any, goal: Any, bag: Any): Struct
Link copied to clipboard
open fun float(number: Any): Struct
Link copied to clipboard
open fun functor(struct: Any, functor: Any, arity: Any): Struct
Link copied to clipboard
open operator override fun get(variable: String): Var?
open operator fun Substitution.get(term: Any): Term?
Link copied to clipboard
open operator override fun getValue(thisRef: Any?, property: KProperty<*>): Var
Link copied to clipboard
open infix fun Any.greaterThan(other: Any): Struct
Link copied to clipboard
open infix fun Any.greaterThanOrEqualsTo(other: Any): Struct
Link copied to clipboard
open fun ground(term: Any): Struct
Link copied to clipboard
open infix fun Any.id(right: Any): Struct
Link copied to clipboard
open infix fun Any.if(other: Any): Rule
open fun Any.if(vararg other: Any): Rule
Link copied to clipboard
open infix fun Any.impliedBy(other: Any): Rule
open fun Any.impliedBy(vararg other: Any): Rule
Link copied to clipboard
open fun include(url: Any): Struct
Link copied to clipboard
open override fun indicatorOf(name: Term, arity: Term): Indicator
open override fun indicatorOf(name: String, arity: Int): Indicator
Link copied to clipboard
open fun initialization(goal: Any): Struct
Link copied to clipboard
open infix fun Any.intDiv(other: Any): Struct
Link copied to clipboard
open fun integer(number: Any): Struct
Link copied to clipboard
open override fun intOf(value: Byte): Integer
open override fun intOf(value: Int): Integer
open override fun intOf(value: Long): Integer
open override fun intOf(value: Short): Integer
open override fun intOf(value: String): Integer
open override fun intOf(value: BigInteger): Integer
open override fun intOf(value: String, radix: Int): Integer
Link copied to clipboard
open operator fun String.invoke(term: Any, vararg terms: Any): Struct
Link copied to clipboard
open infix fun Any.is(other: Any): Struct
Link copied to clipboard
open fun load(url: Any): Struct
Link copied to clipboard
open override fun loadDynamicClauses(clauses: Iterable<Clause>)
open override fun loadDynamicClauses(clauses: Sequence<Clause>)
open override fun loadDynamicClauses(vararg clauses: Clause)
Link copied to clipboard
open override fun loadDynamicKb(theory: Theory)
Link copied to clipboard
open override fun loadLibrary(library: Library)
Link copied to clipboard
open override fun loadStaticClauses(clauses: Iterable<Clause>)
open override fun loadStaticClauses(clauses: Sequence<Clause>)
open override fun loadStaticClauses(vararg clauses: Clause)
Link copied to clipboard
open override fun loadStaticKb(theory: Theory)
Link copied to clipboard
open fun logicList(vararg items: Any, tail: Any?): List
Link copied to clipboard
open override fun logicListFrom(terms: Iterable<Term>, last: Term?): List
open override fun logicListFrom(terms: Sequence<Term>, last: Term?): List
open override fun logicListFrom(vararg terms: Term, last: Term?): List
Link copied to clipboard
open override fun logicListOf(terms: Iterable<Term>): List
open override fun logicListOf(terms: Sequence<Term>): List
open override fun logicListOf(vararg terms: Term): List
open fun logicListOf(vararg terms: Any): List
Link copied to clipboard
open infix fun Any.lowerThan(other: Any): Struct
Link copied to clipboard
open infix fun Any.lowerThanOrEqualsTo(other: Any): Struct
Link copied to clipboard
open fun match(term1: Any, term2: Any, occurCheckEnabled: Boolean): Boolean
open override fun match(term1: Term, term2: Term): Boolean
open override fun match(term1: Term, term2: Term, occurCheckEnabled: Boolean): Boolean
Link copied to clipboard
open infix fun Any.matches(other: Any): Boolean
Link copied to clipboard
open fun member(item: Any, list: Any): Struct
Link copied to clipboard
open override fun merge(substitution1: Substitution, substitution2: Substitution): Substitution
open override fun merge(substitution1: Substitution, substitution2: Substitution, occurCheckEnabled: Boolean): Substitution
Link copied to clipboard
open fun mgu(term1: Any, term2: Any, occurCheckEnabled: Boolean): Substitution
open override fun mgu(term1: Term, term2: Term): Substitution
open override fun mgu(term1: Term, term2: Term, occurCheckEnabled: Boolean): Substitution
Link copied to clipboard
open infix fun Any.mguWith(other: Any): Substitution
Link copied to clipboard
open operator fun Term.minus(other: Any): Struct
open operator fun Boolean.minus(other: Any): Struct
open operator fun Char.minus(other: Any): Struct
open operator fun Number.minus(other: Any): Struct
open operator fun String.minus(other: Any): Struct
Link copied to clipboard
open fun mutableTheory(vararg clauseFunctions: LogicProgrammingScope.() -> Any): MutableTheory
Link copied to clipboard
open fun mutableTheoryOf(clauses: Iterable<Clause>, vararg otherClauses: Iterable<Clause>): MutableTheory
open fun mutableTheoryOf(clauses: Sequence<Clause>, vararg otherClauses: Sequence<Clause>): MutableTheory
open override fun mutableTheoryOf(clauses: Iterable<Clause>): MutableTheory
open override fun mutableTheoryOf(clauses: Sequence<Clause>): MutableTheory
open override fun mutableTheoryOf(vararg clauses: Clause): MutableTheory
open override fun mutableTheoryOf(unificator: Unificator, vararg clauses: Clause): MutableTheory
open override fun mutableTheoryOf(clauses: Iterable<Clause>, unificator: Unificator): MutableTheory
open override fun mutableTheoryOf(clauses: Sequence<Clause>, unificator: Unificator): MutableTheory
Link copied to clipboard
open fun naf(goal: Any): Struct
Link copied to clipboard
open fun natural(number: Any): Struct
Link copied to clipboard
open infix fun Any.neq(right: Any): Struct
Link copied to clipboard
open override fun newScope(): LogicProgrammingScope

Returns a fresh scope sharing this one's unificator, theoryFactory and solverFactory but a brand-new, empty Scope.

Link copied to clipboard
open infix fun Any.nid(right: Any): Struct
Link copied to clipboard
open infix fun Any.nonGreaterThan(other: Any): Struct
Link copied to clipboard
open infix fun Any.nonLowerThan(other: Any): Struct
Link copied to clipboard
open fun nonvar(number: Any): Struct
Link copied to clipboard
open fun not(goal: Any): Struct
Link copied to clipboard
open infix fun Any.notEqualsTo(other: Any): Struct
Link copied to clipboard
open fun number(number: Any): Struct
Link copied to clipboard
open fun number_chars(first: Any, second: Any): Struct
Link copied to clipboard
open fun number_codes(first: Any, second: Any): Struct
Link copied to clipboard
open override fun numOf(value: Byte): Integer
open override fun numOf(value: Double): Real
open override fun numOf(value: Float): Real
open override fun numOf(value: Int): Integer
open override fun numOf(value: Long): Integer
open override fun numOf(value: Number): Numeric
open override fun numOf(value: Short): Integer
open override fun numOf(value: String): Numeric
open override fun numOf(value: BigDecimal): Real
open override fun numOf(value: BigInteger): Integer
Link copied to clipboard
open fun op(precedence: Any, specifier: Any, functor: Any): Struct
Link copied to clipboard
open infix fun Any.or(other: Any): Struct
Link copied to clipboard
open operator fun Term.plus(other: Any): Struct
open operator fun Boolean.plus(other: Any): Struct
open operator fun Char.plus(other: Any): Struct
open operator fun Number.plus(other: Any): Struct
Link copied to clipboard
open infix fun Any.pow(other: Any): Struct
Link copied to clipboard
open override fun realOf(value: Double): Real
open override fun realOf(value: Float): Real
open override fun realOf(value: String): Real
open override fun realOf(value: BigDecimal): Real
Link copied to clipboard
open infix operator fun Term.rem(other: Any): Struct
open infix operator fun Boolean.rem(other: Any): Struct
open infix operator fun Char.rem(other: Any): Struct
open infix operator fun Number.rem(other: Any): Struct
open infix operator fun String.rem(other: Any): Struct
Link copied to clipboard
open override fun resetDynamicKb()
Link copied to clipboard
open override fun resetStaticKb()
Link copied to clipboard
open fun retract(clause: Any): Struct
open override fun retract(clause: Clause): RetractResult<Theory>
open override fun retract(fact: Struct): RetractResult<Theory>
Link copied to clipboard
open override fun retractAll(clause: Clause): RetractResult<Theory>
open override fun retractAll(fact: Struct): RetractResult<Theory>
Link copied to clipboard
open fun retractall(clause: Any): Struct
Link copied to clipboard
open fun rule(function: LogicProgrammingScope.() -> Any): Rule
Link copied to clipboard
open override fun ruleOf(head: Struct, body1: Term, vararg body: Term): Rule
Link copied to clipboard
open fun <R> scope(function: LogicProgrammingScope.() -> R): R
Link copied to clipboard
open fun set_flag(name: Any, value: Any): Struct
Link copied to clipboard
open fun set_prolog_flag(name: Any, value: Any): Struct
Link copied to clipboard
open override fun setFlag(flag: NotableFlag)
open override fun setFlag(flag: Pair<String, Term>)
open override fun setFlag(name: String, value: Term)
Link copied to clipboard
open fun setof(template: Any, goal: Any, bag: Any): Struct
Link copied to clipboard
open override fun setRuntime(libraries: Runtime)
Link copied to clipboard
open override fun setStandardError(stdErr: OutputChannel<String>)
Link copied to clipboard
open override fun setStandardInput(stdIn: InputChannel<String>)
Link copied to clipboard
open override fun setStandardOutput(stdOut: OutputChannel<String>)
Link copied to clipboard
open override fun setWarnings(warnings: OutputChannel<Warning>)
Link copied to clipboard
open fun solve(goal: Any): Struct
open override fun solve(goal: Struct): Sequence<Solution>
open override fun solve(goal: Struct, options: SolveOptions): Sequence<Solution>
open override fun solve(goal: Struct, timeout: TimeDuration): Sequence<Solution>
Link copied to clipboard
open override fun solveList(goal: Struct): List<Solution>
open override fun solveList(goal: Struct, options: SolveOptions): List<Solution>
open override fun solveList(goal: Struct, timeout: TimeDuration): List<Solution>
Link copied to clipboard
open override fun solveOnce(goal: Struct): Solution
open override fun solveOnce(goal: Struct, options: SolveOptions): Solution
open override fun solveOnce(goal: Struct, timeout: TimeDuration): Solution
Link copied to clipboard
open fun solverOf(unificator: Unificator = this.unificator, otherLibraries: Runtime = solverFactory.defaultRuntime, flags: FlagStore = solverFactory.defaultFlags, staticKb: Theory = solverFactory.defaultStaticKb, dynamicKb: Theory = solverFactory.defaultDynamicKb, stdIn: InputChannel<String> = solverFactory.defaultInputChannel, stdOut: OutputChannel<String> = solverFactory.defaultOutputChannel, stdErr: OutputChannel<String> = solverFactory.defaultErrorChannel, warnings: OutputChannel<Warning> = solverFactory.defaultWarningsChannel): MutableSolver

Builds a brand-new MutableSolver from solverFactory (defaulting every argument to solverFactory's default* values, except unificator which defaults to this scope's own), including solverFactory's standard-library builtins — see SolverFactory.mutableSolverWithDefaultBuiltins. Unlike defaultSolver, this returns an independent solver each time it's called, not the one backing this scope's solve/staticKb calls.

Link copied to clipboard
open fun static(indicator: Any): Struct
Link copied to clipboard
open fun staticKb(theory: Theory)

Replaces defaultSolver's static knowledge base with theory; see MutableSolver.loadStaticKb.

open fun staticKb(clauses: Iterable<Clause>)
open fun staticKb(clauses: Sequence<Clause>)
open fun staticKb(vararg clauses: Clause)

Replaces defaultSolver's static knowledge base with a Theory indexing clauses; see MutableSolver.loadStaticClauses.

Link copied to clipboard
open override fun structOf(functor: String, args: Iterable<Term>): Struct
open override fun structOf(functor: String, args: List<Term>): Struct
open override fun structOf(functor: String, args: Sequence<Term>): Struct
open override fun structOf(functor: String, vararg args: Term): Struct
open fun structOf(functor: String, vararg args: Any): Struct
Link copied to clipboard
open fun sub_atom(atom: Any, before: Any, length: Any, after: Any, sub_atom: Any): Struct
Link copied to clipboard
open override fun substitutionOf(assignments: Iterable<Pair<Var, Term>>): Substitution
open override fun substitutionOf(assignments: Sequence<Pair<Var, Term>>): Substitution
open override fun substitutionOf(vararg assignments: Pair<String, Term>): Substitution
Link copied to clipboard
open infix fun Any.sup(other: Any): Struct
Link copied to clipboard
open infix fun Any.then(other: Any): Struct
Link copied to clipboard
open fun theory(vararg clauseFunctions: LogicProgrammingScope.() -> Any): Theory
Link copied to clipboard
open fun theoryOf(clauses: Iterable<Clause>, vararg otherClauses: Iterable<Clause>): Theory
open fun theoryOf(clauses: Sequence<Clause>, vararg otherClauses: Sequence<Clause>): Theory
open override fun theoryOf(clauses: Iterable<Clause>): Theory
open override fun theoryOf(clauses: Sequence<Clause>): Theory
open override fun theoryOf(vararg clauses: Clause): Theory
open override fun theoryOf(unificator: Unificator, vararg clauses: Clause): Theory
open override fun theoryOf(clauses: Iterable<Clause>, unificator: Unificator): Theory
open override fun theoryOf(clauses: Sequence<Clause>, unificator: Unificator): Theory
Link copied to clipboard
open fun throw(error: Any): Struct
Link copied to clipboard
open operator fun Term.times(other: Any): Struct
open operator fun Boolean.times(other: Any): Struct
open operator fun Char.times(other: Any): Struct
open operator fun Number.times(other: Any): Struct
open operator fun String.times(other: Any): Struct
Link copied to clipboard
open infix fun Var.to(termObject: Any): Substitution.Unifier
open infix fun String.to(termObject: Any): Substitution.Unifier
Link copied to clipboard
open fun Any.toClause(): Clause
Link copied to clipboard
open fun <T : Term> Any.toSpecificSubTypeOfTerm(type: KClass<T>, converter: (Struct) -> T): T
Link copied to clipboard
open fun Any.toTerm(): Term
Link copied to clipboard
open override fun truthOf(value: Boolean): Truth
Link copied to clipboard
open override fun tupleOf(terms: Iterable<Term>): Tuple
open override fun tupleOf(terms: Sequence<Term>): Tuple
open override fun tupleOf(vararg terms: Term): Tuple
open fun tupleOf(vararg terms: Any): Tuple
Link copied to clipboard
open override fun unifierOf(assignments: Iterable<Pair<Var, Term>>): Substitution.Unifier
open override fun unifierOf(assignments: Sequence<Pair<Var, Term>>): Substitution.Unifier
open override fun unifierOf(vararg assignments: Pair<String, Term>): Substitution.Unifier
Link copied to clipboard
open fun unify(term1: Any, term2: Any, occurCheckEnabled: Boolean): Term?
open override fun unify(term1: Term, term2: Term): Term?
open override fun unify(term1: Term, term2: Term, occurCheckEnabled: Boolean): Term?
Link copied to clipboard
open infix fun Any.unifyWith(other: Any): Term?
Link copied to clipboard
open infix fun Any.univ(other: Any): Struct
Link copied to clipboard
open override fun unloadLibrary(library: Library)
Link copied to clipboard
open fun var(term: Any): Struct
Link copied to clipboard
open override fun varOf(name: Char): Var
open override fun varOf(name: String): Var
Link copied to clipboard
open override fun whatever(): Var
Link copied to clipboard
open override fun where(lambda: Scope.() -> Unit): Scope
Link copied to clipboard
open override fun <R> with(lambda: Scope.() -> R): R
Link copied to clipboard
open fun write(term: Any): Struct