#define SATORDERENCODER_H
Edge encodeOrderSATEncoder(SATEncoder *This, BooleanOrder *constraint);
-Edge getPairConstraint(SATEncoder *This, HashTableOrderPair *table, OrderPair *pair);
+Edge orderIntegerEncodingSATEncoder(SATEncoder *This, BooleanOrder *boolOrder);
+Edge inferOrderConstraintFromGraph(Order* order, uint64_t _first, uint64_t _second);
+Element* getOrderIntegerElement(SATEncoder* This,Order *order, uint64_t item);
+Edge getPairConstraint(SATEncoder *This, Order *order, OrderPair *pair);
Edge encodeTotalOrderSATEncoder(SATEncoder *This, BooleanOrder *constraint);
Edge encodePartialOrderSATEncoder(SATEncoder *This, BooleanOrder *constraint);
void createAllTotalOrderConstraintsSATEncoder(SATEncoder *This, Order *order);