- 02 Apr, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
Fixes #72. * src/tgbaalgos/totgba.cc, src/tgbaalgos/totgba.hh: New files. * src/tgbaalgos/Makefile.am: Add them. * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Add a Generic output type, and call to_generalized_buchi() if this type is not selected. * src/tgbatest/remfin.test: Add some tests. * src/bin/autfilt.cc: Add a --generic option, and set it by default.
-
- 01 Apr, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh: New argument to disable the "jump to the accepting level if the entering state as an accepting self-loop" optimization. * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Check the degen-lowinit option and pass it on to degeneralize(). * src/bin/spot-x.cc: Document it. * src/tgbatest/degenlskip.test: Add some tests. * src/tgbatest/ltl2ta.test: Update value. We output less accepting states now.
-
Alexandre Duret-Lutz authored
Doing so is not wrong, but it's superfluous, and the extra accepting state will cause additional work in emptiness checks based on NDFS. Report from Jan Strejček. * src/tgbaalgos/degen.cc: Here. * src/tgbatest/degenid.test: Add a test case.
-
- 31 Mar, 2015 3 commits
-
-
Alexandre Duret-Lutz authored
if a transition with the same label already exist, reuse it * src/tgbaalgos/stutter.cc: Here. * src/tgbatest/stutter.test: Add a test case.
-
Alexandre Duret-Lutz authored
Fixes #71. * src/bin/randaut.cc: Implement option --acc-type. * src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh (random_acceptance): New function. * src/tgbatest/randaut.test, wrap/python/tests/randaut.ipynb: Test it.
-
Alexandre Duret-Lutz authored
And add a cleanup_acceptance() version that copies. * src/tgbaalgos/cleanacc.cc, src/tgbaalgos/cleanacc.hh: Rename and add the second version. * src/bin/autfilt.cc, src/bin/ltlcross.cc, src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/remfin.cc: Use cleanup_acceptance_here.
-
- 25 Mar, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
* src/tgba/acc.cc, src/tgba/acc.hh: Add a way to extract an unstatisfiable mark, and fix the eval() function for Fin acceptance. * src/tgbaalgos/complete.cc: Label the sink state using an unsatisfiable mark. Do not assume generalized Büchi. * src/tgbatest/complete.test: New test. * src/tgbatest/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
Sometimes, simplifying the acceptance condition (because it refers to sets that do not appear in the automaton) cause more sets to be removed from the acceptance condition, and therefore warrant another pass to remove those sets from the automaton. * src/tgbaalgos/cleanacc.cc: Here. * src/tgbatest/hoaparse.test: Add a test case.
-
- 24 Mar, 2015 3 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/remprop.cc, src/tgbaalgos/remprop.hh: New files. * src/tgbaalgos/Makefile.am: Add them. * src/tgbatest/remprop.test: New test. * src/tgbatest/Makefile.am: Add it. * src/bin/autfilt.cc: Implement the option. * doc/org/autfilt.org: Document it.
-
Alexandre Duret-Lutz authored
It makes more sense to assume that the removed set cannot be visited. * src/tgbaalgos/mask.cc: Flip a Boolean. * src/tgbatest/maskacc.test: Adjust test case. * doc/org/autfilt.org: Add an example.
-
Alexandre Duret-Lutz authored
* src/tgba/tgbagraph.cc (purge_dead_states): Using a DFS to compute a topological order, allowing to remove useless using a second pass (instead of iterating the passes until there is nothing to remove). * src/tgbaalgos/remfin.cc: Call purge_dead_states(). * src/tgbatest/remfin.test, src/tgbatest/det.test: Adjust expected output. * doc/org/autfilt.org: Update example.
-
- 23 Mar, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dotty.cc: Here. * src/tgbaalgos/sbacc.cc: Make the produced automata as state-based. * src/tgbatest/readsave.test: Add a test.
-
Etienne Renault authored
* iface/ltsmin/ltsmin.hh, src/bin/common_aoutput.hh, src/bin/common_conv.hh, src/bin/common_cout.hh, src/bin/common_file.hh, src/bin/common_finput.hh, src/bin/common_output.hh, src/bin/common_post.hh, src/bin/common_r.hh, src/bin/common_range.hh, src/bin/common_setup.hh, src/bin/common_sys.hh, src/bin/common_trans.hh, src/dstarparse/parsedecl.hh, src/dstarparse/public.hh, src/graph/graph.hh, src/graph/ngraph.hh, src/hoaparse/parsedecl.hh, src/hoaparse/public.hh, src/kripke/fairkripke.hh, src/kripke/fwd.hh, src/kripke/kripke.hh, src/kripke/kripkeexplicit.hh, src/kripke/kripkeprint.hh, src/kripkeparse/parsedecl.hh, src/kripkeparse/public.hh, src/ltlast/allnodes.hh, src/ltlast/atomic_prop.hh, src/ltlast/binop.hh, src/ltlast/bunop.hh, src/ltlast/constant.hh, src/ltlast/formula.hh, src/ltlast/multop.hh, src/ltlast/predecl.hh, src/ltlast/unop.hh, src/ltlast/visitor.hh, src/ltlenv/declenv.hh, src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh, src/ltlparse/parsedecl.hh, src/ltlparse/public.hh, src/ltlvisit/apcollect.hh, src/ltlvisit/clone.hh, src/ltlvisit/contain.hh, src/ltlvisit/dotty.hh, src/ltlvisit/dump.hh, src/ltlvisit/lbt.hh, src/ltlvisit/length.hh, src/ltlvisit/lunabbrev.hh, src/ltlvisit/mark.hh, src/ltlvisit/mutation.hh, src/ltlvisit/nenoform.hh, src/ltlvisit/postfix.hh, src/ltlvisit/randomltl.hh, src/ltlvisit/relabel.hh, src/ltlvisit/remove_x.hh, src/ltlvisit/simpfg.hh, src/ltlvisit/simplify.hh, src/ltlvisit/snf.hh, src/ltlvisit/tostring.hh, src/ltlvisit/tunabbrev.hh, src/ltlvisit/wmunabbrev.hh, src/misc/bareword.hh, src/misc/bddlt.hh, src/misc/bitvect.hh, src/misc/casts.hh, src/misc/common.hh, src/misc/escape.hh, src/misc/fixpool.hh, src/misc/formater.hh, src/misc/hash.hh, src/misc/hashfunc.hh, src/misc/intvcmp2.hh, src/misc/intvcomp.hh, src/misc/location.hh, src/misc/ltstr.hh, src/misc/memusage.hh, src/misc/minato.hh, src/misc/mspool.hh, src/misc/optionmap.hh, src/misc/position.hh, src/misc/random.hh, src/misc/satsolver.hh, src/misc/timer.hh, src/misc/tmpfile.hh, src/misc/version.hh, src/priv/accmap.hh, src/priv/bddalloc.hh, src/priv/freelist.hh, src/ta/ta.hh, src/ta/taexplicit.hh, src/ta/taproduct.hh, src/ta/tgta.hh, src/ta/tgtaexplicit.hh, src/ta/tgtaproduct.hh, src/taalgos/dotty.hh, src/taalgos/emptinessta.hh, src/taalgos/minimize.hh, src/taalgos/reachiter.hh, src/taalgos/statessetbuilder.hh, src/taalgos/stats.hh, src/taalgos/tgba2ta.hh, src/tgba/acc.hh, src/tgba/bdddict.hh, src/tgba/bddprint.hh, src/tgba/formula2bdd.hh, src/tgba/fwd.hh, src/tgba/taatgba.hh, src/tgba/tgba.hh, src/tgba/tgbagraph.hh, src/tgba/tgbamask.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.hh, src/tgba/tgbasafracomplement.hh, src/tgbaalgos/are_isomorphic.hh, src/tgbaalgos/bfssteps.hh, src/tgbaalgos/canonicalize.hh, src/tgbaalgos/cleanacc.hh, src/tgbaalgos/complete.hh, src/tgbaalgos/compsusp.hh, src/tgbaalgos/cycles.hh, src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh, src/tgbaalgos/dtbasat.hh, src/tgbaalgos/dtgbacomp.hh, src/tgbaalgos/dtgbasat.hh, src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptiness.hh, src/tgbaalgos/emptiness_stats.hh, src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/sccstack.hh, src/tgbaalgos/gtec/status.hh, src/tgbaalgos/gv04.hh, src/tgbaalgos/hoa.hh, src/tgbaalgos/isdet.hh, src/tgbaalgos/isweakscc.hh, src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/magic.hh, src/tgbaalgos/mask.hh, src/tgbaalgos/minimize.hh, src/tgbaalgos/neverclaim.hh, src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.hh, src/tgbaalgos/product.hh, src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.hh, src/tgbaalgos/randomize.hh, src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.hh, src/tgbaalgos/relabel.hh, src/tgbaalgos/remfin.hh, src/tgbaalgos/replayrun.hh, src/tgbaalgos/safety.hh, src/tgbaalgos/sbacc.hh, src/tgbaalgos/scc.hh, src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccinfo.hh, src/tgbaalgos/se05.hh, src/tgbaalgos/simulation.hh, src/tgbaalgos/stats.hh, src/tgbaalgos/stripacc.hh, src/tgbaalgos/stutter.hh, src/tgbaalgos/tau03.hh, src/tgbaalgos/tau03opt.hh, src/tgbaalgos/translate.hh, src/tgbaalgos/weight.hh, src/tgbaalgos/word.hh, src/sanity/includes.test, src/tgbaalgos/ndfs_result.hxx: here.
-
- 22 Mar, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
Fixes #67. * src/tgba/tgba.cc, src/tgba/tgba.hh: Here. * src/tgbaalgos/complete.cc, src/tgbaalgos/stripacc.cc: Use it.
-
- 20 Mar, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
... or the pointer might be invalidated if the environments changes. Fixes #63. * src/taalgos/dotty.cc, src/tgbaalgos/dotty.cc, src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Copy the environment in strings instead. * wrap/python/tests/automata.ipynb: Adjust comment.
-
- 18 Mar, 2015 3 commits
-
-
Alexandre Duret-Lutz authored
Fixes #64. * src/tgba/tgba.hh: Here. * src/tgbaalgos/complete.cc, src/tgbaalgos/degen.cc, src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/mask.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/remfin.cc, src/tgbaalgos/sccfilter.cc, src/tgbaalgos/simulation.cc, src/tgbaalgos/stutter.cc: Adjust.
-
Alexandre Duret-Lutz authored
Fixes #66. * src/dstarparse/dra2ba.cc, src/dstarparse/nra2nba.cc, src/hoaparse/hoaparse.yy, src/tgba/tgbagraph.hh, src/tgbaalgos/complete.cc, src/tgbaalgos/degen.cc, src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/postproc.cc: Here.
-
Alexandre Duret-Lutz authored
... into copy_acceptance_of(). For #65. * src/tgba/tgbagraph.hh, src/tgbaalgos/dupexp.cc, src/tgbaalgos/emptiness.cc, src/tgbaalgos/mask.cc, src/tgbaalgos/powerset.cc, src/tgbaalgos/sbacc.cc, src/tgbaalgos/simulation.cc, src/tgbaalgos/stutter.cc: Here.
-
- 17 Mar, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
Fixes #62. * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Add call to prop_state_based_acc() when building an automaton with state-based acceptance. * src/tgbatest/satmin2.test: New test. * doc/org/satmin.org: Update.
-
Alexandre Duret-Lutz authored
This implement several new options for --dot in order to allow emptiness sets to be output as colored ⓿ or ❶... Also add a SPOT_DOTDEFAULT environment variable. * NEWS, src/bin/man/spot-x.x, src/bin/common_aoutput.cc, src/bin/dstar2tgba.cc: Document the new options. * doc/org/.dir-locals.el, doc/org/init.el.in: Setup SPOT_DOTEXTRA and SPOT_DOTDEFAULT for all documents. * doc/org/autfilt.org, doc/org/dstar2tgba.org, doc/org/ltl2tgba.org, doc/org/ltldo.org, doc/org/oaut.org, doc/org/randaut.org, doc/org/satmin.org: Adjust to this new setup. * src/misc/escape.cc, src/misc/escape.hh (escape_html): New function. * src/tgba/acc.cc, src/tgba/acc.hh (to_text, to_html): New method. * src/tgbaalgos/dotty.cc: Implement the new options. * src/tgbatest/readsave.test, wrap/python/tests/automata.ipynb: More tests. * wrap/python/spot.py: Make sure the default argument for dotty_reachable is None, so that SPOT_DOTDEFAULT is honored.
-
- 16 Mar, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dotty.cc, src/taalgos/dotty.cc: Honnor the SPOT_DOTEXTRA environement variable. * src/tgbatest/readsave.test, wrap/python/tests/automata.ipynb: Test it. * NEWS, src/bin/man/spot-x.x: Document it.
-
- 03 Mar, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
Because scc_info does not perform a full emptiness check, it is not always able to tell whether an SCC is accepting if the acceptance condition use Fin primitives. This introduce is_rejecting_scc() in addition to to is_accepting_scc(). Only one of them may be true, but they can both be false if scc_info has no idea whether the SCC is accepting. * src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh: Implement is_rejecting_scc(). * src/bin/ltlcross.cc, src/tgba/acc.cc, src/tgba/acc.hh, src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/isweakscc.cc, src/tgbaalgos/remfin.cc, src/tgbaalgos/safety.cc, src/tgbaalgos/sccfilter.cc: Use it. * src/tgbaalgos/dotty.cc: Use is_rejecting_scc() and is_accepting_scc() to color SCCs. * doc/org/oaut.org: Document the colors used. * src/tgbatest/neverclaimread.test, src/tgbatest/readsave.test: Adjust tests. * src/tgbatest/sccdot.test: New test case. * src/tgbatest/Makefile.am: Add it.
-
- 01 Mar, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/simulation.cc (direct_simulation): Do not store the original_ automaton as a reference. Otherwise with LTO (+ probably NRVO) we get a situation where the result automaton (that will be stored in original_) copies the properties of itself.
-
- 28 Feb, 2015 3 commits
-
-
Alexandre Duret-Lutz authored
... and show it in the HOA output. Fixes #60. * src/tgba/tgba.hh: Add is_stutter_invariant(). * src/tgbaalgos/hoa.cc: Print stutter-invariant and inherently-weak. * src/tgbaalgos/ltl2tgba_fm.cc: Set both. * src/tgbaalgos/are_isomorphic.cc, src/tgbaalgos/complete.cc, src/tgbaalgos/degen.cc, src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/mask.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/remfin.cc, src/tgbaalgos/sccfilter.cc, src/tgbaalgos/simulation.cc, src/tgbaalgos/stutter.cc, src/tgbatest/hoaparse.test, src/tgbatest/ltldo.test, src/tgbatest/monitor.test, src/tgbatest/randomize.test, src/tgbatest/remfin.test, src/tgbatest/sbacc.test: Adjust.
-
Alexandre Duret-Lutz authored
Fixes #59. * src/tgbaalgos/hoa.cc: Add option i. * src/bin/common_aoutput.cc, src/bin/dstar2tgba.cc, src/tgbaalgos/hoa.hh: Document it. * src/tgbatest/hoaparse.test: Test it.
-
Alexandre Duret-Lutz authored
-
- 27 Feb, 2015 1 commit
-
-
Etienne Renault authored
* src/misc/random.cc, src/misc/random.hh, src/tgbaalgos/randomgraph.cc, src/tgbatest/randaut.test, src/tgbatest/randomize.test, src/tgbatest/readsave.test, src/ltlvisit/simplify.cc, src/tgbaalgos/randomize.cc, src/graph/graph.hh, src/tgbatest/randpsl.test: here.
-
- 26 Feb, 2015 11 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dotty.cc: Display the acceptance if "a" is used. * src/bin/common_aoutput.cc, src/bin/dstar2tgba.cc, src/tgbaalgos/dotty.hh: Document it. * src/tgbatest/readsave.test: Test it.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/postproc.cc: Here. * src/tgbatest/ltl2tgba.test: Make sure ltl2tgba -B 0 has one acceptance set.
-
Alexandre Duret-Lutz authored
* src/tgba/tgbagraph.cc (merge_transitions): Disable acceptance merging if Fin acceptance is used. * src/tgbaalgos/degen.cc, src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/isweakscc.cc, src/tgbaalgos/lbtt.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/neverclaim.cc, src/tgbaalgos/safety.cc, src/tgbaalgos/sccfilter.cc, src/tgbaalgos/simulation.cc: Throw an exception if an unsupported type of acceptance is received.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/tgba/acc.cc, src/tgba/acc.hh: Move the strip() routine from acc_cond into acc_cond::mark_t, and the strip() routine from cleanacc.cc into acc_cond::acc_code. Introduce helper functions to create inf()/fin()/t()/f() at the acc_code level. * src/tgbaalgos/cleanacc.cc: Simplify, using the strip() function from acc_code. * src/tgbaalgos/mask.cc (mask_acc_sets): Use the strip() function from acc_code so that it work on non-Buchi acceptance. * src/tgbatest/maskacc.test: Add a test for the latter change. * src/tgbaalgos/sccfilter.cc, src/tgbatest/acc.cc: Adjust the use mark_t::strip().
-
Alexandre Duret-Lutz authored
* src/bin/ltlcross.cc: Remove Fin-acceptance before doing checks. More --verbose output. * src/tgba/acc.cc, src/tgba/acc.hh: Add an eval_sets() function to find the set of acceptance sets needed to satisfy the condition in an accepting SCC. * src/tgbaalgos/gtec/ce.cc: Use eval_sets() when computing a counter example. * src/tgbaalgos/gtec/gtec.cc: Raise an exception when called on an acceptance that contains Fin. * src/tgbatest/ltl2dstar3.test, src/tgbatest/ltlcrossce2.test: New files. * src/tgbatest/Makefile.am: Add them. * src/tgba/tgba.cc (is_empty): Call remove_fin if needed. * src/tgbaalgos/product.cc, src/tgbaalgos/dtgbacomp.cc: Adjust to work with generic acceptance.
-
Alexandre Duret-Lutz authored
Instead of adding one set per term in the DNF, reuse the removed Fin(x) sets as Inf(x) sets. * src/tgbaalgos/remfin.cc: Here. * src/tgbatest/remfin.test: Additional test.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/remfin.cc: Call cleanup_acceptance(). * src/tgbatest/remfin.test: Adjust.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/cleanacc.cc, src/tgbaalgos/cleanacc.hh: New file. * src/tgbaalgos/Makefile.am: Add them. * src/tgba/acc.hh, src/tgba/tgba.hh (get_acceptance): Return a reference. * src/bin/autfilt.cc: Add a --cleanup-acceptance option. * src/tgbatest/hoaparse.test: Test it.
-
Alexandre Duret-Lutz authored
* src/bin/autfilt.cc: Add remove_fin(). * src/tgba/acc.cc, src/tgba/acc.hh: Add is_dnf() and simplify eval(). * src/tgbaalgos/remfin.cc, src/tgbaalgos/remfin.hh: New files. * src/tgbaalgos/Makefile.am: Add them. * src/tgbatest/remfin.test: New file. * src/tgbatest/Makefile.am: Add it.
-
- 23 Feb, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/stats.cc, src/tgbaalgos/stats.hh: Implement %g. * src/bin/common_aoutput.cc, src/bin/common_aoutput.hh: Document it, and also implement %G. * src/tgbatest/acc2.test: New file. * src/tgbatest/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
and make sure are_isomorphic does not look only at the number of acceptance sets * src/tgba/acc.hh: Here. * src/tgbaalgos/are_isomorphic.cc: Use it to ensure two automata have the same acceptance condition. * src/tgbatest/explpro4.test: Test product between Büchi and co-Büchi, and make sure the isomorphic check look at the acceptance condition.
-