# Logica Monadica ## monadic first order logic - monadic => i predicati sono solo unari (ammettono un solo argomento) - uso: descrivere parole su un alfabeto $I$ #### sintassi - $\phi := a(x) | x<y| \neg\phi | \phi \wedge \phi | \forall x(\phi)$ - $a \in I$, ogni lettera dell'alfabeto ha un predicato unario #### interpretazione: - $<$ è la relazione di minore - il dominio delle variabile è $\mathbb{N}$ - data una parola $w \in I^+$ e un simbolo $a \in I$ - $a(x)$ è vero $\iff$ l'x-esimo simbolo di $w$ è $a$ (indici partono da zero) #### Semantica - siano $w \in I^+$ e $V_1$ l'insieme delle variabili - Un **assegnamento** è una funzione $v_1 : V_1 \to [0,...,|w|-1]$ tale che - $w,v_1 \models a(x) \iff w=u\textit{a}v \wedge |u|=v_1(x)$ - $w,v_1 \models x<y \iff v_1(x)< v_1 (y)$ - $w,v_1 \models \neg \phi \iff \text{non }w,v_1 \models \phi$ - $w,v_1 \models\phi_1 \wedge \phi_2 \iff w,v_1 \models\phi_1 \wedge w,v_1 \models\phi_2$ - $w,v_1 \models \forall x(\phi) \iff w,v_1' \models \phi \text{ per ogni } v_1' \text{ con }v_1'(y) = v_1(y), y\neq x$ #### proprietà - chiusi rispetto a *unione*, *intersezione*, *complemento* - non chiusi rispetto a * (stella di kleen) - MFO definisce linguaggi *star-free* - strettamente meno potenti dei FSA ## monadic second order logic - posso quantificare su **insiemi di posizioni** - posso fare formule $\exists X(\phi)$ dove $X$ è una variabile con dominio *l'insieme dei predicati monadici* - convenzione: - maiuscole -> variabili con dominio insieme di predicati monadici - minuscole -> variabili con dominio numeri naturali #### semantica l'assegnamento delle variabili del II ordine ($V_2$) è una funzione $v_2 : V_2 \to \wp([0,...,|w|-1])$ - $w,v_1,v_2 \models X(x) \iff v_1(x) \in v_2(x)$ - $w,v_1,v_2 \models \exists X(x) \iff w,v_1,v_2' \models \phi \text{ per qualche } v_2' \text{ con } v_2' (Y) = v_2(Y), Y \neq X$ #### proprietà - MSO sono equivalenti ai linguaggi regolari