struct CSolver;
typedef struct CSolver CSolver;
-
-struct Constraint;
-typedef struct Constraint Constraint;
+struct SATEncoder;
+typedef struct SATEncoder SATEncoder;
typedef struct BooleanOrder BooleanOrder;
typedef struct BooleanVar BooleanVar;
typedef struct BooleanLogic BooleanLogic;
-typedef struct BooleanComp BooleanComp;
+typedef struct BooleanPredicate BooleanPredicate;
+
+struct ASTNode;
+typedef struct ASTNode ASTNode;
struct Boolean;
typedef struct Boolean Boolean;
struct Set;
typedef struct Set Set;
-
typedef struct Set MutableSet;
+typedef struct ElementFunction ElementFunction;
+typedef struct ElementSet ElementSet;
+
struct Element;
typedef struct Element Element;
+typedef struct FunctionOperator FunctionOperator;
+typedef struct FunctionTable FunctionTable;
+
struct Function;
typedef struct Function Function;
struct Predicate;
typedef struct Predicate Predicate;
+struct PredicateTable;
+typedef struct PredicateTable PredicateTable;
+
+struct PredicateOperator;
+typedef struct PredicateOperator PredicateOperator;
+
struct Table;
typedef struct Table Table;
struct Order;
typedef struct Order Order;
+struct OrderPair;
+typedef struct OrderPair OrderPair;
+
struct ElementEncoding;
typedef struct ElementEncoding ElementEncoding;
struct FunctionEncoding;
typedef struct FunctionEncoding FunctionEncoding;
+struct OrderEncoding;
+typedef struct OrderEncoding OrderEncoding;
+
struct TableEntry;
typedef struct TableEntry TableEntry;
-
-typedef enum ArithOp ArithOp;
-typedef enum LogicOp LogicOp;
-typedef enum CompOp CompOp;
-typedef enum OrderType OrderType;
-typedef enum BooleanType BooleanType;
-typedef enum OverFlowBehavior OverFlowBehavior;
-
typedef unsigned int uint;
typedef uint64_t VarType;
#endif