1. 20 Jun, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Adjust some uses of bddtrue/bddfalse. · 4df4b4ef
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03opt.cc: Fix
      cases where bddtrue and bddfalse where used in a ternary operator.
      * src/sanity/style.test: Allow bdd_true()/bdd_false() to be
      used in ternary operators.
      4df4b4ef
  2. 12 Feb, 2014 3 commits
    • Alexandre Duret-Lutz's avatar
      Replace << "c" by << 'c', and check for it in style.sh · ba5aff24
      Alexandre Duret-Lutz authored
      * src/sanity/style.test: Add a test.
      * iface/dve2/dve2.cc, iface/dve2/dve2check.cc, src/bin/common_output.cc,
      src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc, src/bin/ltlcross.cc,
      src/dstarparse/dra2ba.cc, src/dstarparse/fmterror.cc,
      src/dstarparse/nsa2tgba.cc, src/kripke/kripkeprint.cc,
      src/kripkeparse/fmterror.cc, src/ltlast/atomic_prop.cc,
      src/ltlast/bunop.cc, src/ltltest/ltlrel.cc, src/ltltest/reduc.cc,
      src/ltltest/syntimpl.cc, src/ltlvisit/dotty.cc, src/ltlvisit/lbt.cc,
      src/ltlvisit/randomltl.cc, src/ltlvisit/relabel.cc,
      src/ltlvisit/simplify.cc, src/ltlvisit/tostring.cc, src/misc/bitvect.cc,
      src/misc/optionmap.cc, src/misc/timer.cc, src/neverparse/fmterror.cc,
      src/priv/freelist.cc, src/saba/sabacomplementtgba.cc,
      src/sabaalgos/sabadotty.cc, src/taalgos/dotty.cc,
      src/taalgos/minimize.cc, src/tgba/bdddict.cc, src/tgba/bddprint.cc,
      src/tgba/futurecondcol.cc, src/tgba/taatgba.hh,
      src/tgba/tgbakvcomplement.cc, src/tgba/tgbasafracomplement.cc,
      src/tgbaalgos/compsusp.cc, src/tgbaalgos/cycles.cc,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/emptiness.cc,
      src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gv04.cc,
      src/tgbaalgos/lbtt.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/minimize.cc, src/tgbaalgos/neverclaim.cc,
      src/tgbaalgos/powerset.cc, src/tgbaalgos/replayrun.cc,
      src/tgbaalgos/save.cc, src/tgbaalgos/scc.cc, src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/weight.cc, src/tgbaalgos/word.cc,
      src/tgbaparse/fmterror.cc, src/tgbatest/bitvect.cc,
      src/tgbatest/complementation.cc, src/tgbatest/intvcmp2.cc,
      src/tgbatest/intvcomp.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/randtgba.cc: Replace << "c" by << 'c' when
      appropriate.
      ba5aff24
    • Alexandre Duret-Lutz's avatar
      Introduce tgba::release_iter(). · 06c69f88
      Alexandre Duret-Lutz authored
      Instead of "delete iter;" we now do "aut->release_iter(iter);" to
      give the iterator back to the automaton.  The TGBA classes now
      reuse a previously returned tgba_succ_iterator to answer a succ_iter()
      call, therefore avoiding (1) memory allocation, as well as (2) vtable
      and other constant member initialization.
      
      * src/tgba/tgba.hh, src/tgba/tgba.cc (release_iter, iter_cache_):
      Implement a release_iter() that stores the released iterator
      in iter_cache_.
      * src/tgba/succiter.hh (internal::succ_iterable): Move...
      * src/tgba/tgba.hh (tgba::succ_iterable): ... here. And use
      release_iter().
      
      * iface/dve2/dve2.cc, src/kripke/kripke.cc, src/kripke/kripke.hh,
      src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh,
      src/tgba/taatgba.hh, src/tgba/tgbabddconcrete.cc,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbamask.cc, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproxy.cc, src/tgba/tgbascc.cc, src/tgba/tgbatba.cc,
      src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc,
      src/tgbaalgos/bfssteps.cc, src/tgbaalgos/compsusp.cc,
      src/tgbaalgos/cycles.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/gtec/gtec.cc,
      src/tgbaalgos/gv04.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/reachiter.cc,
      src/tgbaalgos/replayrun.cc, src/tgbaalgos/safety.cc,
      src/tgbaalgos/scc.cc, src/tgbaalgos/se05.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc: Use release_iter() instead of deleting
      iterators, and used recycle iter_cache_ in implementations of
      tgba::succ_iter().
      06c69f88
    • Alexandre Duret-Lutz's avatar
      c++11: replace Sgi::hash_* by Sgi::unordered_*. · 34e91b76
      Alexandre Duret-Lutz authored
      * bench/scc-stats/stats.cc, bench/split-product/cutscc.cc,
      iface/gspn/ssp.cc, src/bin/ltlcross.cc, src/bin/ltlfilt.cc,
      src/bin/randltl.cc, src/dstarparse/nsa2tgba.cc, src/ltlast/formula.hh,
      src/ltlast/nfa.hh, src/ltlvisit/contain.hh, src/ltlvisit/dotty.cc,
      src/ltlvisit/mark.hh, src/ltlvisit/relabel.cc, src/ltlvisit/relabel.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/snf.hh, src/misc/hash.hh,
      src/misc/mspool.hh, src/priv/acccompl.hh, src/priv/accconv.hh,
      src/saba/explicitstateconjunction.hh, src/saba/sabastate.hh,
      src/sabaalgos/sabareachiter.hh, src/sanity/style.test,
      src/ta/taexplicit.cc, src/ta/taexplicit.hh, src/taalgos/emptinessta.cc,
      src/taalgos/minimize.cc, src/taalgos/reachiter.hh, src/tgba/state.hh,
      src/tgba/taatgba.hh, src/tgba/tgbabddconcretefactory.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.cc,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbatba.cc,
      src/tgba/tgbatba.hh, src/tgbaalgos/cutscc.cc, src/tgbaalgos/cycles.hh,
      src/tgbaalgos/degen.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/gtec/explscc.hh,
      src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gv04.cc,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/magic.cc,
      src/tgbaalgos/minimize.cc, src/tgbaalgos/ndfs_result.hxx,
      src/tgbaalgos/powerset.hh, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/reachiter.hh, src/tgbaalgos/replayrun.cc,
      src/tgbaalgos/safety.cc, src/tgbaalgos/scc.hh, src/tgbaalgos/se05.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc: Adjust code.
      * src/sanity/style.test: Remove check.
      34e91b76
  3. 08 Feb, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      sat-minimize: more statistics. · 55ee18b9
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Record
      statistics about intermediate automata if SPOT_SATLOG is set to some
      filename, and display intermediate automata if SPOT_SATSHOW is set.
      * bench/dtgbasat/stat.sh, bench/dtgbasat/stats.sh,
      bench/dtgbasat/tabl.pl, bench/dtgbasat/tabl1.pl,
      bench/dtgbasat/tabl2.pl, bench/dtgbasat/tabl3.pl,
      bench/dtgbasat/tabl4.pl: Gather these extra statistics.
      55ee18b9
    • Alexandre Duret-Lutz's avatar
      sat-minimize: limit number of iterations · 1319ec0b
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Compute the
      actual number of reachable states in the produced automaton to prepare
      the next iteration.
      1319ec0b
  4. 07 Feb, 2014 3 commits
    • Alexandre Duret-Lutz's avatar
      sat: more debug. · b4d0b9ee
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: More debuging
      code.
      b4d0b9ee
    • Alexandre Duret-Lutz's avatar
      sat: factor the creation of temporary files · 9c98975c
      Alexandre Duret-Lutz authored
      * src/misc/satsolver.hh, src/misc/satsolver.cc: Present
      the SAT solver as an object with a stream interface, to
      prepare for a better implementation.
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc:
      Adjust to the new interface, removing all the handling
      of temporary files.
      * src/tgbatest/readsat.cc: Adjust.
      9c98975c
    • Alexandre Duret-Lutz's avatar
      sat: fix some non-determinism of the encoding · 1853bdd5
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Rewrite the
      loops that number the states of the reference automaton so that
      they declare CNF variable numbers in the same order as the states
      of the automaton.
      1853bdd5
  5. 16 Sep, 2013 6 commits
  6. 08 Sep, 2013 3 commits
    • Alexandre Duret-Lutz's avatar
      sat: implement partial symmetry breaking · e9f60df8
      Alexandre Duret-Lutz authored
      Thanks to Rüdiger Ehlers for his helpful email.
      
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Here.
      e9f60df8
    • Alexandre Duret-Lutz's avatar
      sat: generalize the code for reading the solution · 90c106f8
      Alexandre Duret-Lutz authored
      * src/misc/satsolver.cc, src/misc/satsolver.hh (satsolver_get_solution):
      New function, that accepts a solution split on multiple 'v ' lines.
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc (get_solution):
      Remove, and adjust existing code to use satsolver_get_solution().
      * src/tgbatest/readsat.cc, src/tgbatest/readsat.test: New files.
      * src/tgbatest/Makefile.am: Add them.
      * src/bin/man/spot-x.x: Mention the SAT competition rules for
      the expected input/output format.
      90c106f8
    • Alexandre Duret-Lutz's avatar
      satmin: cleanup interfaces and minimization loops · fdb157bf
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtbasat.hh:
      (dtba_sat_minimize): Split into...
      (dtba_sat_synthetize, dtba_sat_minimize): These.
      (dtba_sat_minimize_dichotomy): New function.
      * src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh
      (dtgba_sat_minimize, dtgba_sat_synthetize): Likewise.
      * src/tgbatest/ltl2tgba.cc: Adjust to new interface.
      * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh:
      Cleanup option processing for SAT options.
      * src/tgbatest/satmin.test: Adjust.
      * src/bin/spot-x.cc, src/bin/man/spot-x.x, NEWS: Document.
      fdb157bf
  7. 26 Aug, 2013 4 commits
    • Alexandre Duret-Lutz's avatar
      sat: improve our algorithms · bcd794c6
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtbasat.hh:
      Rename dba_sat_minimize to dtba_sat_minimize.
      Make it possible to produce state-based automata, and do
      not output useless clauses.
      * src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh:
      likewise, but also add the possibility to set the
      target number of states, as in dtba_sat_minimize.
      * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh:
      Add new options for state-based computations and
      setting acceptance and states number when using
      dtgba_sat_minimize().
      * src/tgbatest/ltl2tgba.cc: Adjust calls to
      dtba_sat_minimize().
      * src/tgbatest/satmin.test: Adjust calls.
      bcd794c6
    • Alexandre Duret-Lutz's avatar
      satsolver: new function · 3b10bb3b
      Alexandre Duret-Lutz authored
      Uses the value of the SPOT_SATSOLVER environment variable
      to decide how to call the SAT solver.
      
      * src/misc/satsolver.cc, src/misc/satsolver.hh: New files.
      * src/misc/Makefile.am: Add them.
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Use satsolver().
      3b10bb3b
    • Alexandre Duret-Lutz's avatar
      Implement dtgba_sat_minimize(). · 679df4ee
      Alexandre Duret-Lutz authored
      Joint work with Soheib Baarir.
      
      * src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh: New files.
      * src/tgbaalgos/Makefile.am: Add them.
      * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Add
      a dtgba-sat-minimize option.
      * src/tgbatest/ltl2tgba.cc: Add option -RG.
      * src/tgbatest/satmin.test: Add more tests.
      679df4ee
    • Alexandre Duret-Lutz's avatar
      dtbasat: implement dba_sat_minimize() · d9f3ca71
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtbasat.hh: New files.
      * src/tgbaalgos/Makefile.am: Add them.
      * src/tgbatest/ltl2tgba.cc: Add option -RS.
      d9f3ca71