Commit b7cd4756 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz

tl: first_match does not preserve syntactic_si

* spot/tl/formula.cc: Fix it.
* tests/core/kind.test: Add test case.
parent ef8de879
Pipeline #8933 passed with stages
in 195 minutes and 32 seconds
......@@ -1632,10 +1632,10 @@ namespace spot
break;
case op::first_match:
props = children[0]->props;
// If first_match(r) == r && !(r;[*]), then it should follow
// that if r is stutter-inv, then first_match(r) is
// stutter-inv, so we do not reset the syntactic_si bit.
assert(is_.sere_formula);
// {(a[+];b*);c*}<>->d is stutter invariant
// {first_match(a[+];b*);c*}<>->d is NOT.
is_.syntactic_si = false;
is_.boolean = false;
is_.ltl_formula = false;
is_.psl_formula = false;
......
......@@ -136,6 +136,8 @@ Fa M b,&!xLPgopra
(!p W Gp) | ({(!p[*];(p[+]:(p[*];!p[+])))[:*4][:+]}<>-> (!p W Gp)),&!xPpla
{b[+][:*0..3]},&!fPsopra
{a->c[*]},xfPsopra
{(a[+];b*);c*}<>->d,&!xfPgopra
{first_match(a[+];b*);c*}<>->d,&!fPgopra
EOF
run 0 ../kind input
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment