Commit graph

2868 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
1411fa6063 cycles: rewrite using the tgba_digraph interface
Fixes #50.

* src/tgbaalgos/cycles.cc, src/tgbaalgos/cycles.hh: Rewrite using
unsigned instead of state*, and std::vector instead of std::map.
* src/tgbaalgos/isweakscc.cc, src/tgbaalgos/powerset.cc: Adjust.
2015-01-18 14:03:16 +01:00
Alexandre Duret-Lutz
8fd594f5d0 ltlfilt: add a --max-count/-n option
This fixes #44.

* src/bin/ltlfilt.cc: Implement -n/--max-count.
* doc/org/ltlfilt.org, src/tgbatest/randpsl.test: Use it
* NEWS: Document it.
2015-01-14 19:59:23 +01:00
Alexandre Duret-Lutz
ae234d2e12 ltlfilt: remove -n.
* src/bin/ltlfilt.cc: Remove short option -n for --negate.
2015-01-14 18:24:31 +01:00
Alexandre Duret-Lutz
7c55500d0e never: fix output of accepting initial states
* src/tgbaalgos/neverclaim.cc: Make sure the any accepting initial state
is not output as an accept_all state.  This bug caused ltl2dstar.test to
fail.
2015-01-13 18:02:13 +01:00
Alexandre Duret-Lutz
f3f4305150 use ltl2tgba -Ds instead of ltl2tgba -sD in the test suite
Because -s can now take arguments.

* src/tgbatest/ltl2dstar2.test: Here.
2015-01-13 17:13:58 +01:00
Alexandre Duret-Lutz
1578cdf837 minimize: cosmetics
* src/tgbaalgos/minimize.cc (minimize_monitor): Simplify the call to
tgba_powerset.
2015-01-13 17:13:03 +01:00
Alexandre Duret-Lutz
f958c51991 powerset: rewrite the determinization construction using bitvectors
This helps issue #26 considerably, but I'm not closing it because there
are a few places here and there that can be cleaned up.  For instance
build_state_set in minimize.cc should be rewritten.

* src/misc/bitvect.hh (bitvector_array::clear_all): New method.
* src/tgbaalgos/powerset.cc (tgba_powerset): Rewrite it.
* src/tgbaalgos/powerset.hh (power_map): Simplify.
2015-01-13 17:08:37 +01:00
Alexandre Duret-Lutz
0d1c08e6e1 powerset: tiny speedup
* src/tgbaalgos/powerset.cc: Replace std::deque by vector, and take
the return of aut->out(s) by reference.
2015-01-12 23:23:47 +01:00
Alexandre Duret-Lutz
2377523c02 powerset: simplify an implication check
* src/tgbaalgos/powerset.cc: Use bdd_implies.
2015-01-11 19:14:32 +01:00
Alexandre Duret-Lutz
6f7f9ef8bc isdet: rewrite using the tgba_digraph interface
* src/tgbaalgos/isdet.cc, src/tgbaalgos/isdet.hh: Rewrite
using the tgba_digraph interface.
* src/tgbatest/ltl2tgba.cc: Adjust call.
2015-01-11 13:58:52 +01:00
Alexandre Duret-Lutz
c85ba787e8 ltltest: get rid of equals.cc
* src/ltltest/equals.cc: Delete.
* src/ltltest/Makefile.am: Adjust.
* src/ltltest/unabbrevwm.test: Rewrite using ltlfilt.
2015-01-09 23:18:55 +01:00
Alexandre Duret-Lutz
6a2aad6259 never: add an option to output in Spin's 6.2.4 style
Fixes #46.

* src/tgbaalgos/neverclaim.cc: Add option '6'.
* src/bin/common_aoutput.cc, src/bin/dstar2tgba.cc: Make it
possible to use the option.
* NEWS, doc/org/oaut.org: Document it.
* src/tgbatest/ltlcross2.test: Test it.
2015-01-09 22:52:46 +01:00
Alexandre Duret-Lutz
604971d651 postproc: use scc_filter_states on SBA
* src/tgbaalgos/postproc.cc: Here.  Otherwise, reading
a neverclaim with autfilt would loose the SBA property
and degeneralize again.
2015-01-09 22:23:55 +01:00
Alexandre Duret-Lutz
b2c2411bcc degen: remove two useless casts
* src/tgbaalgos/degen.cc: Here.
2015-01-09 22:22:28 +01:00
Alexandre Duret-Lutz
4f6f71fe39 neverclaim: rewrite the output using the tgba_digraph interface
* src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh: Here.
Also take a string to supply options.
* src/tgbatest/ltl2tgba.cc: Adjust call.
2015-01-09 18:27:49 +01:00
Alexandre Duret-Lutz
eadcf95363 powerset: rewrite using the tgba_digraph interface
Fixes #48.

