let ltsmin.model.kripke() take the output of atomic_prop_collect()

Fixes #160.

* spot/tl/formula.hh (formula::ap): New specialization.
* tests/python/ltsmin.ipynb: Test it.
This commit is contained in:
Alexandre Duret-Lutz 2016-04-08 18:46:08 +02:00
parent a4f111f342
commit ed3b58c99c
2 changed files with 55 additions and 6 deletions

View file

@ -18,7 +18,7 @@
"version": "3.5.1"
},
"name": "",
"signature": "sha256:0c10865a9a58374d983e19129ce565c14e590067c1eedf4f12dfe62fa3f58a02"
"signature": "sha256:d1444ee3c1e56aaa453ac171d129f0ba4486e1e194debc51965d45429a844334"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -447,7 +447,7 @@
"</svg>\n"
],
"text": [
"<spot.impl.kripke; proxy of <Swig Object of type 'std::shared_ptr< spot::kripke > *' at 0x7fda50a73c90> >"
"<spot.impl.kripke; proxy of <Swig Object of type 'std::shared_ptr< spot::kripke > *' at 0x7f7b280d08a0> >"
]
}
],
@ -726,7 +726,7 @@
"</svg>"
],
"text": [
"<IPython.core.display.SVG at 0x7fda50a09710>"
"<IPython.core.display.SVG at 0x7f7b280dd630>"
]
}
],
@ -1082,7 +1082,7 @@
"</svg>"
],
"text": [
"<IPython.core.display.SVG at 0x7fda58a31940>"
"<IPython.core.display.SVG at 0x7f7b110b9c50>"
]
}
],
@ -1152,7 +1152,7 @@
"</svg>\n"
],
"text": [
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fda58aa2270> >"
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f7b2fcf8090> >"
]
}
],
@ -1314,11 +1314,46 @@
"</svg>\n"
],
"text": [
"<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7fda50a736f0> >"
"<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7f7b280d08d0> >"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def model_check(f, m):\n",
" f = spot.formula(f)\n",
" ss = m.kripke(spot.atomic_prop_collect(f))\n",
" nf = spot.formula_Not(f).translate()\n",
" return spot.otf_product(ss, nf).is_empty() "
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"model_check('\"a<1\" R \"b > 1\"', m)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 15,
"text": [
"False"
]
}
],
"prompt_number": 15
}
],
"metadata": {}