Skip to content

additional SERE simplifications for [*0..1]

We have e[*0..i] = e[*i] if e is a SERE that accept the empty word.

This seems particularly relevant if i=1. For instance (a[*]|b)[*0..1] = (a[*]|b)[*1] = a[*]|b.

Currently the "bounded star-normal-form" will rewrite (a[*]|b)[*0..1] as (a[+]|b)[*0..1].