* src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh: Here.
* src/tgbaalgos/minimize.cc: Adjust usage.
2015-01-09 17:13:31 +01:00
Alexandre Duret-Lutz
d6ba00ffe1 org: add another example
* doc/org/oaut.org: Show another way to perform the last computation.
2015-01-09 16:52:27 +01:00
Alexandre Duret-Lutz
a539dc9002 style: make sure we do not have SPOT_API in *.cc files
* src/sanity/style.test: Check for it.
* src/dstarparse/nra2nba.cc, src/dstarparse/nsa2tgba.cc,
src/tgbaalgos/randomize.cc, src/tgbaalgos/stutter.cc: Fix all those.
2015-01-09 16:15:58 +01:00
Alexandre Duret-Lutz
5536bac4a1 dstarparse, hoaparse: rename inline namespace to please clang
The namespace dstaryy was declared inline and then reopened as
non-inline.  Likewise for hoayy.  Let's use different names.

* src/dstarparse/dstarparse.yy, src/hoaparse/hoaparse.yy: Here.
2015-01-09 14:57:58 +01:00
Alexandre Duret-Lutz
2460f5d0fb randltl: fix determinism
* src/ltlvisit/randomltl.cc: Make sure generation of binary operator is
done in a deterministic order.
2015-01-09 14:52:13 +01:00
Alexandre Duret-Lutz
838a283627 more files to ignore 2015-01-09 14:40:45 +01:00
Alexandre Duret-Lutz
ec408c362c ltlgrind: fix indeterminism
* src/ltlvisit/mutation.cc: Force order of evaluation of arguments of
binops.
2015-01-09 14:39:25 +01:00
Alexandre Duret-Lutz
e01ab2b236 sccinfo: make it easier to iterate over all SCCs
* src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh: add
scc_info::begin() and scc_info::end() methods to iterate over the
node_ vector.   Tidy the scc_node structure that that its member
are accessed via methods.
* src/tgbaalgos/safety.cc, src/bin/ltlcross.cc: Simplify using
this interface.
2015-01-09 13:46:13 +01:00
Alexandre Duret-Lutz
579e8fc0a9 add missing utf-8 header to many source files
* src/sanity/style.test: Test for the missing header.
* iface/ltsmin/check.test, src/kripketest/kripke.test,
src/kripketest/parse_print_test.cc, src/ltlparse/fmterror.cc,
src/ltltest/consterm.test, src/ltltest/kind.test,
src/ltltest/length.test, src/ltltest/ltlfilt.test,
src/ltltest/reduc.cc, src/ltltest/reduc.test,
src/ltltest/reduc0.test, src/ltltest/reducpsl.test,
src/ltltest/remove_x.test, src/ltltest/unabbrevwm.test,
src/ltltest/utf8.test, src/ltltest/uwrm.test, src/ltlvisit/dump.cc,
src/ltlvisit/remove_x.cc, src/misc/casts.hh, src/misc/fixpool.hh,
src/misc/hashfunc.hh, src/misc/ltstr.hh, src/sanity/readme.test,
src/taalgos/tgba2ta.cc, src/tgbaalgos/bfssteps.cc,
src/tgbaalgos/stats.cc, src/tgbatest/acc.test,
src/tgbatest/bitvect.test, src/tgbatest/complementation.test,
src/tgbatest/cycles.test, src/tgbatest/degendet.test,
src/tgbatest/dfs.test, src/tgbatest/dupexp.test,
src/tgbatest/emptchkr.test, src/tgbatest/intvcomp.test,
src/tgbatest/ltl2ta.test, src/tgbatest/ltl2ta2.test,
src/tgbatest/ltlprod.test, src/tgbatest/maskacc.test,
src/tgbatest/obligation.test, src/tgbatest/randpsl.test,
src/tgbatest/readsat.cc, src/tgbatest/readsat.test,
src/tgbatest/scc.test, src/tgbatest/sccsimpl.test,
src/tgbatest/taatgba.test, src/tgbatest/tgbaread.test,
src/tgbatest/tripprod.test, src/tgbatest/uniq.test,
src/tgbatest/wdba.test: Add it.
2015-01-09 08:23:49 +01:00
Alexandre Duret-Lutz
3a70b57067 projrun: modernize
* src/tgbaalgos/emptiness.hh (step): Add constructors...
* src/tgbaalgos/projrun.cc: ... to simplify this.
2015-01-09 08:23:49 +01:00
Alexandre Duret-Lutz
94577d6519 product: rename the one-the-fly version as otf_product
This avoid compiler errors about ambiguous calls and make sure we are
calling the intended algorithms everywhere (this wasn't the case).

* src/tgba/tgbaproduct.hh (product, product_at): Rename as...
(otf_product, otf_product_at): ... this.
* iface/ltsmin/modelcheck.cc, src/bin/autfilt.cc, src/bin/ltlfilt.cc,
src/tgbaalgos/minimize.cc, src/tgbaalgos/powerset.cc,
src/tgbatest/ltl2tgba.cc, src/tgbatest/checkpsl.cc,
src/tgbatest/complementation.cc, src/tgbatest/ltlprod.cc: Adjust
callers.
2015-01-09 08:23:49 +01:00
Alexandre Duret-Lutz
a9748804e4 contain: adjust to use explicit product
* src/ltlvisit/contain.cc, src/ltlvisit/contain.hh: Here.
2015-01-08 23:39:53 +01:00
Alexandre Duret-Lutz
bb9b204dee stutter: gather all code in one place
* src/tgba/tgbasl.cc, src/tgba/tgbasl.hh, src/tgbaalgos/closure.cc,
src/tgbaalgos/closure.hh, src/tgbaalgos/stutter_invariance.cc,
src/tgbaalgos/stutter_invariance.hh, src/tgbaalgos/stutterize.cc,
src/tgbaalgos/stutterize.hh: Delete these files, and merge their
contents into...
* src/tgbaalgos/stutter.cc, src/tgbaalgos/stutter.hh: ... these two.
* src/tgba/Makefile.am, src/tgbaalgos/Makefile.am: Adjust.
* wrap/python/spot.i: Adjust.
2015-01-08 23:39:45 +01:00
Alexandre Duret-Lutz
ab985afa9e * src/tgbaalgos/weight.hh: Remove useless status. 2015-01-08 21:46:44 +01:00
Alexandre Duret-Lutz
5345cae839 * src/tgbaalgos/emptiness_stats.hh: Modernize. 2015-01-08 21:45:22 +01:00
Alexandre Duret-Lutz
d9d46492cb more files to ignore 2015-01-08 21:04:03 +01:00
Alexandre Duret-Lutz
d3fdf55fa3 fix symbol collision, seen with clang-3.5
autfilt would segfault after reading any file, because the local result_
structure used in hoaparse has the same name as the local result_
structure used in dstarparse.  For some reason I can only see this
problem using clang-3.5, not with gcc.

* src/dstarparse/dstarparse.yy, src/hoaparse/hoaparse.yy: Declare both
structures in a different namespace.
2015-01-08 20:59:57 +01:00
Alexandre Duret-Lutz
ee0c0cd28c * doc/org/tools.org: Adjust colors in text. 2015-01-08 18:33:17 +01:00
Alexandre Duret-Lutz
4673427252 remove obsolete comments
* src/tgbaalgos/lbtt.hh, src/tgbaalgos/neverclaim.hh: Remove obsolete
comments.  Reported by Claire Parquier.
2015-01-08 17:01:40 +01:00
Alexandre Duret-Lutz
1492acc585 * src/dstarparse/dstarscan.ll: Fix encoding. 2015-01-08 15:22:40 +01:00
Alexandre Duret-Lutz
56ed13a96d org: factor headers into setup.org
* doc/org/setup.org: New file.
* doc/Makefile.am: Distribute it.
* doc/org/autfilt.org, doc/org/csv.org, doc/org/dstar2tgba.org,
doc/org/genltl.org, doc/org/ioltl.org, doc/org/ltl2tgba.org,
doc/org/ltl2tgta.org, doc/org/ltlcross.org, doc/org/ltlfilt.org,
doc/org/ltlgrind.org, doc/org/oaut.org, doc/org/randaut.org,
doc/org/randltl.org, doc/org/satmin.org, doc/org/tools.org: Use
setup.org.
2015-01-07 19:35:30 +01:00
Alexandre Duret-Lutz
15852b4e93 org: update randltl.org
* doc/org/randltl.org: The first example used to output '1' as
only random formula.  This is not very sexy.
2015-01-07 19:35:30 +01:00
Alexandre Duret-Lutz
fbcc9fb81f org: use a white background and ship the CSS
* doc/org/spot.css: New file.
* doc/Makefile.am: Distribute it.
* doc/org/init.el.in, doc/org/.dir-locals.el: Adjust links.
2015-01-07 19:35:30 +01:00
Alexandre Duret-Lutz
f9029858c4 org: Update results to new output
The dotty output changed to be horizontal, and also
the acceptance sets are now numbers.

* doc/org/dstar2tgba.org, doc/org/ltl2tgba.org, doc/org/ltl2tgta.org,
doc/org/satmin.org: Adjust these four.
2015-01-06 18:42:49 +01:00
Alexandre Duret-Lutz
f88020035c org: fix EMAIL link
* doc/org/autfilt.org, doc/org/csv.org, doc/org/dstar2tgba.org,
doc/org/genltl.org, doc/org/ioltl.org, doc/org/ltl2tgba.org,
doc/org/ltl2tgta.org, doc/org/ltlcross.org, doc/org/ltlfilt.org,
doc/org/ltlgrind.org, doc/org/oaut.org, doc/org/randaut.org,
doc/org/randltl.org, doc/org/satmin.org, doc/org/tools.org: Here.
2015-01-06 18:23:58 +01:00
Alexandre Duret-Lutz
a3ce452548 Update HACKING
* HACKING: Update Swig requirement, as reported by Soheib.
2015-01-06 16:23:26 +01:00
Alexandre Duret-Lutz
7c34c1ae79 stutterize: fix sl2() to keep the correct properties
Combined with 87c2b29, this fixes #7.

* src/tgbaalgos/stutterize.cc: Call keep_props().
* src/tgbaalgos/closure.cc: Just specify the encoding.
* src/bin/autfilt.cc: Add a --instut=2 option.
* src/tgbatest/stutter.test: More test.
2015-01-05 21:52:12 +01:00
Alexandre Duret-Lutz
314993b201 hoa: add two asserts
* src/tgbaalgos/hoa.cc: Here.
2015-01-05 21:46:21 +01:00
Alexandre Duret-Lutz
0b8b65f96f hoaparse: validate use of deterministic and complete
* src/hoaparse/hoaparse.yy: validate deterministic and
complete when parsing HOA.  Also set the deterministic
property on the TGBA.
* src/tgbatest/hoaparse.test: Test errors.
2015-01-05 21:46:21 +01:00
Alexandre Duret-Lutz
578e390d8d hoaparse: validate use of explicit-labels and implicit-labels
* src/hoaparse/hoaparse.yy: Here.
* src/tgbatest/hoaparse.test: Test it.
2015-01-05 21:45:55 +01:00
Alexandre Duret-Lutz
34b798e115 hoaparse: validate use of state-labels and trans-labels
* src/hoaparse/hoaparse.yy: Fix a map with properties, and use it to
report error when state-label or trans-label are misused.
* src/tgbatest/hoaparse.test: Test that.
2015-01-05 13:33:59 +01:00
Alexandre Duret-Lutz
eff4bdb80f more files to ignore 2015-01-05 11:36:29 +01:00
Alexandre Duret-Lutz
0895f11503 hoa: use the tgba_digraph interface to save automata
* src/tgbaalgos/hoa.cc: Here.
* src/tgbatest/det.test, src/tgbatest/hoaparse.test,
src/tgbatest/monitor.test, doc/org/oaut.org: Adjust.
2015-01-04 23:39:47 +01:00
Alexandre Duret-Lutz
892fb11f04 neverclaim: do not pass the formula
* src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh: Do not
pass the formula.  Use the automaton name instead.
* src/tgbatest/ltl2tgba.cc: Adjust.
2015-01-04 18:01:24 +01:00
Alexandre Duret-Lutz
490c97d797 hoa: simplify the interface of hoa_reachable()
* src/tgbaalgos/hoa.cc, src/tgbaalgos/hoa.hh: Only
keep one function public, and do not pass the formula.
* src/tgbatest/ltl2tgba.cc: Adjust.
2015-01-04 18:00:32 +01:00