Package org.smtlib
Interface IExpr.IFactory
- All Known Implementing Classes:
Factory
- Enclosing interface:
IExpr
public static interface IExpr.IFactory
The 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.
-
Method Summary
Modifier and TypeMethodDescriptionCreates an attribute with just a keyword and no attribute value.<T extends IAttributeValue>
IExpr.IAttribute<T> attribute(IExpr.IKeyword k, T value) Creates an attribute with a keyword and a value.attributedExpr(IExpr e, List<IExpr.IAttribute<?>> attributes) Creates an attributed expression (an expression with a positive number of attributes).<T extends IAttributeValue>
IExpr.IAttributedExprattributedExpr(IExpr e, IExpr.IKeyword key, T value) Creates an attributed expression with just one attribute.Creates an IBinaryLiteral from a string of 0 and 1 digits.binding(IExpr.ISymbol symbol, IExpr expr) Creates a binding for a Let expression.constructor(IExpr.ISymbol symbol, List<IExpr.ISelector> selectors) Creates a constructor declaration.datatype(List<IExpr.IConstructor> constructors, List<IExpr.ISymbol> symbols) Creates a datatype declaration; symbols is non-null only for parametric (par) forms.Creates an IDecimal object; the argument must be a string of digits with just one decimal point.declaration(IExpr.ISymbol symbol, ISort sort) Creates a parameter declaration.Creates an error expression.exists(List<IExpr.IDeclaration> params, IExpr e) Creates an Exists expression.Creates an Exists expression with trigger patterns: each element of patterns is a separate single-term pattern, emitted as:pattern (p).fcn(IExpr.IQualifiedIdentifier id, List<IExpr> args) Creates a function expression (perhaps with an empty argument list).fcn(IExpr.IQualifiedIdentifier id, IExpr... args) Creates a function expression (perhaps with an empty argument list).forall(List<IExpr.IDeclaration> params, IExpr e) Creates a Forall expression.Creates a Forall expression with trigger patterns: each element of patterns is a separate single-term pattern, emitted as:pattern (p).functionDeclaration(IExpr.ISymbol symbol, List<IExpr.IDeclaration> parameters, ISort sort) Creates a function declaration (used in define-funs-rec).Creates an IHexLiteral object from a string of hex digits (either case).id(IExpr.IIdentifier identifier, ISort qualifier) Creates an 'as' identifier from an identifier and a sort qualifier.id(IExpr.ISymbol symbol, List<IExpr.IIndex> indices) Creates a parameterized identifier from a symbol and a non-empty list of indices (each INumeral or ISymbol).Creates an IKeyword object from a canonical string representation.lambda(List<IExpr.IDeclaration> params, IExpr e) Creates a Lambda expression (SMT-LIB 2.7ff, HO-Core theory).let(List<IExpr.IBinding> bindings, IExpr e) Creates a Let expression.match(IExpr expr, List<IExpr.IMatchCase> cases) Creates a match expression.matchCase(IExpr.IPattern pattern, IExpr body) Creates a single match case.numeral(long v) Creates an INumeral object; the argument must be non-negative.Creates an INumeral object; the argument must be a string of digits.pattern(IExpr.ISymbol constructor, List<IExpr.ISymbol> params) Creates a match pattern.patternTerms(List<IExpr> terms) Creates the value of a:patternattribute: the given terms as one (multi-)pattern.Creates an IStringLiteral from a string that is SMT-LIB escaped with enclosing quotes.selector(IExpr.ISymbol symbol, ISort sort) Creates a selector declaration.sortDeclaration(IExpr.ISymbol symbol, IExpr.INumeral arity) Creates a sort declaration (symbol + arity) for use in declare-datatype(s).Creates an ISymbol object from a canonical String representation of the symbol.Creates an IStringLiteral from a pure character string with no SMT-LIB escapes or enclosing quotes.
-
Method Details
-
numeral
Creates an INumeral object; the argument must be a string of digits. -
numeral
Creates an INumeral object; the argument must be non-negative. -
decimal
Creates an IDecimal object; the argument must be a string of digits with just one decimal point. -
unquotedString
Creates an IStringLiteral from a pure character string with no SMT-LIB escapes or enclosing quotes. -
quotedString
Creates an IStringLiteral from a string that is SMT-LIB escaped with enclosing quotes. -
keyword
Creates an IKeyword object from a canonical string representation. -
binary
Creates an IBinaryLiteral from a string of 0 and 1 digits. -
hex
Creates an IHexLiteral object from a string of hex digits (either case). -
symbol
Creates an ISymbol object from a canonical String representation of the symbol. -
attribute
Creates an attribute with just a keyword and no attribute value. -
attribute
Creates an attribute with a keyword and a value. -
attributedExpr
Creates an attributed expression (an expression with a positive number of attributes). -
attributedExpr
<T extends IAttributeValue> IExpr.IAttributedExpr attributedExpr(IExpr e, IExpr.IKeyword key, T value) Creates an attributed expression with just one attribute. -
patternTerms
Creates the value of a:patternattribute: the given terms as one (multi-)pattern. -
fcn
Creates a function expression (perhaps with an empty argument list). -
fcn
Creates a function expression (perhaps with an empty argument list). -
id
Creates a parameterized identifier from a symbol and a non-empty list of indices (each INumeral or ISymbol). -
id
Creates an 'as' identifier from an identifier and a sort qualifier. -
let
Creates a Let expression. -
binding
Creates a binding for a Let expression. -
declaration
Creates a parameter declaration. -
forall
Creates a Forall expression. -
forall
Creates a Forall expression with trigger patterns: each element of patterns is a separate single-term pattern, emitted as:pattern (p). -
exists
Creates an Exists expression. -
exists
Creates an Exists expression with trigger patterns: each element of patterns is a separate single-term pattern, emitted as:pattern (p). -
lambda
Creates a Lambda expression (SMT-LIB 2.7ff, HO-Core theory). -
error
Creates an error expression. -
sortDeclaration
Creates a sort declaration (symbol + arity) for use in declare-datatype(s). -
selector
Creates a selector declaration. -
constructor
Creates a constructor declaration. -
datatype
Creates a datatype declaration; symbols is non-null only for parametric (par) forms. -
functionDeclaration
IExpr.IFunctionDeclaration functionDeclaration(IExpr.ISymbol symbol, List<IExpr.IDeclaration> parameters, ISort sort) Creates a function declaration (used in define-funs-rec). -
pattern
Creates a match pattern. -
matchCase
Creates a single match case. -
match
Creates a match expression.
-