Package kodkod.ast

Contains classes for creating Kodkod formulas, expressions, and integer expressions.

See:
          Description

Interface Summary
Node A node in the abstract syntax tree (DAG).
 

Class Summary
BinaryExpression A relational expression with two children.
BinaryFormula A formula with two children.
BinaryIntExpression A binary integer expression, e.g.
ComparisonFormula A formula that compares two expressions, e.g.
Comprehension A comprehension expression, e.g.
ConstantExpression A constant valued expression.
ConstantFormula A constant formula, true or false.
Decl A variable declaration, such as 'x : lone X'.
Decls A sequence of declarations.
Expression A relational expression.
ExprToIntCast An IntExpression representing the cardinality of an Expression or the sum of all the integer atoms contained in the expression.
Formula A first-order formula.
IfExpression An expression whose value depends on the truth of a given condition.
IfIntExpression An int expression whose value depends on the truth of a condition.
IntComparisonFormula An integer comparison formula, e.g.
IntConstant An integer constant (literal).
IntExpression A Node whose value is an integer rather than a relational expression.
IntToExprCast Represents the conversion from an int expression to an expression.
LeafExpression An expression with no children.
MultiplicityFormula A multiplicity formula, e.g.
NotFormula Negation of a formula.
ProjectExpression A general projection expression.
QuantifiedFormula A quantified formula.
Relation A relation is a leaf expression.
RelationPredicate Represents common predicates on relations; e.g.
RelationPredicate.Acyclic Represents the acyclic predicate.
RelationPredicate.Function Represents the function predicate.
RelationPredicate.TotalOrdering Represents the total ordering predicate.
SumExpression Denotes the integer obtained by summing the values of an iteger expression ie for all values of a scalar x drawn from a set e.
UnaryExpression An expression with one child.
UnaryIntExpression A unary integer expression, e.g.
Variable Represents a variable in a quantified formula, a comprehension expression, or a sum expression.
 

Enum Summary
BinaryExpression.Operator A binary expression operator: union, difference, intersection, override, join, and product.
BinaryFormula.Operator Represents a binary formula operator.
BinaryIntExpression.Operator Binary operators on integer expressions.
ComparisonFormula.Operator Represents a comparison operator; e.g.
ExprToIntCast.Operator Represents an expression 'cast' operator.
IntComparisonFormula.Operator Represents a binary comarison operator: =, < , >, <=, >=.
Multiplicity Represents the multiplicity of an expression in a MultiplicityFormula or the multiplicity of a variable in a Decl.
QuantifiedFormula.Quantifier Represents a logical quantifier.
RelationPredicate.Name The name of the predicate.
UnaryExpression.Operator Represents a unary expression operator.
UnaryIntExpression.Operator Unary operators on integer expressions.
 

Package kodkod.ast Description

Contains classes for creating Kodkod formulas, expressions, and integer expressions.

Package Specification

Contains the classes for creating a Kodkod abstract syntax tree (AST). An object such as a quantified formula or a union expression is called a node. The Node interface is the root of the Kodkod syntax hierarchy.

All classes in this package are immutable. Their instances are created by calling factory methods of the classes Relation, Variable, Expression, IntExpression, and Formula. Nodes can be freely shared between multiple parents (so a Kodkod AST is actually a directed acyclic graph).

Related Documentation

See Also:
Relation, Variable, Expression, IntExpression, Formula, Node