Package org.smtlib
Class SolverCapabilities
java.lang.Object
org.smtlib.SolverCapabilities
Whether a solver supports a capability, as recorded per solver name in jsmtlib.properties (#157):
org.smtlib.solver_<name>.capabilities=strings,-proofs,... -- a name records a supported
capability, a -name an unsupported one. A capability the solver's entry does not mention
(or every capability, if it has no entry) is taken from its family's entry, the family being the
name before the first -<digit> (z3-4.12.6 uses z3). A capability neither
records is SolverCapabilities.Support.UNKNOWN.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThe capabilities that can be queried;SolverCapabilities.Capability.tokenis the name used in the propertiesstatic enumThe answer to a query; UNKNOWN means the solver's entry does not record the capability -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe suffix of the property that lists a solver's capabilities -
Method Summary
Modifier and TypeMethodDescriptionstatic StringThe family name: the solver name before the first '-' followed by a digit; null if there is nonestatic SolverCapabilities.SupportAssupports(String, Capability), with the capability given by its token or enum namestatic SolverCapabilities.Supportsupports(String solvername, SolverCapabilities.Capability capability) Whether the solver supports the capability, according to the merged jsmtlib.propertiesstatic SolverCapabilities.Supportsupports(Properties props, String solvername, SolverCapabilities.Capability capability) Whether the solver supports the capability, according to the given properties
-
Field Details
-
PROPS_CAPABILITIES_SUFFIX
The suffix of the property that lists a solver's capabilities- See Also:
-
-
Method Details
-
supports
public static SolverCapabilities.Support supports(String solvername, SolverCapabilities.Capability capability) Whether the solver supports the capability, according to the merged jsmtlib.properties- Throws:
IllegalArgumentException- if the solver's entry has an unknown or contradictory token
-
supports
Assupports(String, Capability), with the capability given by its token or enum name- Throws:
IllegalArgumentException- if there is no such capability
-
supports
public static SolverCapabilities.Support supports(Properties props, String solvername, SolverCapabilities.Capability capability) Whether the solver supports the capability, according to the given properties- Throws:
IllegalArgumentException- if the solver's entry has an unknown or contradictory token
-
family
The family name: the solver name before the first '-' followed by a digit; null if there is none
-