genltl: add --gxf-and and --fxg-or

As suggested in #263.

* spot/gen/formulas.cc, spot/gen/formulas.hh, bin/genltl.cc: Implement
these options.
* tests/core/genltl.test: Use them.
* NEWS: Mention them.
This commit is contained in:
Alexandre Duret-Lutz 2017-09-02 11:51:54 +02:00
parent 646c5170ed
commit 42abcf8559
5 changed files with 65 additions and 1 deletions

View file

@ -84,12 +84,16 @@ static const argp_option options[] =
{ "eh-patterns", gen::LTL_EH_PATTERNS, "RANGE", OPTION_ARG_OPTIONAL,
"Etessami and Holzmann [Concur'00] patterns "
"(range should be included in 1..12)", 0 },
{ "fxg-or", gen::LTL_FXG_OR, "RANGE", 0,
"F(p0 | XG(p1 | XG(p2 | ... XG(pn))))", 0},
{ "gh-q", gen::LTL_GH_Q, "RANGE", 0,
"(F(p1)|G(p2))&(F(p2)|G(p3))&...&(F(pn)|G(p{n+1}))", 0 },
{ "gh-r", gen::LTL_GH_R, "RANGE", 0,
"(GF(p1)|FG(p2))&(GF(p2)|FG(p3))&... &(GF(pn)|FG(p{n+1}))", 0 },
{ "go-theta", gen::LTL_GO_THETA, "RANGE", 0,
"!((GF(p1)&GF(p2)&...&GF(pn)) -> G(q->F(r)))", 0 },
{ "gxf-and", gen::LTL_GXF_AND, "RANGE", 0,
"G(p0 & XF(p1 & XF(p2 & ... XF(pn))))", 0},
{ "hkrss-patterns", gen::LTL_HKRSS_PATTERNS,
"RANGE", OPTION_ARG_OPTIONAL,
"Holeček et al. patterns from the Liberouter project "