Hi there,
Thanks so much for the great tool! I am having trouble understanding the disjunction on state transitions. For example, I have the following small spec:
ASSUME { G (p1); }
GUARANTEE { G ((x) && (! (y)) || ((y) && (! (x)))); G (F x); G (F y); }
From this, ltlsynt gives me:
AP: 3 "x" "y" "p1" acc-name: all Acceptance: 0 t properties: trans-labels explicit-labels state-acc deterministic --BODY-- State: 0 [!0&!1&!2 | 0&1&!2] 1 [!0&1&2] 1 State: 1 [!0&!1&!2 | 0&1&!2] 1 [0&!1&2] 0 --END--
Should I understand the "[!0&!1&!2 | 0&1&!2] 1" to mean that when !2 is true, the system is free to choose from !0&!1 or 0&1?
On a related note, due to the ASSUME in the spec, !2 should never be true anyway. Is there a way to filter this out of the model? For context, I am really looking to get a Mealy Machine out of ltlsynt which I can then convert into program code that would run in an infinite loop. Maybe I am just going about this the wrong way?
Mark