Sono le espressioni di un’algebra dei linguaggi, la quale supporta le operazioni chiuse (binarie) e (unaria).

è un’espressione regolare () se (induttivamente):

N.B.: è la stringa vuota e è il linguaggio vuoto.

Ogni regex restituisce in output un linguaggio :

Esempio

Valutazione:

Teorema: un linguaggio è regolare esiste un’espressione regolare che lo descrive

Teorema: Ogni espressione regolare può essere convertita nell’automa deterministico a stati finiti (DFA) che riconosce il linguaggio che essa descrive e viceversa. Quindi un linguaggio è regolare se e solo se esiste una regex che lo descrive.

todo pag. 67

Primo passo

Data , voglio costruire un automa deterministico a stati finiti (DFA) o un automa non deterministico a stati finiti (NFA) tale che .

Usiamo la ricorsione:

Per induzione,

todo continua

Secondo passo

Da definiamo un GNFA equivalente… todo continua

Definiamo il Generic Non deterministic Finite state Automaton (GNFA) canonico