Alexandre Duret-Lutz
beb435ebd8
* tests/core/.gitignore: Ignore safra.
2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
52bf1da3c2
ltlfilt: support --ap=RANGE instead of --ap=N
...
Fixes #131 .
* bin/ltlfilt.cc: Implement the option.
* tests/core/ltlfilt.test: Test it.
* NEWS: Mention it.
2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
1b12df46fe
ltlfilt: replace --[b]size-max/min by --[b]size
...
* bin/ltlfilt.cc: Implement the new option, and hide the old
ones.
* doc/org/ltlfilt.org, NEWS: Document these options.
* tests/core/ltl2dstar2.test, tests/core/randpsl.test: Adjust tests
to the new syntax.
2016-02-15 16:10:07 +01:00
Alexandre Duret-Lutz
a3e0c8624e
remove twa::compute_support_conditions
...
Fixes #148 .
* spot/twa/twa.hh, spot/twa/twa.cc, spot/kripke/fairkripke.hh,
spot/kripke/fairkripke.cc, spot/ta/tgtaexplicit.hh,
spot/ta/tgtaexplicit.cc, spot/twa/twagraph.hh, spot/twa/twaproduct.hh,
spot/twa/twaproduct.cc, spot/twaalgos/stutter.cc, spot/twa/taatgba.hh,
spot/twa/taatgba.cc: Remove the method.
* spot/taalgos/tgba2ta.cc: Emulate it with a simple loop.
* NEWS: Mention the removal.
2016-02-15 11:04:48 +01:00
Alexandre Duret-Lutz
39b95474f8
remove twa::transition_annotation
...
Fixes #149 .
* spot/twa/twa.hh, spot/twa/twa.cc, spot/kripke/fairkripke.hh,
spot/kripke/kripke.hh, spot/twa/twaproduct.cc, spot/twa/twaproduct.hh:
Remove this method.
* spot/twaalgos/emptiness.cc, spot/twaalgos/emptiness.hh,
tests/ltsmin/finite.test: Adjust.
* NEWS: Mention the removal.
2016-02-15 11:04:48 +01:00
Alexandre Duret-Lutz
e1f5eb1fd6
doc: improve the twa class documentation
...
* spot/twa/twa.hh: More documentation.
* doc/Doxyfile.in: Allow same doc for groups of methods.
2016-02-15 11:04:48 +01:00
Alexandre Duret-Lutz
ea348d8e80
* spot/twa/twa.hh: Fix doxygen comments.
2016-02-15 11:04:48 +01:00
Etienne Renault
ee2d3aac71
Force cast to please clang on OSX
...
Fixes #147 .
* tests/core/trival.cc: Here.
2016-02-15 10:42:11 +01:00
Etienne Renault
091251b5b7
Provide support for %dve and %require
...
* NEWS, python/spot/ltsmin.i,
tests/python/ltsmin.ipynb: Here.
2016-02-15 09:08:37 +01:00
Alexandre Duret-Lutz
369c2c537d
org: mention the determinization on the main page
...
Fixes #145 .
* doc/org/index.org: Here.
2016-02-13 15:54:27 +01:00
Alexandre Duret-Lutz
f7b5dcf47d
autfilt: add support for --are-equivalent
...
Fixes #17 .
* bin/autfilt.cc: Implement it.
* tests/core/included.test: Test it.
* NEWS: Mention it.
2016-02-12 19:53:52 +01:00
Alexandre Duret-Lutz
b59ebdc40c
* NEWS: typo
2016-02-12 19:50:37 +01:00
Alexandre Duret-Lutz
021921f0c3
autfilt: add --included-in filter
...
* bin/autfilt.cc: Implement the option.
* tests/core/included.test: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the new option.
2016-02-12 17:46:38 +01:00
Alexandre Duret-Lutz
9799a6455e
autfilt: complement of non-deterministic automata as well
...
* bin/autfilt.cc: Determinize automata before complementation
if needed.
* tests/core/complement.test: Adjust.
* NEWS: Mention the new feature.
2016-02-12 17:00:20 +01:00
Alexandre Duret-Lutz
6a662a6d8e
get read of twa_safra_complement
...
* spot/twa/twasafracomplement.cc, spot/twa/twasafracomplement.hh,
tests/core/complementation.cc: Delete.
* tests/Makefile.am, spot/twa/Makefile.am: Adjust.
* tests/core/complementation.test: Rewrite using the new determinization
code.
* python/spot/impl.i: Do not mention twa_safra_complement anymore.
* NEWS: Mention the removal.
2016-02-12 15:09:37 +01:00
Alexandre Duret-Lutz
df0f99410c
* NEWS: Summarize recent changes.
2016-02-12 14:27:48 +01:00
Alexandre Duret-Lutz
b066c6f3f2
postproc: add fine-tuning options for determinization
...
* spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh:
Add options det-scc, det-simul, det-stutter.
* bin/spot-x.cc: Document them.
* doc/org/ltl2tgba.org: Illustrate one of them and link
to the spot-x man page.
2016-02-12 14:07:58 +01:00
Alexandre Duret-Lutz
8feab7e2bb
postproc: more documentation
...
* spot/twaalgos/postproc.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
1e52d2a7a8
doc: more doc about determinization
...
* doc/org/autfilt.org: Here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
0288aaa304
determinize: add tests for the bug Alexandre L fixed
...
* tests/core/safra.test: More tests.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
0d9019ea39
python: fix translate's doc string
...
* python/spot/__init__.py (translate): Mention 'generic' in doc string.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
8a5f652384
determinize: Correct scc optimisation
...
* spot/twaalgos/determinize.cc: Don't reuse previous SCC's.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
8568c3b423
postproc: integrate tgba_determinize()
...
* spot/twa/acc.hh: Add a smaller version of is_parity().
* spot/twaalgos/postproc.cc: Call tgba_determinize() if asked for
Generic acceptance and Deterministic output.
* bin/common_post.cc: Add 'G' as a shorthand for --generic.
* doc/org/ltl2tgba.org: Illustrate =ltl2tgba -G -D=.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
03d9a7512a
determinize: do not work on deterministic automata
...
* spot/twaalgos/determinize.cc: Here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
c18ee329fb
determinize: rename the main function
...
* spot/twaalgos/determinize.cc, spot/twaalgos/determinize.hh,
tests/core/safra.cc (tgba_determinisation): Rename as...
(twa_determinisation): ... this.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
4635ce44a9
determinize: add some doc
...
* spot/twaalgos/determinize.hh: Add documentaion and rename options.
* spot/twaalgos/determinize.cc: Rename options as well.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
2853c4ca04
* tests/core/safra.cc (help): Simplify.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
8e26852a1b
determinize: remove superfluous options
...
bisimulation and complete just trigger extra algorithms to be called at
the end of this one, so they need not be part of this algorithm.
* spot/twaalgos/determinize.cc, spot/twaalgos/determinize.hh: Reduce
the number of options.
* tests/core/safra.cc: Implement those options here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
e0c2452534
determinize: hide private data structures
...
* spot/twaalgos/determinize.hh: Move class definitions...
* spot/twaalgos/determinize.cc: ... here.
2016-02-12 14:07:28 +01:00
Alexandre Duret-Lutz
f9252aa703
safra: rename as determinize
...
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh: Rename as...
* spot/twaalgos/determinize.cc, spot/twaalgos/determinize.hh: ... these.
* spot/twaalgos/Makefile.am, tests/core/safra.cc: Adjust.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
cd71286fb5
safra: Add stutter-invarience optimisation
...
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh: Here.
* tests/core/safra.cc: Add option.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
1d68decaca
safra: Add compute_succ function
...
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh: Enables use to
compute successor safra state for any edge.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
be0e6bffcf
safra: Build safra-state after each AP
...
* spot/twaalgos/safra.cc: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
dbd7740874
safra: Iterate on APs to compute successors
...
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
8068cfad93
safra: Add complete option and rename files
...
* src/tests/safra.cc, src/twaalgos/safra.cc,
src/twaalgos/safra.hh, src/tests/safra.test: Rename as...
* spot/twaalgos/safra.cc, spot/twaalgos/safra.hh, tests/core/safra.cc
tests/core/safra.test: ... these.
* tests/Makefile.am: Update.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
f88154e507
safra: Add bisimulation optimisation
...
* src/tests/safra.cc, src/twaalgos/safra.cc,
src/twaalgos/safra.hh, spot/twaalgos/simulation.cc,
spot/twaalgos/simulation.hh: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
d15b5f43a6
safra: Fix properties and use new API
...
* src/tests/safra.cc, src/twaalgos/safra.cc: Here.
2016-02-12 14:07:28 +01:00
Alexandre Lewkowicz
bb93f6e9af
safra: Nodes are grouped by SCC
...
* src/tests/safra.cc, src/tests/safra.test: Update it.
* src/twaalgos/safra.cc, src/twaalgos/safra.hh: all nodes in a safra
state are grouped by SCC. This is done by putting them in different
braces. The same SCC can have different ids depending on the safra
state.
2016-02-12 14:07:28 +01:00
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