int size;
} variables;
-typedef struct
-{
+typedef struct {
BDD bdd;
variables vars;
} state;
-typedef struct
-{
+typedef struct trans {
BDD bdd;
variables varset;
-} trans;
+ struct trans *next_rel;
+} trans_t;
+
+typedef struct {
+ trans_t *rell;
+ trans_t *relu;
+ trans_t *relr;
+ trans_t *reld;
+} rels;
typedef enum { LEFT, UP, RIGHT, DOWN } direction;
state *encode_screen(sokoban_screen *screen);
-BDD encode_rel(sokoban_screen *screen);
+rels *encode_rel(sokoban_screen *screen);
+
+int test_trans(state *s, trans_t *t);
+
+state *encode_goal(sokoban_screen *screen);
-//int test_relprod();
+int test_relprod();
#endif