small update
authorAlexander Fedotov <soyaxhoya@gmail.com>
Sun, 17 Apr 2016 07:48:05 +0000 (09:48 +0200)
committerAlexander Fedotov <soyaxhoya@gmail.com>
Sun, 17 Apr 2016 07:48:05 +0000 (09:48 +0200)
modelchecker/main.c

index 95b8458..61edfca 100644 (file)
@@ -68,6 +68,10 @@ void solve(FILE *inputstream)
        while(new != old){
                ERRPRINT("Iteration %d\n", iteration++);
                old = new;
+        //WRONG! each trans relation (LEFT,UP,RIGHT,DOWN) contains a linked list of trans relations (not just
+        //only one), so to compute a transition for a single direction, we need to iterate through a relevant linked list
+        //taking disjunction of results (for a single direction there will be falses and only one screen change among the
+        //results)
                new = sylvan_or(new, sylvan_relnext(new, rls->rell->bdd, rls->rell->varset.varset));
                new = sylvan_or(new, sylvan_relnext(new, rls->relu->bdd, rls->relu->varset.varset));
                new = sylvan_or(new, sylvan_relnext(new, rls->relr->bdd, rls->relr->varset.varset));