Interpretazione
6.2 – Interpretazione

Interpretazione in una struttura

Le (L-)strutture giocano nella logica del prim’ordine un ruolo analogo a quello delle interpretazioni/valutazioni nel caso della logica proposizionale!

Definiremo ora cosa vuol dire interpretare una L-formula ϕ in una data L-struttura A e, nel caso ϕ sia un enunciato, daremo una definizione rigorosa di cosa vuol dire che (l’interpretazione di) ϕ è vera in A, in simboli Aφ.

Incominciamo con alcuni esempi.

Sia L={f,g,c} un linguaggio con due simboli di funzione binaria f,g e un simbolo di costante c. Sia t1 il termine g(x,x) e t2 il termine f(c,c). Interpretando i simboli del linguaggio nelle L-strutture

A=R,+,,1 e B=Q,+,,1

possiamo vedere t1 come il termine che rappresenta il polinomio x2 (scritto nella forma xx) e t2 come il termine che rappresenta il numero 2 (scritto nella forma 1+1). La formula atomica (t1=t2) rappresenta quindi nel nostro linguaggio l’equazione x2=2.

Questa formula non è nè vera nè falsa in A, dipende dal valore di x!

(è vera se a x assegniamo il valore 2 o 2, falsa in tutti gli altri casi.)

Consideriamo ora la formula x(g(x,x)=f(c,c)). Interpretata in A o in B, la formula corrisponde all’affermazione

L’equazione x2=2 ammette soluzioni.

Tale formula risulta vera in A=R,+,,1 (perchè in R troviamo le due soluzioni dell’equazione 2 e 2) ma falsa in B=Q,+,1 (perchè 2 non è un numero razionale).

La differenza di comportamento tra le formule g(x,x)=f(c,c) e x(g(x,x)=f(c,c)) quando cerchiamo di valutare se siano vere o meno in A e/o B dipende dal fatto che la prima formula contiene la variabile libera x, mentre la seconda non ha variabili libere (ovvero è un enunciato).

Assegnazioni

Per dare una definizione rigorosa di cosa vuol dire interpretare una formula in una struttura, bisogna incominciare con l’interpretazione degli L-termini in una data L-struttura A.

L’interpretazione dei simboli di costante e funzione è ovvia, essendo esplicitamente data nella definizione stessa di L-struttura.

Quello che manca, tuttavia, è il modo per specificare l’interpretazione delle (eventuali) variabili di un termine: a questo scopo, introduciamo l’idea di assegnazione.

Definizione Un’assegnazione (nella L-struttura A) per un insieme di variabili {x1,x2,,xn} è una funzione che associa ad ogni variabile xi dell’insieme un elemento aiA (per ogni 1in). Una tale assegnazione verrà di solito denotata con x1/a1,x2/a2,,xn/an

Ad esempio, se A ha dominio N, un’assegnazione per l’insieme di variabili {x,y,z} è una qualunque funzione {x,y,z}N, ad esempio

x24 y2 z9

o in notazione compatta x/24,y/2,z/9

Interpretazione

Termini

Interpretazione di termini

Sia A una L-struttura (con dominio A) e t un L-termine.

L’interpretazione del termine t(x1,,xn) in A mediante l’assegnazione x1/a1,,xn/an si indica con tA[x1/a1,,xn/an] ed è definita per induzione strutturale:

Alcune osservazioni

Ad esempio, se t(x,y,z) è il termine f(x,f(c,y)) nel linguaggio L={f,c} (con f simbolo di funzione binario e c simbolo di costante), allora l’interpretazione tA[x/12,y/3,z/8] di t(x,y,z) in A=N,+,0 mediante x/12,y/3,z/8 non dipende in alcun modo dal fatto che l’assegnazione dà a z il valore 8, visto che z non occorre in t.

Interpretazione di termini e albero sintattico

Per interpretare correttamente un termine t in una struttura A mediante x1/a1,,xn/an si può sfruttare il suo albero sintattico, secondo il seguente algoritmo:

Ad esempio, dato il liguaggio L={f,g,c} interpretiamo in A=N,+,,0 il termine t(x,y,z) dato da f(x,g(y,c)) mediante l’interpretazione x/2,y/3,z/5.

Sostituiamo le etichette delle foglie. Poi procediamo sostituendo le etichette dei nodi dal basso verso l’alto.

Il risultato che si ottiene svolgendo i calcoli nell’espressione che abbiamo sostituito all’etichetta della radice è proprio l’interpretazione cercata, ovvero <11>tA[x/2,y/3,z/5]=2+(30)<11>=2.

Osservazione: Non abbiamo mai dovuto utilizzare il fatto che z vada sostituito con 5: questo perchè z non compare affatto nel termine dato!

Esempio

