add support for the weak property
This fixes #119. * doc/org/tut21.org, doc/org/hoa.org, NEWS: Document it. * src/twa/twa.hh: Support it in automata. * src/twaalgos/hoa.cc, src/parseaut/parseaut.yy: Add I/O support. * src/twaalgos/minimize.cc, src/twaalgos/totgba.cc: Set weak automata on output. * src/tests/complement.test, src/tests/parseaut.test, src/tests/readsave.test, src/tests/remfin.test, src/tests/sccsimpl.test, src/tests/wdba2.test, wrap/python/tests/automata-io.ipynb: Adjust.
This commit is contained in:
parent
eecd201273
commit
654888718c
15 changed files with 62 additions and 33 deletions
|
|
@ -527,7 +527,7 @@ is parsed; this is for instance the case of =deterministic=,
|
|||
body of the file, and then return and error if what has been declared
|
||||
does not correspond to the reality.
|
||||
|
||||
Some supported properties (like =inherently-weak=, =unambiguous=, or
|
||||
Some supported properties (like =weak=, =unambiguous=, or
|
||||
=stutter-invariant=) are not double-checked, because that would
|
||||
require too much additional operations. Command-line tools that read
|
||||
HOA files all take a =--trust-hoa=no= option to ignore properties that
|
||||
|
|
@ -591,7 +591,8 @@ particular:
|
|||
| =unambiguous= | trusted | yes | as stored if (=-Hv= or not =deterministic=) | can be re-checked with =--check=unambiguous= |
|
||||
| =stutter-invariant= | trusted | yes | as stored | can be re-checked with =--check=stuttering= |
|
||||
| =stutter-sensitive= | trusted | yes | as stored | can be re-checked with =--check=stuttering= |
|
||||
| =inherently-weak= | trusted | yes | as stored | |
|
||||
| =weak= | trusted | yes | as stored | |
|
||||
| =inherently-weak= | trusted | yes | as stored if (=-Hv= or not =weak=) | |
|
||||
| =colored= | ignored | no | checked | |
|
||||
|
||||
** Named properties
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ corresponding BDD variable number, and then use for instance
|
|||
|
||||
void custom_print(std::ostream& out, spot::twa_graph_ptr& aut)
|
||||
{
|
||||
// We need the dictionary to print the BDD that labels the edge
|
||||
// We need the dictionary to print the BDDs that label the edges
|
||||
const auto& dict = aut->get_dict();
|
||||
|
||||
// Some meta-data...
|
||||
|
|
@ -119,6 +119,8 @@ corresponding BDD variable number, and then use for instance
|
|||
<< (aut->prop_unambiguous() ? "yes\n" : "maybe\n");
|
||||
out << "State-Based Acc: "
|
||||
<< (aut->prop_state_acc() ? "yes\n" : "maybe\n");
|
||||
out << "Weak: "
|
||||
<< (aut->prop_weak() ? "yes\n" : "maybe\n");
|
||||
out << "Inherently Weak: "
|
||||
<< (aut->prop_inherently_weak() ? "yes\n" : "maybe\n");
|
||||
out << "Stutter Invariant: "
|
||||
|
|
@ -158,6 +160,7 @@ Name: Fa | G(Fb & Fc)
|
|||
Deterministic: maybe
|
||||
Unambiguous: yes
|
||||
State-Based Acc: maybe
|
||||
Weak: maybe
|
||||
Inherently Weak: maybe
|
||||
Stutter Invariant: yes
|
||||
State 0:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue