copy

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.