spot/src/tgbaalgos
Alexandre Duret-Lutz d9fc75e94e Improve SCC simplification by removing implied acceptance conditions.
Spot 0.7.1 used to need 190 acceptance conditions to translate the
188 literature formulae.  With this patch we are down to 185.
That's not an impressive, but there are only ~20 formulae that
require more than 1 acceptance conditions; hence little room for
improvement.

* src/misc/bddlt.hh (bdd_hash): New function.
* src/misc/accconv.hh, src/misc/accconv.cc: New files.
* src/misc/Makefile.am: Add them.
* src/tgbaalgos/scc.cc (scc_map::build_map): Adjust
to record all combination of acceptance conditions occurring in a SCC.
* src/tgbaalgos/scc.hh (scc_map::scc::useful_acc): Update description.
* src/tgbaalgos/sccfilter.cc (scc_filter): Simplify acceptance
conditions that are always implied by another acceptance
conditions.  Previously, we only removed acceptance conditions
that where always present in accepting SCCs.
* src/tgbatest/sccsimpl.test: New file.
* src/tgbatest/Makefile.am (TESTS): Add it.
2011-08-28 10:37:42 +02:00
..
gtec Replace delete by destroy in comments dealing with states. 2011-01-27 10:48:49 +01:00
.cvsignore * src/Makefile.am (SUBDIRS): Add tgbaalgos. 2003-05-26 13:50:54 +00:00
.gitignore Add .gitignore files 2008-03-14 16:59:32 +01:00
bfssteps.cc Cosmetics. 2011-03-31 10:19:59 +02:00
bfssteps.hh Replace delete by destroy in comments dealing with states. 2011-01-27 10:48:49 +01:00
cutscc.cc Introduce a destroy() method on states, and use it instead of delete. 2011-01-27 10:48:48 +01:00
cutscc.hh * src/tgbaalgos/cutscc.cc (cut_scc): Pass `s' by reference instead 2009-11-17 16:48:42 +01:00
dotty.cc Using double borders for acceptance states in SBAs. 2011-03-05 10:26:20 +01:00
dotty.hh Using double borders for acceptance states in SBAs. 2011-03-05 10:26:20 +01:00
dottydec.cc Using double borders for acceptance states in SBAs. 2011-03-05 10:26:20 +01:00
dottydec.hh Using double borders for acceptance states in SBAs. 2011-03-05 10:26:20 +01:00
dupexp.cc Fix copyrights. 2010-01-24 20:51:09 +01:00
dupexp.hh * src/evtgba/evtgbaiter.hh, src/ltlast/formula.hh, 2005-01-03 10:20:26 +00:00
eltl2tgba_lacim.cc Add support for W (weak until) and M (strong release) operators. 2010-04-12 16:40:41 +02:00
eltl2tgba_lacim.hh Touch up some doxygen comments and copyrights. 2010-01-30 16:00:37 +01:00
emptiness.cc Introduce a destroy() method on states, and use it instead of delete. 2011-01-27 10:48:48 +01:00
emptiness.hh * src/tgbaalgos/emptiness.hh, src/tgbaalgos/emptiness.cc 2005-02-17 19:14:03 +00:00
emptiness_stats.hh * src/tgbatest/randtgba.cc: New option -H. 2008-02-25 14:36:56 +01:00
gv04.cc Introduce a destroy() method on states, and use it instead of delete. 2011-01-27 10:48:48 +01:00
gv04.hh * src/sanity/style.test: Catch occurrences of "accepting condition". 2005-02-20 22:41:11 +00:00
lbtt.cc Update to compile with the Intel compiler. 2008-12-18 23:41:10 +01:00
lbtt.hh * src/tgba/tgba.hh, src/tgbaalgos/dotty.hh, 2004-11-17 16:56:36 +00:00
ltl2taa.cc Add support for W (weak until) and M (strong release) operators. 2010-04-12 16:40:41 +02:00
ltl2taa.hh Touch up some doxygen comments and copyrights. 2010-01-30 16:00:37 +01:00
ltl2tgba_fm.cc Add support for W (weak until) and M (strong release) operators. 2010-04-12 16:40:41 +02:00
ltl2tgba_fm.hh Remove the theoretically bogus "containment" option of ltl2tgba_fm. 2010-01-30 12:32:01 +01:00
ltl2tgba_lacim.cc Add support for W (weak until) and M (strong release) operators. 2010-04-12 16:40:41 +02:00
ltl2tgba_lacim.hh * src/evtgba/evtgbaiter.hh, src/ltlast/formula.hh, 2005-01-03 10:20:26 +00:00
magic.cc Cosmetics. 2011-03-31 10:19:59 +02:00
magic.hh * src/tgbaalgos/magic.hh: fixme is not a doxygen command. Use bug. 2008-02-25 14:36:55 +01:00
Makefile.am Implement is_safety_automaton(). 2011-01-05 08:02:38 +01:00
minimize.cc Speedup build_result() called by minimize_dfa(). 2011-03-04 11:50:52 +01:00
minimize.hh Cleanup the minimize.hh interface. 2011-01-05 22:53:57 +01:00
ndfs_result.hxx Introduct a down_cast macro. 2011-03-31 19:39:44 +02:00
neverclaim.cc Running ltl2tgba -R1q -R1t -N would degeneralize before and 2011-08-25 16:53:40 +02:00
neverclaim.hh Running ltl2tgba -R1q -R1t -N would degeneralize before and 2011-08-25 16:53:40 +02:00
powerset.cc Rewrite the check of WDBA state acceptance in minimize(). 2011-01-05 08:02:39 +01:00
powerset.hh Introduce a destroy() method on states, and use it instead of delete. 2011-01-27 10:48:48 +01:00
projrun.cc * src/tgbaalgos/projrun.hh, src/tgbaalgos/projrun.cc: New files. 2004-11-02 16:26:57 +00:00
projrun.hh * src/tgba/tgba.hh, src/tgbaalgos/dotty.hh, 2004-11-17 16:56:36 +00:00
randomgraph.cc Fix random_graph() not to generate dead states. 2010-02-23 17:20:59 +01:00
randomgraph.hh Merge all ltlast/ files into formula.hh. The forward declaration of visitor was causing error messages too cryptic for users. 2008-06-12 16:33:03 +02:00
reachiter.cc Introduce a destroy() method on states, and use it instead of delete. 2011-01-27 10:48:48 +01:00
reachiter.hh Fix copyrights. 2010-01-24 20:51:09 +01:00
reducerun.cc Cosmetics. 2011-03-31 10:19:59 +02:00
reducerun.hh Fix more errors reported by Clang. 2010-11-27 10:21:44 +01:00
reductgba_sim.cc Introduct a down_cast macro. 2011-03-31 19:39:44 +02:00
reductgba_sim.hh Add SCC pruning options to the CGI script. 2010-01-30 14:52:16 +01:00
reductgba_sim_del.cc Introduct a down_cast macro. 2011-03-31 19:39:44 +02:00
replayrun.cc Replace delete by destroy in comments dealing with states. 2011-01-27 10:48:49 +01:00
replayrun.hh * src/tgba/tgba.hh, src/tgbaalgos/dotty.hh, 2004-11-17 16:56:36 +00:00
rundotdec.cc Using double borders for acceptance states in SBAs. 2011-03-05 10:26:20 +01:00
rundotdec.hh Using double borders for acceptance states in SBAs. 2011-03-05 10:26:20 +01:00
safety.cc Rename is_safety_automaton() as is_guarantee_automaton() and 2011-01-27 18:21:27 +01:00
safety.hh Rename is_safety_automaton() as is_guarantee_automaton() and 2011-01-27 18:21:27 +01:00
save.cc Fix escaping of state name in save_reachable()'s output. 2011-08-25 18:29:46 +02:00
save.hh * src/tgba/tgba.hh, src/tgbaalgos/dotty.hh, 2004-11-17 16:56:36 +00:00
scc.cc Improve SCC simplification by removing implied acceptance conditions. 2011-08-28 10:37:42 +02:00
scc.hh Improve SCC simplification by removing implied acceptance conditions. 2011-08-28 10:37:42 +02:00
sccfilter.cc Improve SCC simplification by removing implied acceptance conditions. 2011-08-28 10:37:42 +02:00
sccfilter.hh * src/tgbaalgos/sccfilter.hh: Fix some typos in the documentation. 2010-11-24 22:00:57 +01:00
se05.cc Cosmetics. 2011-03-31 10:19:59 +02:00
se05.hh * src/sanity/style.test: Catch occurrences of "accepting condition". 2005-02-20 22:41:11 +00:00
stats.cc Add a way to count the number of sub-transitions. 2011-02-04 00:17:53 +01:00
stats.hh Add a way to count the number of sub-transitions. 2011-02-04 00:17:53 +01:00
tau03.cc Cosmetics. 2011-03-31 10:19:59 +02:00
tau03.hh * src/sanity/style.test: Catch occurrences of "accepting condition". 2005-02-20 22:41:11 +00:00
tau03opt.cc Cosmetics. 2011-03-31 10:19:59 +02:00
tau03opt.hh * src/sanity/style.test: Catch occurrences of "accepting condition". 2005-02-20 22:41:11 +00:00
weight.cc * src/tgbaalgos/emptiness_stats.hh, src/tgbaalgos/weight.cc, 2004-11-22 12:06:03 +00:00
weight.hh * src/tgbaalgos/emptiness_stats.hh, src/tgbaalgos/weight.cc, 2004-11-22 12:06:03 +00:00