1. 02 Apr, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      new transformation from Fin-less to TGBA · e589e208
      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.
      e589e208
  2. 01 Apr, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      degen: add a lowinit option · 7bb183b9
      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.
      7bb183b9
    • Alexandre Duret-Lutz's avatar
      degen: do not mark initial trivial SCCs as accepting · 6e8170e3
      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.
      6e8170e3
  3. 31 Mar, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      stutter: improve closure · a18327d4
      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.
      a18327d4
    • Alexandre Duret-Lutz's avatar
      randaut: add option --acc-type=random · 2f42c1c9
      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.
      2f42c1c9
    • Alexandre Duret-Lutz's avatar
      rename cleanup_acceptance() as cleanup_acceptance_here() · df981a06
      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.
      df981a06
  4. 25 Mar, 2015 2 commits
    • 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
    • Alexandre Duret-Lutz's avatar
      cleanacc: better cleanup · 7353e47f
      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.
      7353e47f
  5. 24 Mar, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      autfilt: add a --remove-ap option · 4553ac06
      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.
      4553ac06
    • Alexandre Duret-Lutz's avatar
      maskacc: reverse the way the acceptance condition is stripped · e592832a
      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.
      e592832a
    • Alexandre Duret-Lutz's avatar
      remove_fin: remove useless states · 020bbd44
      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.
      020bbd44
  6. 23 Mar, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      dot: better support of state-based acceptance · ead2ca01
      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.
      ead2ca01
    • 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
  7. 22 Mar, 2015 1 commit
  8. 20 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      Do not store getenv() pointers in static variables. · 125fa983
      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.
      125fa983
  9. 18 Mar, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      get rid of prop_single_acc_set() and set_single_acc_set() · b803a0ee
      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.
      b803a0ee
    • Alexandre Duret-Lutz's avatar
      rename set_single_acceptance_set() to set_buchi() · 47d9a2d5
      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.
      47d9a2d5
    • Alexandre Duret-Lutz's avatar
      rename copy_acceptance_conditions_of() · a79267b8
      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.
      a79267b8
  10. 17 Mar, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      sat: add missing prop_state_based_acc() call · 72eed9b2
      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.
      72eed9b2
    • 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
  11. 16 Mar, 2015 1 commit
  12. 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
  13. 01 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix a bug seen with link-time optimizations enabled. · a530498f
      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.
      a530498f
  14. 28 Feb, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      add a stutter-invariant property to automata · 1f0bb428
      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.
      1f0bb428
    • Alexandre Duret-Lutz's avatar
      hoa: add option to output implicit labels · 566118a5
      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.
      566118a5
    • Alexandre Duret-Lutz's avatar
  15. 27 Feb, 2015 1 commit
    • Etienne Renault's avatar
      random: Get rid of uniform_distribution (non-portable). · 734bceff
      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.
      734bceff
  16. 26 Feb, 2015 11 commits
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      dot: add an option to display the acceptance · 5b3034b6
      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.
      5b3034b6
    • Alexandre Duret-Lutz's avatar
      postproc: make sure WDBA have an acceptance set if BA is desired · 095ac93b
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/postproc.cc: Here.
      * src/tgbatest/ltl2tgba.test: Make sure ltl2tgba -B 0 has one
      acceptance set.
      095ac93b
    • Alexandre Duret-Lutz's avatar
      Prefix many algorithms with runtime_error for unexpected acceptance · f0b1b943
      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.
      f0b1b943
    • Alexandre Duret-Lutz's avatar
    • 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
      remfin: introduce less acceptance sets for interferences · 9ccbc349
      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.
      9ccbc349
    • Alexandre Duret-Lutz's avatar
      remfin: cleanup acceptance · 83dfb4a9
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/remfin.cc: Call cleanup_acceptance().
      * src/tgbatest/remfin.test: Adjust.
      83dfb4a9
    • 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
  17. 23 Feb, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      stats: use %g to print the (generic) acceptance condition · de586dd2
      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.
      de586dd2
    • 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