SymbolManager
This class manages a symbol table and other meta-information pertaining to SMT-LIB v2 inputs (e.g., named assertions, declared functions, etc.).
-
class SymbolManager
Symbol manager. Internally, this class manages a symbol table and other meta-information pertaining to SMT2 file inputs (e.g. named assertions, declared functions, etc.).
A symbol manager can be modified by invoking commands, see Command::invoke.
A symbol manager can be provided when constructing an InputParser, in which case that InputParser has symbols of this symbol manager preloaded.
The symbol manager’s interface is otherwise not publicly available.
Public Functions
-
SymbolManager(cvc5::TermManager &tm)
Constructor.
- Parameters:
tm – The associated term manager instance.
-
SymbolManager(cvc5::Solver *slv)
Constructor.
Warning
This constructor is deprecated and replaced by
SymbolManager::SymbolManager(TermManager&)
. It will be removed in a future release.- Parameters:
slv – The solver instance.
-
~SymbolManager()
Destructor.
-
bool isLogicSet() const
Determine if the logic of this symbol manager has been set.
- Returns:
True if the logic has been set.
-
const std::string &getLogic() const
Get the logic configured for this symbol manager.
Note
Asserts isLogicSet().
- Returns:
The configured logic.
-
std::vector<Sort> getDeclaredSorts() const
Get the list of sorts that have been declared via
declare-sort
commands. These are the sorts that are printed as part of a response to aget-model
command.- Returns:
The declared sorts.
Friends
- friend class internal::InteractiveShell
- friend class main::CommandExecutor
-
SymbolManager(cvc5::TermManager &tm)