1. 20 May, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      hoa: output acc-name for several acceptance types · d276f73e
      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.
      d276f73e
  2. 18 May, 2015 4 commits
    • Alexandre Duret-Lutz's avatar
      acc: parse standard acceptance names · 8e1c8469
      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.
      8e1c8469
    • Alexandre Duret-Lutz's avatar
      ec49398e
    • Alexandre Duret-Lutz's avatar
      sat-minimize: allow different acceptances as input and output · 0ede9687
      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.
      0ede9687
    • Alexandre Duret-Lutz's avatar
      sat-minimize: generalize to any acceptance · 08749805
      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.
      08749805
  3. 14 May, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      autfilt: new --separate-sets option · 3d1ccdc4
      Alexandre Duret-Lutz authored
      * src/twaalgos/sepsets.cc, src/twaalgos/sepsets.hh: New files.
      * src/twaalgos/Makefile.am: Add them.
      * src/twa/acc.hh (get_acceptance): Add a non-const version.
      * src/bin/autfilt.cc: Add the --separate-sets option.
      * src/tests/sepsets.test: New file.
      * src/tests/Makefile.am: Add it.
      3d1ccdc4
  4. 22 Apr, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      rename tgba files as twa · 703fbd0e
      Alexandre Duret-Lutz authored
      Automatic mass renaming.
      
      * src/graphtest/tgbagraph.cc, src/tgba/acc.cc, src/tgba/acc.hh,
      src/tgba/bdddict.cc, src/tgba/bdddict.hh, src/tgba/bddprint.cc,
      src/tgba/bddprint.hh, src/tgba/formula2bdd.cc,
      src/tgba/formula2bdd.hh, src/tgba/fwd.hh, src/tgba/Makefile.am,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.cc,
      src/tgba/tgbagraph.cc, src/tgba/tgbagraph.hh, src/tgba/tgba.hh,
      src/tgba/tgbamask.cc, src/tgba/tgbamask.hh, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgba/.cvsignore: Rename as...
      * src/graphtest/twagraph.cc, src/twa/acc.cc, src/twa/acc.hh,
      src/twa/bdddict.cc, src/twa/bdddict.hh, src/twa/bddprint.cc,
      src/twa/bddprint.hh, src/twa/formula2bdd.cc, src/twa/formula2bdd.hh,
      src/twa/fwd.hh, src/twa/Makefile.am, src/twa/taatgba.cc,
      src/twa/taatgba.hh, src/twa/twa.cc, src/twa/twagraph.cc,
      src/twa/twagraph.hh, src/twa/twa.hh, src/twa/twamask.cc,
      src/twa/twamask.hh, src/twa/twaproduct.cc, src/twa/twaproduct.hh,
      src/twa/twaproxy.cc, src/twa/twaproxy.hh,
      src/twa/twasafracomplement.cc, src/twa/twasafracomplement.hh,
      src/twa/.cvsignore: ... these.
      * README, bench/stutter/stutter_invariance_randomgraph.cc,
      configure.ac, iface/ltsmin/modelcheck.cc, src/Makefile.am,
      src/bin/common_aoutput.cc, src/bin/common_conv.hh,
      src/bin/common_trans.hh, src/bin/dstar2tgba.cc, src/bin/ltl2tgta.cc,
      src/bin/randaut.cc, src/dstarparse/dra2ba.cc,
      src/dstarparse/public.hh, src/graphtest/Makefile.am,
      src/graphtest/ngraph.cc, src/hoaparse/hoaparse.yy,
      src/hoaparse/public.hh, src/kripke/fairkripke.hh,
      src/kripke/kripkeexplicit.cc, src/kripke/kripkeprint.cc,
      src/kripkeparse/kripkeparse.yy, src/ltlvisit/apcollect.cc,
      src/ltlvisit/apcollect.hh, src/ltlvisit/exclusive.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/simplify.hh,
      src/priv/accmap.hh, src/ta/ta.hh, src/ta/taexplicit.cc,
      src/ta/taexplicit.hh, src/ta/tgta.hh, src/ta/tgtaexplicit.cc,
      src/ta/tgtaexplicit.hh, src/ta/tgtaproduct.hh, src/taalgos/dotty.cc,
      src/taalgos/emptinessta.cc, src/taalgos/minimize.cc,
      src/taalgos/tgba2ta.cc, src/taalgos/tgba2ta.hh,
      src/tgbaalgos/are_isomorphic.cc, src/tgbaalgos/are_isomorphic.hh,
      src/tgbaalgos/bfssteps.cc, src/tgbaalgos/canonicalize.cc,
      src/tgbaalgos/canonicalize.hh, src/tgbaalgos/cleanacc.hh,
      src/tgbaalgos/complete.hh, src/tgbaalgos/compsusp.cc,
      src/tgbaalgos/compsusp.hh, src/tgbaalgos/degen.cc,
      src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.cc,
      src/tgbaalgos/dotty.hh, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtbasat.hh, src/tgbaalgos/dtgbacomp.hh,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh,
      src/tgbaalgos/dupexp.cc, src/tgbaalgos/dupexp.hh,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh,
      src/tgbaalgos/gtec/sccstack.hh, src/tgbaalgos/gtec/status.hh,
      src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh, src/tgbaalgos/hoa.cc,
      src/tgbaalgos/hoa.hh, src/tgbaalgos/isdet.hh, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2taa.hh,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh,
      src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh, src/tgbaalgos/mask.hh,
      src/tgbaalgos/minimize.hh, src/tgbaalgos/ndfs_result.hxx,
      src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh,
      src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/powerset.hh, src/tgbaalgos/product.cc,
      src/tgbaalgos/product.hh, src/tgbaalgos/projrun.cc,
      src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/randomgraph.hh, src/tgbaalgos/randomize.hh,
      src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.cc,
      src/tgbaalgos/reducerun.hh, src/tgbaalgos/relabel.hh,
      src/tgbaalgos/remfin.hh, src/tgbaalgos/remprop.hh,
      src/tgbaalgos/replayrun.cc, src/tgbaalgos/replayrun.hh,
      src/tgbaalgos/sbacc.hh, src/tgbaalgos/scc.cc, src/tgbaalgos/scc.hh,
      src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccinfo.cc,
      src/tgbaalgos/sccinfo.hh, src/tgbaalgos/se05.cc,
      src/tgbaalgos/se05.hh, src/tgbaalgos/simulation.cc,
      src/tgbaalgos/simulation.hh, src/tgbaalgos/stats.cc,
      src/tgbaalgos/stats.hh, src/tgbaalgos/stripacc.hh,
      src/tgbaalgos/stutter.cc, src/tgbaalgos/stutter.hh,
      src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
      src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
      src/tgbaalgos/totgba.cc, src/tgbaalgos/totgba.hh,
      src/tgbaalgos/weight.hh, src/tgbaalgos/word.cc, src/tgbatest/acc.cc,
      src/tgbatest/complementation.cc, src/tgbatest/emptchk.cc,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/taatgba.cc,
      wrap/python/spot_impl.i: Adjust.
      703fbd0e
  5. 15 Apr, 2015 1 commit
  6. 14 Apr, 2015 1 commit
  7. 25 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      complete: Fix completion of automata using Fin-acceptance · 23bcbb5b
      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.
      23bcbb5b
  8. 23 Mar, 2015 1 commit
    • Etienne Renault's avatar
      Replace guards by pragma once. · 57cd9f2d
      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.
      57cd9f2d
  9. 17 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      dotty: colored acceptance sets · 838bfb2a
      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.
      838bfb2a
  10. 05 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: add a to_cnf() function · a0ac8dc5
      Alexandre Duret-Lutz authored
      * src/tgba/acc.cc, src/tgba/acc.hh (to_cnf, is_cnf): New functions.
      * src/bin/autfilt.cc: Add a --cnf-acceptance option.
      * src/tgbatest/acc2.test: Test it.
      a0ac8dc5
  11. 03 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      sccinfo: introduce is_rejecting() · ebe4ffc5
      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.
      ebe4ffc5
  12. 26 Feb, 2015 5 commits
    • Alexandre Duret-Lutz's avatar
      acc: refactor strip() routines · 5b2c7b55
      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().
      5b2c7b55
    • Alexandre Duret-Lutz's avatar
      ltlcross: adjust to work with generic acceptance · 717c8577
      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.
      717c8577
    • Alexandre Duret-Lutz's avatar
      Make it easy to complement an acceptance condition · d597050f
      Alexandre Duret-Lutz authored
      * src/tgba/acc.cc, src/tgba/acc.hh (complement): New method.
      * src/bin/autfilt.cc: Add a --complement-acceptance option.
      * src/tgbatest/acc2.test: Test it.
      d597050f
    • Alexandre Duret-Lutz's avatar
      Add a cleanup_acceptance() algorithm · 659107a0
      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.
      659107a0
    • Alexandre Duret-Lutz's avatar
      Add a remove_fin() algorithm · 85508a0e
      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.
      85508a0e
  13. 24 Feb, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: add a to_dnf() method · 1441c4fe
      Alexandre Duret-Lutz authored
      * src/tgba/acc.cc, src/tgba/acc.hh: Implement a to_dnf()
      method.
      * src/bin/autfilt.cc: Add option --dnf-acceptance.
      * src/tgbatest/acc2.test: Test it.
      1441c4fe
  14. 23 Feb, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      acc: Add operators == and != for acc_code · 33c496a4
      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.
      33c496a4
    • Alexandre Duret-Lutz's avatar
      Preliminirary support for generic acceptance. · fd1f6c4d
      Alexandre Duret-Lutz authored
      * src/tgba/acc.hh: Add creation and printing of generic acceptance
      code.
      * src/tgba/acc.cc: New file.
      * src/tgba/Makefile.am: Add it.
      * src/tgbatest/acc.cc: More tests.
      * src/tgbatest/acc.test: Update.
      * src/tgba/tgba.hh (set_acceptance, get_acceptance): New methods.
      * src/tgba/tgbagraph.hh: Store acceptance code.
      * src/hoaparse/hoaparse.yy: Read any acceptance.
      * src/dstarparse/nsa2tgba.cc, src/ta/taexplicit.cc,
      src/tgba/tgbaproduct.cc, src/tgba/tgbasafracomplement.cc,
      src/tgbaalgos/degen.cc, src/tgbaalgos/hoa.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/product.cc, src/tgbaalgos/stutter.cc,
      src/tgbatest/hoaparse.test: Adjust.
      fd1f6c4d
  15. 04 Feb, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: do not store a bdd_dict · 856adef9
      Alexandre Duret-Lutz authored
      Fixes #55.
      
      * src/tgba/acc.hh: Do not store a bdd_dict_ptr, it is not used.
      * src/tgba/tgba.hh, src/tgba/tgba.cc, src/ta/ta.hh,
      src/tgba/tgbagraph.hh, src/tgbaalgos/dtgbasat.cc,
      src/tgbatest/acc.cc: Adjust.
      856adef9
  16. 31 Jan, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      maskacc: Add a tgba_digraph version · d0f0be23
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/mask.cc, src/tgbaalgos/mask.hh: New files.
      * src/tgbaalgos/Makefile.am: Adjust.
      * src/tgba/acc.hh (mark_t::set): New method.
      * src/bin/autfilt.cc: Add option --mask-acc.
      * src/tgbatest/maskacc.test: Rewrite.
      * src/tgbatest/maskacc.cc: Delete.
      * src/tgbatest/Makefile.am: Adjust.
      d0f0be23
  17. 21 Nov, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      hoa: support Inf(!x) · 71d21b37
      Alexandre Duret-Lutz authored
      * src/hoaparse/hoaparse.yy: Here.
      * src/tgbatest/hoaparse.test: More tests.
      * src/tgba/acc.hh (operator^=): New method.
      71d21b37
  18. 06 Oct, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Store membership to acceptance sets using bitsets, not BDDs. · 2c764fb3
      Alexandre Duret-Lutz authored
      This is a huge patch, that took over a month to complete.  The bit sets
      are currently restricted to what 'unsigned can store', but it should be
      easy to extend it to 'uint64_t' should we need it.
      
      * NEWS: Update.
      * src/tgba/acc.hh: New file.
      * src/tgbatest/acc.cc, src/tgbatest/acc.test: Test it.
      * src/tgba/tgbakvcomplement.cc, src/tgba/tgbakvcomplement.hh,
      src/tgba/tgbasgba.cc, src/tgba/tgbasgba.hh: Delete.  The KV
      complementation is too slow to be used in practice, and I somehow broke
      it during the conversion to bitsets.  The tgba->sgba conversion was only
      used for the KV complementation, and should be better redone on
      tgba_digraph_ptr should it be needed again.
      * src/bin/ltlcross.cc, src/dstarparse/dra2ba.cc,
      src/dstarparse/nsa2tgba.cc, src/graphtest/tgbagraph.cc,
      src/graphtest/tgbagraph.test, src/kripke/fairkripke.cc,
      src/kripke/fairkripke.hh, src/kripke/kripke.cc, src/kripke/kripke.hh,
      src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/misc/hash.hh, src/neverparse/neverclaimparse.yy, src/priv/accmap.hh,
      src/ta/ta.cc, src/ta/ta.hh, src/ta/taexplicit.cc, src/ta/taexplicit.hh,
      src/ta/taproduct.cc, src/ta/taproduct.hh, src/ta/tgta.cc,
      src/ta/tgta.hh, src/ta/tgtaexplicit.cc, src/ta/tgtaexplicit.hh,
      src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh, src/taalgos/dotty.cc,
      src/taalgos/emptinessta.cc, src/taalgos/minimize.cc,
      src/taalgos/tgba2ta.cc, src/tgba/Makefile.am, src/tgba/fwd.hh,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.cc,
      src/tgba/tgba.hh, src/tgba/tgbagraph.cc, src/tgba/tgbagraph.hh,
      src/tgba/tgbamask.cc, src/tgba/tgbamask.hh, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgbaalgos/bfssteps.cc, src/tgbaalgos/complete.cc,
      src/tgbaalgos/compsusp.cc, src/tgbaalgos/degen.cc,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/dtgbasat.cc,
      src/tgbaalgos/dupexp.cc, src/tgbaalgos/emptiness.cc,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/gtec/ce.cc,
      src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
      src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh,
      src/tgbaalgos/gv04.cc, src/tgbaalgos/hoaf.cc,
      src/tgbaalgos/isweakscc.cc, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/magic.cc,
      src/tgbaalgos/ndfs_result.hxx, src/tgbaalgos/neverclaim.cc,
      src/tgbaalgos/postproc.cc, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh,
      src/tgbaalgos/reducerun.cc, src/tgbaalgos/replayrun.cc,
      src/tgbaalgos/safety.cc, src/tgbaalgos/save.cc, src/tgbaalgos/scc.cc,
      src/tgbaalgos/scc.hh, src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh,
      src/tgbaalgos/se05.cc, src/tgbaalgos/simulation.cc,
      src/tgbaalgos/simulation.hh, src/tgbaalgos/stats.cc,
      src/tgbaalgos/stripacc.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc, src/tgbaalgos/weight.cc,
      src/tgbaalgos/weight.hh, src/tgbaparse/tgbaparse.yy,
      src/tgbatest/Makefile.am, src/tgbatest/complementation.cc,
      src/tgbatest/complementation.test, src/tgbatest/degenlskip.test,
      src/tgbatest/det.test, src/tgbatest/dstar.test, src/tgbatest/emptchk.cc,
      src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
      src/tgbatest/explpro4.test, src/tgbatest/explprod.test,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/ltl2tgba.test,
      src/tgbatest/maskacc.cc, src/tgbatest/maskacc.test,
      src/tgbatest/neverclaimread.test, src/tgbatest/randtgba.cc,
      src/tgbatest/readsave.test, src/tgbatest/sim.test,
      src/tgbatest/sim2.test, src/tgbatest/spotlbtt.test,
      src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test,
      iface/dve2/dve2.cc: Adjust or use to the new acceptance interface.
      2c764fb3