- 01 Jun, 2015 6 commits
-
-
Alexandre Duret-Lutz authored
Fixes #84. * src/twaalgos/hoa.cc: Detect and output the colored property. * src/tests/hoaparse.test, src/tests/satmin2.test: Update.
-
Alexandre Duret-Lutz authored
This fixes #85. * src/misc/random.hh (barand): Use round() before casting. * doc/org/oaut.org: Recompute example. * src/tests/randaut.test, wrap/python/tests/randaut.ipynb: Adjust.
-
Alexandre Duret-Lutz authored
This is particularly important for src/tests/satmin.test, where ltl2tgba might be killed while writing a huge temporary file used for SAT-based minimization. Before this patch, the temporary files would remain in src/tests/satmin.dir/, easily overflowing the 100GB limit of the docker containers we use on the build farm. * src/bin/common_setup.cc: Catch termination signals for all tools, even those that do not yet clear temporary files. * configure.ac: Check for sigaction.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
This way -S means --state-based-acc like with other tools producing automata. This fixes #82. * src/bin/randaut.cc: Rename -S as -Q, rename --state-acc as --state-based-acc (with --sbacc as a synonym), and declare -S as the short version of --state-based-acc. * doc/org/autfilt.org, doc/org/oaut.org, doc/org/randaut.org, src/tests/isomorph.test, src/tests/randaut.test, src/tests/randtgba.test, src/tests/readsave.test, src/tests/uniq.test, wrap/python/tests/randaut.ipynb: Adjust all calls to randaut.
-
- 30 May, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* doc/org/hoa.org: New file. * doc/org/oaut.org, doc/org/tools.org: Link to it. * doc/Makefile.am: Distribute it.
-
- 27 May, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
gcc version 6.0.0 20150516 (experimental) [trunk revision 223239] (Debian 20150516-1) * src/hoaparse/hoaparse.yy (state_info): Initialize used and declared, otherwise they are uninitialized after a vector resize.
-
- 26 May, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/bin/randaut.cc: Replace the --acc-type and --acc-sets options by a more general --acceptance option, that take either an acceptance formula, or an acceptance name parametred by ranges. Also accept a range for the number of atomic propositions. * src/twaalgos/randomgraph.cc (random_acceptance): Move... * src/twa/acc.cc, src/twa/acc.hh (random): ... here. (parse_acc_code): Generalize to accept ranges instead of numbers whenever sensible, and accept a 'random' acceptance. * src/tests/randaut.test: Adjust tests and add more. * wrap/python/tests/randaut.ipynb: Adjust call to randaut.
-
- 25 May, 2015 3 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/bin/ltlcross.cc: Add the column. * NEWS: Update.
-
Alexandre Duret-Lutz authored
* src/bin/ltlcross.cc: Implement it. * src/tests/ltlcross3.test: Use it. * NEWS: Mention it.
-
- 24 May, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
According to https://github.com/adl/hoaf/issues/46 * src/twa/acc.cc (parity): Adjust generation. * src/tests/hoaparse.test, wrap/python/tests/accparse.ipynb: Adjust existing test cases. * wrap/python/tests/accparse2.py: New test cases.
-
- 22 May, 2015 5 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* wrap/python/tests/accparse2.py: Do not check max and odd if is_parity is False, as this "argout" parameters are not initialized by SWIG.
-
Alexandre Duret-Lutz authored
* doc/org/satmin.org: Document the new DTωA-minimization procedure. * doc/org/tools.org: Fix link. * src/bin/autfilt.cc: Pass -S to sat_minimize(). * src/twa/twagraph.hh: (state_acc_sets) New method. * src/twaalgos/dotty.cc: Use it to correctly display co-Büchi automata. * src/twaalgos/dtbasat.cc: Set the deterministic property on the result. * src/twaalgos/dtgbasat.cc: Likewise, and preprocess the input automaton in sat_minimize(). * src/twaalgos/dtgbasat.hh: Fix documentation, and take the state-based information as an argument. * src/twaalgos/postproc.cc: Do not call simulation-based reduction on non-separated acceptances. * src/tests/satmin2.test: Use -S rather than 'state-based'. * NEWS: Update.
-
Alexandre Duret-Lutz authored
* src/twa/acc.cc: Fix it. * wrap/python/tests/accparse.ipynb: Adjust.
-
Alexandre Duret-Lutz authored
-
- 21 May, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/twa/acc.cc: Allow duplicate and reordered pairs. Also recognize the single-pair cases. * src/twaalgos/hoa.cc: When Rabin or Streett is detected, canonicalize the Acceptance: line. * src/tests/hoaparse.test, wrap/python/tests/accparse2.py: More tests. * src/tests/sbacc.test: Adjust.
-
- 20 May, 2015 3 commits
-
-
Alexandre Duret-Lutz authored
It has two modes: strict or not. In strict mode (tested in hoaparse.test), the acceptance formula has to match exactly the one given in the HOA spec. In non-strict mode (tested in accparse2.py) any equivalent formula is accepted. * src/twa/acc.cc, src/twa/acc.hh (acc_cond::is_parity): New method. * src/twaalgos/hoa.cc: Use it. * src/tests/hoaparse.test: Test it. * wrap/python/spot_impl.i: Bind it. * wrap/python/tests/accparse2.py: New file. * wrap/python/tests/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
* src/twa/acc.cc, src/twa/acc.hh: Here. * wrap/python/tests/accparse.ipynb: Test it.
-
Alexandre Duret-Lutz authored
So far the HOA output would emit an acc-name only for generalized-Buchi or inferior types (Buchi, all). It now knows about none, co-Buchi, generalized-co-Buchi, Rabin, Streett, and generalized-Rabin as well. * src/twa/acc.cc, src/twa/acc.hh: Add detection code. * src/twaalgos/hoa.cc: Use it. * src/tests/remfin.test, src/tests/maskacc.test, src/tests/complete.test, src/tests/sim3.test, src/tests/ltl2dstar.test: Adjust tests. * src/tests/hoaparse.test: Adjust and add more tests.
-
- 18 May, 2015 10 commits
-
-
Alexandre Duret-Lutz authored
* src/twa/acc.cc, src/twa/acc.hh: Add method to create standard acceptance conditions, and adjust the parse_acc_code to recognize them * wrap/python/spot_impl.i (acc_cond::acc_code): Add a printer. * wrap/python/tests/accparse.ipynb: New test file. * wrap/python/tests/Makefile.am: Add it. * src/tests/satmin2.test: Use the new syntax.
-
Alexandre Duret-Lutz authored
* src/twaalgos/dtbasat.cc, src/twaalgos/dtbasat.hh, src/twaalgos/dtgbasat.cc, src/twaalgos/dtgbasat.hh: Add it. * src/tests/satmin2.test: Add couple of tests.
-
Alexandre Duret-Lutz authored
If the target acceptance is Fin(0)&Inf(1), there is no need to distinguish between an history of {0,1} and an history of {0}, as a cycle with either history will be rejected. This implements this simplification. If both the canditate and reference automata are Rabin automata with n pairs, then we now use at most Q * Q' * Q * Q' * 3^n * 3^n variables to encode the partial cycles histories, versus Q * Q' * Q * Q' * 4^n * 4^n before. * src/twaalgos/dtgbasat.cc: Implement this. * src/tests/satmin2.test: More tests.
-
Alexandre Duret-Lutz authored
* wrap/python/spot_impl.i: Here.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/twaalgos/dtgbasat.cc (sat_minimize): Use any arbitrary acceptance condition passed via the "acc" option. * src/twa/acc.hh (mark_t::max_set): New method. * src/tests/satmin2.test: Add two test cases with DRA as input and DSA as output.
-
Alexandre Duret-Lutz authored
* src/twa/acc.cc: Here. * src/tests/acc.test: Adjust.
-
Alexandre Duret-Lutz authored
When the reference acceptance condition is complex enough, some accepting SCCs may not use all acceptance sets. In that case we don't have to encode all possible histories for this SCC. * src/twaalgos/dtgbasat.cc: Improve the encoding by omitting histories involving sets that are not used in a reference SCC.
-
Alexandre Duret-Lutz authored
This is still missing tests. * src/bin/autfilt.cc: Add a --sat-minimize option. * src/misc/optionmap.cc, src/misc/optionmap.hh: Allow passing strings. * src/twa/acc.cc, src/twa/acc.hh: Add helper functions needed by the SAT-encoder. * src/twaalgos/complete.hh: Typos. * src/twaalgos/dtbasat.hh: Adjust comment. * src/twaalgos/dtgbasat.cc, src/twaalgos/dtgbasat.hh: Generalize to take the target acceptance as input. * src/twaalgos/postproc.cc, src/tests/ltl2tgba.cc: Adjust calls. * src/twaalgos/sbacc.cc, src/twaalgos/sbacc.hh: Don't pass the pointer by reference. * src/tests/acc.cc, src/tests/acc.test: More tests for the acceptance helper function.
-
- 15 May, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
and make it easier to extend and use. * src/twaalgos/postproc.hh, src/twaalgos/translate.cc, src/twaalgos/translate.hh: Incorporate the Unambiguous option with the other preferences. It's cleaner this way, and the previous setup did not work well with Python. * src/bin/ltl2tgba.cc: Adjust to this change. * wrap/python/spot.py (translate): Rewrite. * wrap/python/tests/automata.ipynb: Adjust existing cases, and add more as well as some comments.
-
- 14 May, 2015 4 commits
-
-
Alexandre Duret-Lutz authored
* src/twaalgos/translate.cc, src/bin/ltl2tgba.cc: Do not assume that unambiguous is incompatible with deterministic.
-
Alexandre Duret-Lutz authored
Producing state-based acceptance is now part of the postprocessing routines. That means we can more easily simplify automata with state-based acceptance (using autfilt -S --small --high, for instance) and as as side-effect, ltl2tgba can produce GBA. However the result of ltl2tgba -S is often larger than that of ltl2tgba -B. * src/twaalgos/postproc.cc, src/twaalgos/postproc.hh: Implement the SBAcc option. * src/bin/common_post.cc, src/bin/common_post.hh: Implement -S. * src/bin/autfilt.cc, src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc, src/bin/ltldo.cc: Adjust. * src/tests/sim3.test: Augment test case. * NEWS, doc/org/ltl2tgba.org, doc/org/autfilt.org: Document it -S.
-
Alexandre Duret-Lutz authored
* src/twaalgos/minimize.cc, src/twaalgos/safety.cc, src/twaalgos/safety.hh: Adjust. * src/tests/wdba2.test: More tests.
-
Alexandre Duret-Lutz authored
* src/twaalgos/simulation.cc, src/twaalgos/simulation.hh: Adjust to work on TωA. This only require separate acceptance sets. * src/tests/sim3.test: New test. * src/tests/Makefile.am: Add it.
-