twa: add support for very-weak property
* spot/twa/twa.hh: Implement the property. * spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Add input and output for it. * spot/twaalgos/strength.cc, spot/twaalgos/strength.hh (is_very_weak_automaton): New function. * tests/core/alternating.test: Add a test for --check=strength on an alternating automaton. * tests/core/strength.test, tests/core/parseaut.test: Adjust expected output. * NEWS, doc/org/hoa.org, doc/org/concepts.org: Document it.
This commit is contained in:
parent
a4ce999402
commit
582d455c23
11 changed files with 146 additions and 33 deletions
|
|
@ -526,8 +526,27 @@ header: format-version header-items
|
|||
a->prop_stutter_invariant(!ss->second.val);
|
||||
}
|
||||
auto iw = p.find("inherently-weak");
|
||||
auto vw = p.find("very-weak");
|
||||
auto w = p.find("weak");
|
||||
auto t = p.find("terminal");
|
||||
if (vw != e)
|
||||
{
|
||||
a->prop_very_weak(vw->second.val);
|
||||
if (w != e && !w->second.val && vw->second.val)
|
||||
{
|
||||
error(w->second.loc,
|
||||
"'properties: !weak' contradicts...");
|
||||
error(vw->second.loc,
|
||||
"... 'properties: very-weak' given here");
|
||||
}
|
||||
if (iw != e && !iw->second.val && vw->second.val)
|
||||
{
|
||||
error(iw->second.loc,
|
||||
"'properties: !inherently-weak' contradicts...");
|
||||
error(vw->second.loc,
|
||||
"... 'properties: very-weak' given here");
|
||||
}
|
||||
}
|
||||
if (iw != e)
|
||||
{
|
||||
a->prop_inherently_weak(iw->second.val);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue