Clingo
|
This module defines a well-specified C interface that must be implemented by external theory plugins. More...
Classes | |
class | Clingo::TheoryAssignment |
Class to represent a theory assignment. More... | |
class | Clingo::Theory |
Theory class to represent a theory in Clingo. More... | |
This module defines a well-specified C interface that must be implemented by external theory plugins.
The interface is designed to allow efficient interoperation between the core solver and external theory implementations. It facilitates integration across language barriers (for example, bridging C++ and Python) and across modular boundaries within the system.
Among its responsibilities, the theory interface includes: Providing essential theory callbacks (e.g., rewriting ASTs, model handling, preparing theory data, and statistics collection). Defining the lifecycle of a theory object, including optional cleanup via a destroy callback.