enum ArithOp {ADD, SUB};
typedef enum ArithOp ArithOp;
-enum CompOp {EQUALS};
+enum CompOp {EQUALS, LT, GT, LTE, GTE};
typedef enum CompOp CompOp;
enum OrderType {PARTIAL, TOTAL};
typedef enum OrderType OrderType;
+enum HappenedBefore {FIRST, SECOND, UNORDERED};
+typedef enum HappenedBefore HappenedBefore;
+
/**
* FLAGFORCESOVERFLOW forces the operation to overflow if the boolean flag is true
* OVERFLOWSETSFLAG -- sets the flag if the operation overflows
enum PredicateType {TABLEPRED, OPERATORPRED};
typedef enum PredicateType PredicateType;
-enum ASTNodeType {ORDERCONST, BOOLEANVAR, LOGICOP, PREDICATEOP, ELEMSET, ELEMFUNCRETURN};
+enum ASTNodeType {ORDERCONST, BOOLEANVAR, LOGICOP, PREDICATEOP, BOOLCONST, ELEMSET, ELEMFUNCRETURN, ELEMCONST};
typedef enum ASTNodeType ASTNodeType;
+enum Polarity {P_UNDEFINED=0, P_TRUE=1, P_FALSE=2, P_BOTHTRUEFALSE=3};
+typedef enum Polarity Polarity;
+
+enum BooleanValue {BV_UNDEFINED=0, BV_MUSTBETRUE=1, BV_MUSTBEFALSE=2, BV_UNSAT=3};
+typedef enum BooleanValue BooleanValue;
+
#endif