Espressioni regolari con riferimenti indietro sull'alfabeto unario


18

Ambientazione:

  • espressioni regolari con riferimenti secondari
  • lingua unaria (alfabeto a 1 simbolo)

È il seguente problema decidibile in questa impostazione:

  • Data un'espressione regolare con riferimenti secondari, definisce una lingua regolare?

Ad esempio, (aa+)\1definisce una lingua normale, mentre (aa+)\1+non lo fa. Possiamo decidere quale è il caso?


Per concretezza, "espressioni regolari con riferimenti arretrati" si riferiscono ad esempio al seguente sottoinsieme delle normali espressioni regolari compatibili con Perl :

  • acorrisponde al carattere a(l'unico carattere dell'alfabeto)
  • X* corrisponde a 0 o più occorrenze di X
  • X|Ypartite XoY
  • le parentesi possono essere utilizzate per raggruppare e catturare
  • \1. \2, ecc. corrispondono alla stessa stringa della prima, seconda, ecc. coppia di parentesi

Possiamo anche usare le normali scorciatoie, ad esempio X+= XX*.


1
Hai esplorato gli approcci di conteggio, cioè ispezionando la sequenza di? Immagino che tu abbia familiarità con il lavoro di Freydenberger? |Ln|
— Raffaello

Risposte:


4

La prova contro l'effettiva decidibilità del problema è fornita dalla costruzione nella dimostrazione del Teorema 9 nel mio documento Sulle espressioni regolari pratiche : si potrebbe determinare se ci sono finiti molti numeri primi di Fermat.


Benvenuti nel sito! Ho aggiunto una citazione più completa al tuo documento.
— David Richerby,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.