Package org.smtlib
Interface IExpr
- All Superinterfaces:
IAttributeValue,INode,IPos.IPosable,IResponse
- All Known Subinterfaces:
IExpr.IAsIdentifier,IExpr.IAttributedExpr,IExpr.IBinaryLiteral,IExpr.IDecimal,IExpr.IError,IExpr.IExists,IExpr.IFcnExpr,IExpr.IForall,IExpr.IHexLiteral,IExpr.IIdentifier,IExpr.IIndex,IExpr.ILambda,IExpr.ILet,IExpr.ILiteral,IExpr.IMatch,IExpr.INumeral,IExpr.IParameterizedIdentifier,IExpr.IQualifiedIdentifier,IExpr.IStringLiteral,IExpr.ISymbol
- All Known Implementing Classes:
Pos.AbstractExpr,SMTExpr,SMTExpr.AsIdentifier,SMTExpr.AttributedExpr,SMTExpr.BinaryLiteral,SMTExpr.Decimal,SMTExpr.Error,SMTExpr.Exists,SMTExpr.FcnExpr,SMTExpr.Forall,SMTExpr.HexLiteral,SMTExpr.Lambda,SMTExpr.Let,SMTExpr.Literal,SMTExpr.Match,SMTExpr.Numeral,SMTExpr.ParameterizedIdentifier,SMTExpr.StringLiteral,SMTExpr.Symbol
This interface represents the functionality for any class implementing an SMT-LIB term or formula
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceThis interface represents SMT-LIB identifiers that are sort qualifiers on function idsstatic interfaceIExpr.IAttribute<TT extends IAttributeValue>This interface represents an SMT-LIB attribute-value pair; the value may be null (keyword-only attribute).static interfaceThis interface represents an SMT-LIB expression with attributes.static interfaceThis interface represents SMT-LIB binary literalsstatic interfaceThis interface represents a binding of a parameter and an expressionstatic interfaceA constructor declaration within a datatype; pairs a constructor name with its selectors.static interfaceThis interface represents non-negative decimal numbers of arbitrary size (i.e.static interfaceThis interface represents a declaration of a parameter and its sortstatic interfaceThis interface represents an error, e.g.static interfaceThis interface represents an SMT-LIB quantified exists expressionstatic interfaceThe interface defining the factory type for producing objects of various subtypes of IExpr; the IPos argument is an optional argument giving information about the textual position of an expression.static interfaceThis interface represents SMT-LIB expressions that are a function identifier applied to one or more arguments.static interfaceThis interface represents an SMT-LIB quantified forall expressionstatic interfaceA function declaration: a name, a parameter list (sorted variables), and a result sort; used in the header list of define-funs-rec.static interfaceThis interface represents SMT-LIB hex literalsstatic interfaceThis interface represents SMT-LIB identifiers (either ids or parameterized ids)static interfaceMarker interface for the index types in a parameterized identifier: INumeral and ISymbol, plus IHexLiteral, which the Strings theory's (_ char H) uses, and IBinaryLiteral, which no theory uses but which is parsed so that a solver reports it; each theory decides which kinds it accepts.static interfaceThis interface represents SMT-LIB attribute and infoflag names.static interfaceThis interface represents an SMT-LIB lambda expression:(lambda (sorted_var+) term).static interfaceThis interface represents an SMT-LIB let-expressionstatic interfaceThis interface represents all literal (explicit constant) expressions.static interfaceThis interface represents an SMT-LIB 2.7 match expression.static interfaceThis interface represents one case in a match expression: a pattern and its body.static interfaceThis interface represents non-negative integers of arbitrary size.static interfaceThis interface represents SMT-LIB parameterized identifiersstatic interfaceThis interface represents a match pattern: either a bare symbol (variable/nullary-constructor) or a constructor applied to zero or more variable symbols.static interfaceThis interface represents the value of a:patternattribute: a list of terms (a multi-pattern), written in the concrete syntax as( t1 ... tn ).static interfaceThis interface represents SMT-LIB identifiers for function ids (either ids or parameterized ids or as-type identifiers)static interfaceA selector declaration within a constructor; pairs a selector name with its result sort.static interfacePairs a sort name with its arity; used in declare-datatype and declare-datatypes.static interfaceThis interface represents SMT-LIB string literalsstatic interfaceThis interface represents SMT-LIB ids; equal ids have equal (using .equals) values of value().Nested classes/interfaces inherited from interface org.smtlib.IResponse
IResponse.IAssertionsResponse, IResponse.IAssignmentResponse, IResponse.IAttributeList, IResponse.IPair<T1,T2>, IResponse.IProofResponse, IResponse.IUnsatAssumptionsResponse, IResponse.IUnsatCoreResponse, IResponse.IValueResponse -
Method Summary
Methods inherited from interface org.smtlib.IAttributeValue
isOKMethods inherited from interface org.smtlib.IPos.IPosable
pos, setPos
-
Method Details
-
isError
default boolean isError()Description copied from interface:IResponseReturns true if the response is an error response- Specified by:
isErrorin interfaceIAttributeValue- Specified by:
isErrorin interfaceIResponse
-
sort
ISort sort()The sort computed for this expression by the type checker, or null if not yet (or never) computed. -
setSort
Records the sort computed for this expression by the type checker.
-