Вот гипотеза для регулярных выражений:
Для регулярного выражения пусть длина | R | быть количеством символов в нем, игнорируя скобки и операторы. Например | 0 ∪ 1 | = | ( 0 ∪ 1 ) ∗ | = 2
Гипотеза: если и L ( R ) содержит каждую строку длины | R | или меньше, то L ( R ) = Σ ∗ .
То есть, если является «плотным» до R длины «s, то R фактически производит все.
Некоторые вещи, которые могут быть актуальны:
- Только небольшая часть необходима для генерации всех строк. Например , в двоичном виде , R = ( 0 ∪ 1 ) * ∪ S будет работать для любого S .
- В какой-то момент в должна быть звезда Клини . Если этого не произойдет, будет пропущена строка размером меньше, чем | R | ,
Было бы неплохо увидеть доказательство или контрпример. Есть ли какой-то случай, когда я явно пропустил, что это неправильно? Кто-нибудь видел это (или что-то подобное) раньше?
symbols
operations