forge.solve
Interface ForgeConstant

All Superinterfaces:
ProgramElement
All Known Subinterfaces:
ForgeConstant.Tuple, ForgeConstant.Unary
All Known Implementing Classes:
BooleanAtom, ForgeAtom, InstanceAtom, IntegerAtom

public interface ForgeConstant
extends ProgramElement

A Forge constant -- a relation of atoms.

Author:
Greg Dennis (gdennis@mit.edu)

Nested Class Summary
static interface ForgeConstant.Tuple
          A constant that is a tuple of atoms.
static interface ForgeConstant.Unary
          A constant that is a set of atoms.
 
Method Summary
 int arity()
          Returns the arity of this constant.
 ForgeConstant difference(ForgeConstant expr)
           
 ForgeConstant.Unary domain()
           
 ForgeConstant intersection(ForgeConstant expr)
           
 boolean isEmpty()
          Returns if the size is 0.
 boolean isTuple()
          Returns true if the size is one.
 boolean isUnary()
          Returns true if the arity is one.
 ForgeConstant join(ForgeConstant expr)
           
 ForgeConstant product(ForgeConstant expr)
           
 ForgeConstant projection(int... columns)
           
 ForgeConstant.Unary range()
           
 boolean subsetOf(ForgeConstant c)
          Returns true if this is a subset of c
 java.util.Set<? extends ForgeConstant.Tuple> tuples()
          Returns the set of tuples in this constant
 kodkod.instance.TupleSet tupleSet()
           
 ForgeType type()
          Returns the type of this constant.
 ForgeConstant union(ForgeConstant expr)
           
 
Methods inherited from interface forge.program.ProgramElement
program
 

Method Detail

arity

int arity()
Returns the arity of this constant.


type

ForgeType type()
Returns the type of this constant.


isEmpty

boolean isEmpty()
Returns if the size is 0.


isUnary

boolean isUnary()
Returns true if the arity is one.


isTuple

boolean isTuple()
Returns true if the size is one.


tuples

java.util.Set<? extends ForgeConstant.Tuple> tuples()
Returns the set of tuples in this constant


subsetOf

boolean subsetOf(ForgeConstant c)
Returns true if this is a subset of c


tupleSet

kodkod.instance.TupleSet tupleSet()

domain

ForgeConstant.Unary domain()

range

ForgeConstant.Unary range()

projection

ForgeConstant projection(int... columns)

union

ForgeConstant union(ForgeConstant expr)

difference

ForgeConstant difference(ForgeConstant expr)

intersection

ForgeConstant intersection(ForgeConstant expr)

join

ForgeConstant join(ForgeConstant expr)

product

ForgeConstant product(ForgeConstant expr)