Package com.microsoft.z3
Class Quantifier
- java.lang.Object
-
- com.microsoft.z3.Z3Object
-
- com.microsoft.z3.AST
-
- com.microsoft.z3.Expr
-
- com.microsoft.z3.BoolExpr
-
- com.microsoft.z3.Quantifier
-
- All Implemented Interfaces:
Comparable<AST>
public class Quantifier extends BoolExpr
Quantifier expressions.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ExprgetBody()The body of the quantifier.Symbol[]getBoundVariableNames()The symbols for the bound variables.Sort[]getBoundVariableSorts()The sorts of the bound variables.Pattern[]getNoPatterns()The no-patterns.intgetNumBound()The number of bound variables.intgetNumNoPatterns()The number of no-patterns.intgetNumPatterns()The number of patterns.Pattern[]getPatterns()The patterns.intgetWeight()The weight of the quantifier.booleanisExistential()Indicates whether the quantifier is existential.booleanisUniversal()Indicates whether the quantifier is universal.static Quantifierof(Context ctx, boolean isForall, Expr[] bound, Expr body, int weight, Pattern[] patterns, Expr[] noPatterns, Symbol quantifierID, Symbol skolemID)static Quantifierof(Context ctx, boolean isForall, Sort[] sorts, Symbol[] names, Expr body, int weight, Pattern[] patterns, Expr[] noPatterns, Symbol quantifierID, Symbol skolemID)Create a quantified expression.Quantifiertranslate(Context ctx)Translates (copies) the quantifier to the Contextctx.-
Methods inherited from class com.microsoft.z3.Expr
getArgs, getBoolValue, getFuncDecl, getIndex, getNumArgs, getSort, getString, isAdd, isAlgebraicNumber, isAnd, isArithmeticNumeral, isArray, isArrayMap, isAsArray, isBool, isBV, isBVAdd, isBVAND, isBVBitOne, isBVBitZero, isBVCarry, isBVComp, isBVConcat, isBVExtract, isBVMul, isBVNAND, isBVNOR, isBVNOT, isBVNumeral, isBVOR, isBVReduceAND, isBVReduceOR, isBVRepeat, isBVRotateLeft, isBVRotateLeftExtended, isBVRotateRight, isBVRotateRightExtended, isBVSDiv, isBVSGE, isBVSGT, isBVShiftLeft, isBVShiftRightArithmetic, isBVShiftRightLogical, isBVSignExtension, isBVSLE, isBVSLT, isBVSMod, isBVSRem, isBVSub, isBVToInt, isBVUDiv, isBVUGE, isBVUGT, isBVULE, isBVULT, isBVUMinus, isBVURem, isBVXNOR, isBVXOR, isBVXOR3, isBVZeroExtension, isConcat, isConst, isConstantArray, isDefaultArray, isDistinct, isDiv, isEmptyRelation, isEq, isFalse, isFiniteDomain, isFiniteDomainLT, isGE, isGT, isIDiv, isIff, isImplies, isInt, isIntNum, isIntToBV, isIntToReal, isIsEmptyRelation, isITE, isLabel, isLabelLit, isLE, isLT, isModulus, isMul, isNot, isNumeral, isOEQ, isOr, isProofAndElimination, isProofApplyDef, isProofAsserted, isProofCommutativity, isProofDefAxiom, isProofDefIntro, isProofDER, isProofDistributivity, isProofElimUnusedVars, isProofGoal, isProofHypothesis, isProofIFFFalse, isProofIFFOEQ, isProofIFFTrue, isProofLemma, isProofModusPonens, isProofModusPonensOEQ, isProofMonotonicity, isProofNNFNeg, isProofNNFPos, isProofOrElimination, isProofPullQuant, isProofPushQuant, isProofQuantInst, isProofQuantIntro, isProofReflexivity, isProofRewrite, isProofRewriteStar, isProofSkolemize, isProofSymmetry, isProofTheoryLemma, isProofTransitivity, isProofTransitivityStar, isProofTrue, isProofUnitResolution, isRatNum, isReal, isRealIsInt, isRealToInt, isRelation, isRelationalJoin, isRelationClone, isRelationComplement, isRelationFilter, isRelationNegationFilter, isRelationProject, isRelationRename, isRelationSelect, isRelationStore, isRelationUnion, isRelationWiden, isRemainder, isSelect, isSetComplement, isSetDifference, isSetIntersect, isSetSubset, isSetUnion, isStore, isString, isSub, isTrue, isUMinus, isWellSorted, isXor, simplify, simplify, substitute, substitute, substituteVars, toString, update
-
Methods inherited from class com.microsoft.z3.AST
compareTo, equals, getASTKind, getId, getSExpr, hashCode, isApp, isExpr, isFuncDecl, isQuantifier, isSort, isVar
-
Methods inherited from class com.microsoft.z3.Z3Object
arrayLength, arrayToNative
-
-
-
-
Method Detail
-
isUniversal
public boolean isUniversal()
Indicates whether the quantifier is universal.
-
isExistential
public boolean isExistential()
Indicates whether the quantifier is existential.
-
getWeight
public int getWeight()
The weight of the quantifier.
-
getNumPatterns
public int getNumPatterns()
The number of patterns.
-
getPatterns
public Pattern[] getPatterns()
The patterns.- Throws:
Z3Exception
-
getNumNoPatterns
public int getNumNoPatterns()
The number of no-patterns.
-
getNoPatterns
public Pattern[] getNoPatterns()
The no-patterns.- Throws:
Z3Exception
-
getNumBound
public int getNumBound()
The number of bound variables.
-
getBoundVariableNames
public Symbol[] getBoundVariableNames()
The symbols for the bound variables.- Throws:
Z3Exception
-
getBoundVariableSorts
public Sort[] getBoundVariableSorts()
The sorts of the bound variables.- Throws:
Z3Exception
-
getBody
public Expr getBody()
The body of the quantifier.- Throws:
Z3Exception
-
translate
public Quantifier translate(Context ctx)
Translates (copies) the quantifier to the Contextctx.- Overrides:
translatein classExpr- Parameters:
ctx- A context- Returns:
- A copy of the quantifier which is associated with
ctx - Throws:
Z3Exception- on error
-
of
public static Quantifier of(Context ctx, boolean isForall, Sort[] sorts, Symbol[] names, Expr body, int weight, Pattern[] patterns, Expr[] noPatterns, Symbol quantifierID, Symbol skolemID)
Create a quantified expression.- Parameters:
patterns- Nullable patternsnoPatterns- Nullable noPatternsquantifierID- Nullable quantifierIDskolemID- Nullable skolemID
-
of
public static Quantifier of(Context ctx, boolean isForall, Expr[] bound, Expr body, int weight, Pattern[] patterns, Expr[] noPatterns, Symbol quantifierID, Symbol skolemID)
- Parameters:
ctx- Context to create the quantifier on.isForall- Quantifier type.bound- Bound variables.body- Body of the quantifier.weight- Weight.patterns- Nullable array of patterns.noPatterns- Nullable array of noPatterns.quantifierID- Nullable quantifier identifier.skolemID- Nullable skolem identifier.
-
-