twa: add support for prop_complete()

* spot/twa/twa.hh: Add support.  Make two constructors for prop_set in
order to diagnose constructions with 5 arguments.
* spot/parseaut/parseaut.yy: Adjust diagnostics for complete and
deterministic.
* spot/tl/exclusive.cc, spot/twa/twagraph.cc,
spot/twaalgos/alternation.cc, spot/twaalgos/complete.cc,
spot/twaalgos/complete.hh, spot/twaalgos/degen.cc,
spot/twaalgos/determinize.cc, spot/twaalgos/hoa.cc,
spot/twaalgos/isdet.cc, spot/twaalgos/mask.cc,
spot/twaalgos/minimize.cc, spot/twaalgos/product.cc,
spot/twaalgos/remfin.cc, spot/twaalgos/remprop.cc,
spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc,
spot/twaalgos/simulation.cc, spot/twaalgos/strength.cc,
spot/twaalgos/stutter.cc, spot/twaalgos/totgba.cc,
tests/core/parseaut.test, tests/python/product.ipynb: Adjust.
* NEWS, doc/org/concepts.org, doc/org/hoa.org,
doc/org/tut21.org: Document it.
This commit is contained in:
Alexandre Duret-Lutz 2017-03-16 18:25:07 +01:00
parent 90a8a912e0
commit 0de5f50da9
28 changed files with 296 additions and 106 deletions

View file

@ -1,7 +1,23 @@
{
"metadata": {
"name": "",
"signature": "sha256:08e64ee189c19ed7e56e5f1c841f51faac25e0bd5e4a6b838856ba8b6f2b5344"
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.3"
},
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
@ -367,7 +383,7 @@
"output_type": "pyout",
"prompt_number": 2,
"text": [
"<IPython.core.display.HTML at 0x7ff45181d390>"
"<IPython.core.display.HTML object>"
]
}
],
@ -711,7 +727,7 @@
"metadata": {},
"output_type": "display_data",
"text": [
"<IPython.core.display.HTML at 0x7ff444140860>"
"<IPython.core.display.HTML object>"
]
}
],
@ -1066,7 +1082,7 @@
"metadata": {},
"output_type": "display_data",
"text": [
"<IPython.core.display.HTML at 0x7ff451801208>"
"<IPython.core.display.HTML object>"
]
}
],
@ -1487,7 +1503,7 @@
"metadata": {},
"output_type": "display_data",
"text": [
"<IPython.core.display.HTML at 0x7ff44409ef98>"
"<IPython.core.display.HTML object>"
]
},
{
@ -1664,7 +1680,7 @@
" result.set_state_names(names)\n",
" \n",
" # Loop over all the properties we want to preserve if they hold in both automata\n",
" for p in ('prop_deterministic', 'prop_weak', 'prop_inherently_weak', \n",
" for p in ('prop_deterministic', 'prop_complete', 'prop_weak', 'prop_inherently_weak', \n",
" 'prop_terminal', 'prop_stutter_invariant', 'prop_state_acc'):\n",
" if getattr(left, p)() and getattr(right, p)():\n",
" getattr(result, p)(True)\n",
@ -1991,7 +2007,7 @@
"metadata": {},
"output_type": "display_data",
"text": [
"<IPython.core.display.HTML at 0x7ff44408aa58>"
"<IPython.core.display.HTML object>"
]
},
{
@ -2026,7 +2042,7 @@
"output_type": "stream",
"stream": "stdout",
"text": [
"1000 loops, best of 3: 342 \u00b5s per loop\n"
"1000 loops, best of 3: 206 \u00b5s per loop\n"
]
}
],
@ -2045,7 +2061,8 @@
"output_type": "stream",
"stream": "stdout",
"text": [
"100000 loops, best of 3: 6.44 \u00b5s per loop\n"
"The slowest run took 6.27 times longer than the fastest. This could mean that an intermediate result is being cached.\n",
"100000 loops, best of 3: 4.2 \u00b5s per loop\n"
]
}
],