X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=modelchecker%2Fcoord.h;h=014579fe113b3ae0b72fa74026324fd8ba1cb40f;hb=cbf15c012aa6fd764ec9ea20772b6aff6457351b;hp=092bdb41c29d4bd71884887b2e6e16e44ac12143;hpb=556ee691ae8364a29c299b37e5709e8fd3ecc3b1;p=mc1516pa.git diff --git a/modelchecker/coord.h b/modelchecker/coord.h index 092bdb4..014579f 100644 --- a/modelchecker/coord.h +++ b/modelchecker/coord.h @@ -13,12 +13,15 @@ typedef struct { variables vars; } state; -typedef enum { ROOT, L, U, R, D } path_elt; +typedef struct lurd { + char c; + struct lurd *next; +} lurd_t; typedef struct { BDD bdd; variables vars; - path_elt origin; + lurd_t *lrd; } state_t; typedef struct trans { @@ -44,6 +47,14 @@ int test_trans(state *s, trans_t *t); state *encode_goal(sokoban_screen *screen); +int check_goal(BDD s, BDD g, BDDSET vars); + +int check_visited(BDD s, BDD v, BDDSET vars); + +lurd_t *lappend(lurd_t *l, char c); + +state_t *explstate(state *init, rels *rls, state *g); + int test_relprod(); #endif