Sia L={f,g} con f e g simboli di funzione binari, e sia t(x,y) il termine f(x,g(y,x)).

Consideriamo la L-struttura A=N,+, e l’assegnazione x/2,y/3.

Allora tA[x/2,y/3]=2+(32)=8.

Se invece B è la L-struttura Z,,, allora tB[x/2,y/6] è tB[x/2,y/6]=(2)(6(2))=(2)8=16.

Esercizio Sia L={f,g,c} con f e g simboli di funzione binari e c simbolo di costante. Consideriamo la L-struttura A=R,+,,0. Interpretare i seguenti termini in A mediante l’assegnazione x/23,y/2,z/2:

t1A[x/23,y/2,z/2]=(22)+(2)=22=0. t2A[x/23,y/2,z/2]=(0+0)(00)=00=0. t3A[x/23,y/2,z/2]=0+((230)+(2))=0+(0+(2))=0+(2)=2.

Formule atomiche

Definiamo ora per induzione sulla complessità cosa vuol dire che una L-formula ϕ(x1,,xn) è vera in una L-struttura A mediante l’assegnazione x1/a1,,xn/an, in simboli Aϕ[x1/a1,,xn/an].

Esempio

Siano dati

Vogliamo determinare se Aϕ[x/1,y/2].

La formula ϕ(x,y) è del tipo P(t1,t2), dove t1 è il termine g(x,x) e t2 è il termine f(y,c). Quindi

Aϕ[x/1,y/2] se e solo se t1A[x/1,y/2]<t2A[x/1,y/2].

Poichè  t1A[x/1,y/2]=11=1   e   t2A[x/1,y/2]=2+1=3,

si ha che effettivamente t1A[x/1,y/2]=1<3=t2A[x/1,y/2],

perciò Aϕ[x/1,y/2].

Esercizio Siano L, A e ϕ(x,y) come nell’esempio precedente. Sia inoltre ψ(x,y) la formula (f(x,x)=g(y,c)).

Determinare se

Aϕ[x/2,y/1] e Aψ[x/2,y/1].

Formule arbitrarie

La scrittura Aϕ[x1/a1,,xn/an] significa: non è vero che Aϕ[x1/a1,,xn/an], ovvero ϕ non è vera nella struttura A mediante l’assegnazione x1/a1,,xn/an.

In particolare, A(yψ)[x1/a1,,xn/an] se e solo se per ogni bA si ha che Aψ[x1/a1,,xn/an,y/b] e A(yψ)[x1/a1,,xn/an] se e solo se per qualche bA si ha che Aψ[x1/a1,,xn/an,y/b] .

Osservazione importante Come nel caso dei termini, la verità di una formula ϕ(x1,,xn) in una struttura A mediante un’assegnazione x1/a1,,xn/an dipende solo dai valori che l’assegnazione dà alle variabili che occorrono libere in ϕ.

Un esempio Consideriamo il linguaggio L={P} con P simbolo di relazione binario e la formula ϕ z(P(x,z)P(z,y)). Sia A=N,< e consideriamo l’assegnazione x/2,y/4,z/4.

Osserviamo che solo x,y sono variabili libere in ϕ, mentre z non lo è.

Per definizione, Az(P(x,z)P(z,y))[x/2,y/4,z/4] se e solo se per qualche nN si ha che A(P(x,z)P(z,y))[x/2,y/4,z/n], ossia se e solo se in N è vero che

2<n e n<4 per qualche nN.

Per n=3 si ha che effettivamente 2<n<4,

quindi A(P(x,z)P(z,y))[x/2,y/4,z/3], da cui Aϕ[x/2,y/4,z/4].

Ad essere più precisi, la definizione ricorsiva che abbiamo visto permette di “scaricare” il problema di determinare se ϕ è vera in A mediante l’assegnazione x1/a1,,xn/an sulle sottoformule di ϕ che compaiono nel suo albero sintattico, fino a giungere alle sue sottoformule atomiche (quelle che compaiono nelle foglie dell’albero): queste vengono valutate nella struttura mediante l’assegnazione che man mano si è creata, e a sua volta questo permette, risalendo lungo l’albero, di determinare se è vero o no che Aϕ[x1/a1,,xn/an].

Riprendiamo l’esempio precedente... è vero che Az(P(x,z)P(z,y))[x/2,y/4,z/4], dove A=N,<?

Figura: Albero sintattico di z(P(x,z)P(z,y))

<11><11-><3>Az(P(x,z)P(z,y))[x/2,y/4,z/4]

se e solo se

<10><10><4>per qualche nN

A(P(x,z)P(z,y))[x/2,y/4,z/n]

se e solo se

per qualche nN

<5>AP(x,z)[x/2,y/4,z/n] e <5>AP(z,y)[x/2,y/4,z/n]

