X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=modelchecker%2Fcoord.h;h=e28904585350ef05d9b6d28bc40d3d94c0b85afd;hb=b3851097adbafa74d01e05b25ba550a814a5767d;hp=2ec291814baabbef16b2319d45be6f14597ca997;hpb=0a8ebd63de0624a2fc002a78e092694893016d41;p=mc1516pa.git diff --git a/modelchecker/coord.h b/modelchecker/coord.h index 2ec2918..e289045 100644 --- a/modelchecker/coord.h +++ b/modelchecker/coord.h @@ -3,10 +3,39 @@ #include "sokoban.h" -BDD encode_screen(sokoban_screen *screen); +typedef struct { + BDDSET varset; + int size; +} variables; -BDD encode_rel(sokoban_screen *screen); +typedef struct { + BDD bdd; + variables vars; +} state; -//int test_relprod(); +typedef struct trans { + BDD bdd; + variables varset; + 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); + +rels *encode_rel(sokoban_screen *screen); + +int test_trans(state *s, trans_t *t); + +state *encode_goal(sokoban_screen *screen); + +int test_relprod(); #endif