forge.program
Class InstanceDomain
java.lang.Object
forge.program.ForgeDomain
forge.program.InstanceDomain
- All Implemented Interfaces:
- ForgeExpression, ForgeExpression.Leaf, ForgeExpression.Modifiable, ForgeType, ForgeType.Tuple, ForgeType.Unary, ProgramElement
public final class InstanceDomain
- extends ForgeDomain
- implements ForgeExpression.Modifiable
A class of instance (non-primitive) atoms.
- Author:
- Greg Dennis (gdennis@mit.edu)
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface forge.program.ForgeExpression |
accept, and, apply, arity, bitAnd, bitNot, bitOr, bitXor, bool, closure, compose, comprehension, difference, divide, domain, eq, forAll, forSome, gt, gte, iden, iff, implies, in, intersection, isUnary, join, lone, lt, lte, minus, modulo, neg, no, not, one, or, override, plus, product, projection, quantify, range, shiftLeft, shiftRight, size, some, sum, summation, thenElse, times, type, union, unsignedShiftRight, xor |
isVariable
public boolean isVariable()
- Description copied from interface:
ForgeExpression.Modifiable
- True if instanceof ForgeVariable, false if InstanceDomain.
- Specified by:
isVariable in interface ForgeExpression.Modifiable
isGlobal
public boolean isGlobal()
- Description copied from interface:
ForgeExpression.Modifiable
- True if instanceof InstanceDomain or GlobalVariable, false if LocalVariable.
- Specified by:
isGlobal in interface ForgeExpression.Modifiable
tupleTypes
public final java.util.Set<ForgeDomain> tupleTypes()
- Specified by:
tupleTypes in interface ForgeType- Specified by:
tupleTypes in interface ForgeType.Unary
domains
public final java.util.List<ForgeDomain> domains()
- Specified by:
domains in interface ForgeType.Tuple
isDomain
public final boolean isDomain()
- Specified by:
isDomain in interface ForgeType
domain
public final ForgeDomain domain()
- Specified by:
domain in interface ForgeExpression- Specified by:
domain in interface ForgeType- Specified by:
domain in interface ForgeType.Tuple
range
public final ForgeDomain range()
- Specified by:
range in interface ForgeExpression- Specified by:
range in interface ForgeType- Specified by:
range in interface ForgeType.Tuple
projectType
public final ForgeType.Tuple projectType(int... columns)
- Specified by:
projectType in interface ForgeType- Specified by:
projectType in interface ForgeType.Tuple
product
public ForgeType.Tuple product(ForgeType.Tuple tupleType)
- Specified by:
product in interface ForgeType.Tuple
union
public final ForgeType.Unary union(ForgeType type)
- Specified by:
union in interface ForgeType- Specified by:
union in interface ForgeType.Unary
difference
public final ForgeType.Unary difference(ForgeType type)
- Specified by:
difference in interface ForgeType- Specified by:
difference in interface ForgeType.Unary
intersection
public final ForgeType.Unary intersection(ForgeType type)
- Specified by:
intersection in interface ForgeType- Specified by:
intersection in interface ForgeType.Unary
program
public final ForgeProgram program()
- Description copied from interface:
ProgramElement
- Returns the program to which this element belongs.
- Specified by:
program in interface ProgramElement
isUnary
public final boolean isUnary()
- Description copied from interface:
ForgeExpression
- Returns true if the arity is one.
- Specified by:
isUnary in interface ForgeExpression
iden
public final ForgeExpression iden()
- Specified by:
iden in interface ForgeExpression
projection
public final ForgeExpression projection(int... columns)
- Specified by:
projection in interface ForgeExpression
closure
public final ForgeExpression closure()
- Specified by:
closure in interface ForgeExpression
no
public final ForgeExpression no()
- Specified by:
no in interface ForgeExpression
lone
public final ForgeExpression lone()
- Specified by:
lone in interface ForgeExpression
one
public final ForgeExpression one()
- Specified by:
one in interface ForgeExpression
some
public final ForgeExpression some()
- Specified by:
some in interface ForgeExpression
size
public final ForgeExpression size()
- Specified by:
size in interface ForgeExpression
bool
public final ForgeExpression bool()
- Specified by:
bool in interface ForgeExpression
not
public final ForgeExpression not()
- Specified by:
not in interface ForgeExpression
sum
public final ForgeExpression sum()
- Specified by:
sum in interface ForgeExpression
neg
public final ForgeExpression neg()
- Specified by:
neg in interface ForgeExpression
bitNot
public final ForgeExpression bitNot()
- Specified by:
bitNot in interface ForgeExpression
apply
public ForgeExpression apply(UnaryExpression.Op op)
- Specified by:
apply in interface ForgeExpression
union
public final ForgeExpression union(ForgeExpression expr)
- Specified by:
union in interface ForgeExpression
difference
public final ForgeExpression difference(ForgeExpression expr)
- Specified by:
difference in interface ForgeExpression
intersection
public final ForgeExpression intersection(ForgeExpression expr)
- Specified by:
intersection in interface ForgeExpression
join
public final ForgeExpression join(ForgeExpression expr)
- Specified by:
join in interface ForgeExpression
product
public final ForgeExpression product(ForgeExpression expr)
- Specified by:
product in interface ForgeExpression
override
public final ForgeExpression override(ForgeExpression expr)
- Specified by:
override in interface ForgeExpression
and
public final ForgeExpression and(ForgeExpression expr)
- Specified by:
and in interface ForgeExpression
or
public final ForgeExpression or(ForgeExpression expr)
- Specified by:
or in interface ForgeExpression
xor
public final ForgeExpression xor(ForgeExpression expr)
- Specified by:
xor in interface ForgeExpression
implies
public final ForgeExpression implies(ForgeExpression expr)
- Specified by:
implies in interface ForgeExpression
iff
public final ForgeExpression iff(ForgeExpression expr)
- Specified by:
iff in interface ForgeExpression
eq
public final ForgeExpression eq(ForgeExpression expr)
- Specified by:
eq in interface ForgeExpression
in
public final ForgeExpression in(ForgeExpression expr)
- Specified by:
in in interface ForgeExpression
lt
public final ForgeExpression lt(ForgeExpression expr)
- Specified by:
lt in interface ForgeExpression
gt
public final ForgeExpression gt(ForgeExpression expr)
- Specified by:
gt in interface ForgeExpression
lte
public final ForgeExpression lte(ForgeExpression expr)
- Specified by:
lte in interface ForgeExpression
gte
public final ForgeExpression gte(ForgeExpression expr)
- Specified by:
gte in interface ForgeExpression
plus
public final ForgeExpression plus(ForgeExpression expr)
- Specified by:
plus in interface ForgeExpression
minus
public final ForgeExpression minus(ForgeExpression expr)
- Specified by:
minus in interface ForgeExpression
times
public final ForgeExpression times(ForgeExpression expr)
- Specified by:
times in interface ForgeExpression
divide
public final ForgeExpression divide(ForgeExpression expr)
- Specified by:
divide in interface ForgeExpression
modulo
public final ForgeExpression modulo(ForgeExpression expr)
- Specified by:
modulo in interface ForgeExpression
bitAnd
public final ForgeExpression bitAnd(ForgeExpression expr)
- Specified by:
bitAnd in interface ForgeExpression
bitOr
public final ForgeExpression bitOr(ForgeExpression expr)
- Specified by:
bitOr in interface ForgeExpression
bitXor
public final ForgeExpression bitXor(ForgeExpression expr)
- Specified by:
bitXor in interface ForgeExpression
shiftLeft
public final ForgeExpression shiftLeft(ForgeExpression expr)
- Specified by:
shiftLeft in interface ForgeExpression
shiftRight
public final ForgeExpression shiftRight(ForgeExpression expr)
- Specified by:
shiftRight in interface ForgeExpression
unsignedShiftRight
public final ForgeExpression unsignedShiftRight(ForgeExpression expr)
- Specified by:
unsignedShiftRight in interface ForgeExpression
compose
public final ForgeExpression compose(BinaryExpression.Op op,
ForgeExpression expr)
- Specified by:
compose in interface ForgeExpression
thenElse
public final ForgeExpression thenElse(ForgeExpression thenExpr,
ForgeExpression elseExpr)
- Specified by:
thenElse in interface ForgeExpression
forAll
public final ForgeExpression forAll(LocalDecls decls)
- Specified by:
forAll in interface ForgeExpression
forSome
public final ForgeExpression forSome(LocalDecls decls)
- Specified by:
forSome in interface ForgeExpression
comprehension
public final ForgeExpression comprehension(LocalDecls decls)
- Specified by:
comprehension in interface ForgeExpression
summation
public final ForgeExpression summation(LocalDecls decls)
- Specified by:
summation in interface ForgeExpression
quantify
public final ForgeExpression quantify(QuantifyExpression.Op quant,
LocalDecls decls)
- Specified by:
quantify in interface ForgeExpression