Commit graph

16 commits

Author SHA1 Message Date
Alexandre Lewkowicz
b59b31f806 safra: Give more explicit names to types
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
18396e5973 safra: SSC based construction
* src/tests/safra.test: Update it.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Acceptance is now MIN
ODD.  We only track runs within an SCC and only consider accepting SCC.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
0cf83d7cbc safra: Update pretty printer function
* src/twaalgos/safra.cc: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
3bd95c32e7 safra: Remove paths when leaving an SCC
* src/tests/safra.cc:  Add option.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh:  When a node leaves an
SCC, all the subpaths of that node are removed.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
e8c428d0a3 safra: Edges to accepting SCC are accepting
*  src/twaalgos/safra.cc, src/twaalgos/safra.hh: Implement optimisation.
Update function calls with new API.
* src/tests/safra.cc, src/tests/safra.test: Use new API.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
f29de22b8a safra: Add bisimulation option
* src/tests/safra.cc, src/twaalgos/safra.cc,
src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
64b27a9a26 safra: Add pretty printer for states
* src/tests/safra.cc, src/tests/safra.test: Add options and test.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
64cdd1adc7 safra: Fix the nesting comparision function
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
ebe03cf3d0 safra: Fix nesting comparision
* src/tests/safra.cc:  Output error message for wrong ltl formula.
* src/twaalgos/safra.cc:  Default comparision of vector does not
correspond to the desired comparision.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
8362bf3a5f safra: Ensure parity min even acceptance
* src/tests/safra.cc, src/tests/safra.test:  Use HOA format in tests.
* src/twaalgos/safra.cc:  Make sure the number of sets are always odd so
that cycles without any acceptance set are rejected.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
d0d42f86f9 safra: Use sub-transitions during determinization
* src/tests/safra.cc, src/tests/safra.test:  Update results.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: The use of transitions
resulted in non deterministic automata.  By using sub-transitions the
problem is solved.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
8b1f9d3712 safra: Ensure automata is degeneralized
* src/tests/safra.cc, src/tests/safra.test:  Update it.
* src/twaalgos/safra.cc: Here;
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
20fc8b0269 safra: Use std::map to represent macrostates
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
ef3143f048 safra: Output parity acceptance sets
* src/twaalgos/safra.cc, src/twaalgos/safra.hh:  Note that the created
automaton is not a true parity automaton as they are not handled yet
by Spot.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
f2fa92004c safra: handle single accepting set
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
496083b14a safra: implement powerset construction
* spot/twaalgos/Makefile.am: Update it.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: New.
2016-02-12 14:07:28 +01:00