Un altro esempio è vero che Az(P(x,z)P(z,y))[x/2,y/4,z/4], dove A=N,<?

Figura: Albero sintattico di z(P(x,z)P(z,y))

<11><11-><3>A<11>z(P(x,z)P(z,y))[x/2,y/4,z/4]

se e solo se

<10><10><4>per ogni nN

A(P(x,z)P(z,y))[x/2,y/4,z/n]

se e solo se

<9>per ogni nN

<5>AP(x,z)[x/2,y/4,z/n] e <5>AP(z,y)[x/2,y/4,z/n]

Quindi si ha che <12>Az(P(x,z)P(z,y))[x/2,y/4,z/4].

Esercizio Sia L={P,f,c} con P simbolo di relazione binario, f simbolo di funzione binario e c simbolo di costante. Determinare se R,,,2x(f(y,x)=yz(P(y,z)P(z,f(c,c))))[y/0].

Nel caso di formule semplici, si può determinare se Aϕ[x1/a1,,xn/an] “interpretando” la formula ϕ(x1,,xn) in A per capirne il significato.

Sia L={R,f} un linguaggio del prim’ordine con R simbolo di relazione binario ed f simbolo di funzione binario, consideriamo la formula ϕ(x,y) z(f(z,z)=x)w(R(x,w)R(w,y)) e la L-struttura A=N,<,+. L’interpretazione di ϕ(x,y) in A è

Esiste zN tale che z+z=x ed esiste wN tale che (x<w e w<y)

ovvero

x è pari e x e y sono numeri non consecutivi con x più piccolo di y .”

Quindi si ha ad esempio Aϕ[x/2,y/6] ma Aϕ[x/2,y/3] e Aϕ[x/3,y/6].

Esercizio Siano L e ϕ(x,y) come nell’esercizio precedente. Consideriamo la L-struttura B=R,<,+. Dimostrare che per ogni a,bR si ha

Bϕ[x/a,y/b] se e solo se a<b.

Interpretando analogamente a prima la formula ϕ(x,y) in B si ottiene

Esiste zR tale che z+z=x ed esiste wR tale che (x<w e w<y).

In R la prima parte è vera per ogni possibile valore di x (la metà di un numero reale è ancora un numero reale). La seconda parte è invece vera se e solo se il valore assegnato ad x è minore del valore assegnato a y (quando x<y basta considerare w=x+y2 per avere x<w<y). Quindi Bϕ[x/a,y/b] se e solo se Bw(R(x,w)R(w,y))[x/a,y/b] se e solo se a<b.

Enunciati

Verità di un enunciato

Dato che la verità di una formula in una struttura mediante un’assegnazione dipende solo dai valori dati dall’assegnazione alle sue variabili libere, allora per determinare la verità di un enunciato, ovvero di una formula che non ha variabili libere, NON è necessario avere a disposizione nessuna assegnazione.

Per questa ragione, quando ϕ è un enunciato che risulta vero in una struttura A scriveremo semplicemente Aϕ e diremo che ϕ è vero (o soddisfatto) in A, o che A è un modello di ϕ, o ancora che A soddisfa ϕ.

La relazione (che è una relazione tra strutture ed enunciati) si chiama anche relazione di soddisfazione. La scrittura Aϕ significa che A NON è un modello di ϕ (equivalentemente: A è un modello di ¬ϕ).

Esempio

Sia L={P,f,c} con P simbolo di relazione binario, f simbolo di funzione binario e c simbolo di costante. Consideriamo l’enunciato σ xy((P(c,y)f(x,x)=y)P(x,y)).

Interpretando σ nella L-struttura A=N,<,+,2 si ottiene

Per ogni x,yN (se (2<y e x+x=y) allora x<y),

ovvero

“La metà di un numero pari nN che sia maggiore di 2 è minore di n stesso”.

Questo è vero perchè se n=2k e n>2, allora k>1 e quindi n=2k=k+k>k. Perciò Aσ.

Non abbiamo avuto bisogno di nessuna assegnazione per valutare σ in A!

Esercizio Siano L e σ come nell’esempio precedente. Dire se σ è vero in ciascuna delle seguenti L-strutture.

Insiemi di verità

Insiemi di verità

Quando una L-formula contiene variabili libere ha senso chiedersi quali assegnazioni in una data L-struttura A la rendano vera (in A).

Definizione Sia L un linguaggio, ϕ una L-formula con FV(ϕ)={x1,,xn} e A una L-struttura. L’insieme di verità di ϕ in A è l’insieme ϕ(A)={(a1,,an)AnAϕ[x1/a1,,xn/an]}.

