ExtensionLibrary
Base class for a Library that decorates an extended one, contributing everything the extended library already has plus whatever additionalOperators/additionalRules/additionalPrimitives/additionalFunctions the subclass overrides. Keeps extended's Library.alias.
Parameters
the Library this one extends with additional contributions.
Throws
(lazily, on first access of primitives/functions) if an additionalPrimitives/additionalFunctions signature clashes with one already in extended or among the additional ones themselves (see Library.Companion.toMapEnsuringNoDuplicates).
Properties
LogicFunctions to be loaded by a solver when the library is used, indexed by their Signature in the eyes of the solver
Operators to be loaded by a solver when the library is used
Functions
Shorthand for this Library's declared Library.operators, as a Sequence.
Checks whether this library has a LogicFunction with provided signature
Checks whether this library has a Primitive with provided signature
Checks whether the provided signature, is protected in this library
Combines this Library and other into a two-library Runtime, via Runtime.of. Note that, unlike Runtime.plus, this does not reject a clashing Library.alias: if both share the same alias, other silently wins.