+#include <argp.h>
+#include <inttypes.h>
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+
+#ifdef HAVE_PROFILER
+#include <gperftools/profiler.h>
+#endif
+
+#include <sylvan.h>
+#include <llmsset.h>
+#include <lace.h>
+
+#include "coord.h"
+#include "sokoban.h"
+
+
+BDD encode_screen(sokoban_screen *screen)
+{
+ int num_tiles;
+ num_tiles = HASH_COUNT(screen);
+ printf("Number of tiles: %d\n", num_tiles);
+ return sylvan_true;
+}
+
+BDD encode_rel(sokoban_screen *screen)
+{
+ int num_tiles;
+ num_tiles = HASH_COUNT(screen);
+ printf("Number of tiles: %d\n", num_tiles);
+ return sylvan_true;
+}
+
+void test()
+{
+
+ printf("Test!\n");
+ BDD a = sylvan_true;
+ BDD b = sylvan_not(a);
+ if (b == sylvan_false){
+ printf("BDD works!\n");
+ } else {
+ printf("BDD does not work!\n");
+ }
+ LACE_ME;
+ BDD c = sylvan_ithvar(1);
+ if (sylvan_high(c) == sylvan_true && sylvan_low(c) == sylvan_false) printf("VAR works 1\n");
+ if (sylvan_var(c) == 1) printf("Var works 2\n");
+}