In altre parole, ϕ(A) è l’insieme delle n-uple (a1,,an) di elementi del dominio di A che rendono vera ϕ in A quando vengano assegnati alle variabili libere di ϕ. Si osservi che il numero di variabili libere determina l’arietà della relazione ϕ(A): se ϕ ha un’unica variabile libera allora ϕ(A) è un sottoinsieme di A, se ϕ ha due variabili libere allora ϕ(A) è un sottoinsieme di A2 (ovvero una relazione binaria su A), se ϕ ha tre variabili libere allora ϕ(A) è un sottoinsieme di A3 (ovvero una relazione ternaria su A), e così via.

Esempi Sia L={f,a} con f simbolo di funzione binaria e a simbolo di costante. Consideriamo la formula ϕ x(f(x,y)=a). Si osservi che FV(ϕ)={y}. Consideriamo ora la L-struttura A=Z,+,0. L’insieme di verità ϕ(A) di ϕ in A sarà un sottoinsieme di Z (poichè ϕ ha un’unica variabile libera). Più precisamente ϕ(A)={kZAx(f(x,y)=a)[y/k]},

ovvero ϕ(A) è l’insieme di tutti i kZ per cui esiste un xZ tale che x+k=0. Questo è vero per ogni intero k (basta porre x=k), per cui ϕ(A)=Z.

Considerando invece B=N,+,0, si ha che ϕ(B)={0}.

Sia ora L={f,g} con f e g simboli di funzione binari e consideriamo la formula ϕ f(x,x)=g(x,x). In questo caso FV(ϕ)={x}, quindi ϕ(A) sarà un sottoinsieme del dominio di A.

Se A=R,+, si ha che rϕ(A) se e solo se A(f(x,x)=g(x,x))[x/r] se e solo se r+r=rr se e solo se r2=2r. Risolvendo (in R) quest’ultima equazione si ottiene ϕ(A)={0,2}.

Sia L={f} con f simbolo di funzione binario e consideriamo la formula ϕ z(f(x,z)=y). Si ha FV(ϕ)={x,y}, per cui ϕ(A) sarà un sottoinsieme di A2, ovvero una relazione binaria sul dominio di A.

Sia A=N,+. Allora (n,m)ϕ(A) se e solo se Az(f(x,z)=y)[x/n,y/m] se e solo se esiste kN tale che n+k=m. Questo accade esattamente quando nm, perciò ϕ(A)={(n,m)N2nm}, ovvero l’insieme di verità di ϕ in A è la relazione di minore o uguale .

Considerando invece B=N, si ha che (n,m)ϕ(B) se e solo se m=nk per qualche kN, ovvero ϕ(B)={(n,m)N2m è un multiplo di n}.

Dunque l’insieme di verità di ϕ in B è la relazione di divisibilità |.

Sia L={P,f,c} con P simbolo di relazione binario, f simbolo di funzione binario e c simbolo di costante. Consideriamo la formula ϕ P(f(x,x),c) e notiamo che FV(ϕ)={x}.

Se A=Z,<,+,0, allora kϕ(A) se e solo se k+k<0: questo è vero per k<0 e falso per k0, per cui ϕ(A)={kZk<0},

cioè ϕ(A) è l’insieme degli interi negativi.

Se invece B=Z,<,,0, allora ϕ(B) è l’insieme vuoto: infatti non c’è nessun intero il cui quadrato sia minore di 0.

Sia L={P,f} con P simbolo di relazione binario e f simbolo di funzione binario. Consideriamo la formula ϕ P(y,z)x¬(f(y,x)=y)x(f(x,x)=z). e osserviamo che FV(ϕ)={y,z}. L’insieme di verità di ϕ in A=N,<, è l’insieme delle coppie (n,m)N2 tali che

Quindi ϕ(A)={(n,m)N2n0 e m è un quadrato perfetto maggiore di n}.

Esercizi

Sia L={f,g,c} con f e g simboli di funzione binari e c simbolo di costante e sia ϕ(x,y) la formula z(f(f(g(z,z),g(x,z)),y)=c)

Consideriamo la L-struttura A=R,+,,0.

Dati b,cR, si ha che Aϕ[b,c] se e solo se l’equazione z2+bz+c=0 ammette una soluzione (reale). Quindi Aϕ[x/2,y/1], Aϕ[x/1,y/1] e ϕ(A)={(b,c)R2b24c0}.

Sia L={P,f,g,c} un linguaggio dove P è un simbolo di relazione unario, f e g sono simboli di funzione binari e c un simbolo di costante. Sia A la L-struttura R,Z,+,,1. Determinare l’insieme di verità in A delle seguenti formule:

Sia L={Q,f} con Q simbolo di relazione binario e f simbolo di funzione binario. Sia ϕ la L-formula xy(¬Q(x,z)Q(f(y,x),z)). Notiamo che FV(ϕ)={z}. Determinare l’insieme di verità di ϕ in ciascuna delle seguenti strutture: