1 3 – DAGLI INSIEMI ALLE FUNZIONI 1. I verbi transitivi Finora abbiamo considerato solo i predicati intransitivi, che hanno una sola posizione da ‘saturare’ (tecnicamente, hanno una valenza monoargomentale). Consideriamo ora i verbi transitivi come vede: (1) Hermione vede Harry. Intuitivamente, in questo caso vengono saturate due posizioni, anziché una; ciò che viene espresso è una relazione tra due individui.1 Come si può esprimere questo meccanismo di doppia saturazione? E’ possibile mantenere l’analisi della saturazione che abbiamo già visto per la relazione soggetto-predicato nel caso dei predicati intransitivi, cioé in termini di applicazione funzionale? Partiamo dalla sintassi. Possiamo ipotizare due strutture sintattiche alternative: (2) S NPS N (3) VP V Hermione vede S NPS NPO N N Hermione V vede NPO N Harry Harry In (2), il sintagma nominale oggetto (NPO) forma un costituente VP con il verbo, ad esclusione del soggetto (NPS); in una struttura ‘piatta’ come (3), i tre elementi sono tutti costituenti immediati del nodo S (ovvero TP). Osservando gli enunciati di una lingua naturale come l’italiano, si può argomentare in favore di (2) contro (3). Poiché questa è un’introduzione alla semantica, ci limiteremo ad un solo argomento: la sequenza [vede Harry] è un costituente che può essere coordinato. (4) Hermione [vede Harry] e [sorride]. 1 Possiamo anche pensare ad un evento con due partecipanti. Qui non approfondiremo la semantica degli eventi; si rimanda a Bonomi & Zucchi (2001, 115-118). Adottiamo per ora la nozione di ‘relazione’ nel senso più generale possibile. 2 La possibilità di coordinare indica che la stringa [vede Harry] forma un costituente della stessa categoria di [sorride], cioé un VP, come in (2).2 Il principio di composizionalità (cap. 2, § 1) ci dice che dobbiamo interpretare la struttura sintattica in modo locale, cioé solo componendo fra loro le denotazioni dei costituenti ‘fratelli’, dominati dalla stessa categoria. In (2), procedendo dal basso all’alto, dovremo a) interpretare la combinazione tra V e NPO, ottenedendo la denotazione del nodo VP; b) quindi, interpretare la combinazione tra NPS e VP. Alla luce della possibilità di coordinazione in (4), è naturale pensare che il modo di comporre semanticamente il NPS e il VP transitivo in (2) dovrebbe essere uguale alla composizione di NPS con un VP intransitivo; se così non fosse, non ci aspetteremmo di poter coordinare i due tipi di VP in un unico predicato complesso.3 Dunque, al livello del VP, vogliamo avere come denotazione (la funzione caratteristica di) un insieme di individui. Come arrivarci? Sappiamo che il NPO, costitutito da un nome proprio, denota un individuo – l’individuo di nome Harry. Che cosa denota il verbo transitivo vede? Intuitivamente, il ‘significato’ è una relazione tra due individui. Ma ricordiamo che la denotazione deve essere definita in termini insiemistici a partire dal dominio D del modello. Sappiamo che, in ultima analisi, il nostro metalinguaggio sarà funzionale, ma cerchiamo prima di comprendere i concetti di base in termini insiemistici. Insiemisticamente, una relazione è un insieme di coppie ordinate di individui: l’insieme di tutte le coppie in cui il primo individuo sta in una certa relazione con il secondo individuo. Si parla di coppie ordinate perché è necessario distinguere il primo dal secondo elemento. Infatti, non tutte le relazioni sono simmetriche: la relazione [[ama]], spesso, non lo è. Un verbo transitivo denota una relazione a due posti: un insieme di coppie ordinate di individui. Ad esempio, se la denotazione di [[vede]] comprende solo le coppie ordinate <hermione, harry> e <ron, harry>, questo corrisponde ad una circostanza in cui Hermione e Ron vedono Harry. 2 Non approfondiremo il fatto che nell’interpretazione più naturale di (4) emerge un nesso causale tra il vedere Harry e il sorridere (per la successione immediata dei due eventi). Sui test di costituenza si veda Donati (2002, cap. 3). 3 Torneremo sulla coordinazione nel § 3. 3 (Di nuovo, la semantica modellistica non si preoccupa di come siano determinate queste coppie di individui – cioé in che cosa consiste esattamente la relazione di vedere.) Nel comporre semanticamente il verbo transitivo e il NP oggetto, l’individuo denotato dall’NP oggetto va ad occupare la seconda posizione della relazione. In termini insiemistici, partiamo dall’insieme di coppie ordinate denotate dal verbo transitivo, e vogliamo otteniamo a livello del VP l’insieme di individui che stanno nella relazione pertinente (vedere) con l’individuo denotato dal complemento oggetto (harry). Questo è l’insieme degli individui che stanno nella prima posizione in una qualche coppia (nell’estensione del verbo transitivo) il cui secondo elemento è l’individuo denotato da NPO . (5) S NPS NS VP V insieme di individui che stanno nella relazione espressa dal verbo con la denotazione di NPO NPO Hermione vede NO insieme di coppie ordinate di individui Harry individuo 2. Notazione insiemistica A questo punto, le definizioni intuitive stanno diventando poco maneggevoli: è meglio superare ogni avversione istintiva verso la formalizzazione e introdurre un po’ di notazione insiemistica. – Un insieme è una collezione di oggetti, detti membri dell’insieme. – x ∈ A : l’oggetto x appartiene all’insieme A (è un elemento o membro di A).4 – x ∉ A : l’oggetto x non appartiene all’insieme A – La cardinalità di un insieme A, notata A, è il numero dei suoi membri. – ∅ : l’insieme vuoto, che non ha alcun elemento (ha cardinalità pari a zero). – Un insieme viene definito tra parentesi graffe { }. Ci sono due tipi di definizione: 4 Si utilizzano generalmente lettere minuscole come variabili o costanti di tipo individuo, lettere maiuscole come variabili o costanti di tipo insieme di individui. 4 i) per elencazione dei membri, es: A = {1,2,3}. ii) per specificazione di una condizione di appartenenza all’insieme: A = {x: x < 4}, oppure A = {x x < 4}5 {x: x … } si legge ‘l’insieme degli x tali che…’. Ciò che segue i due punti (o il segno ) è la condizione di appartenenza all’insieme: un numero n appartiene all’insieme A se e soltanto se è Vero che n < 4 . Operazioni insiemistiche: – Intersezione: A ∩ B = l'insieme degli elementi comuni ad A e B; l’insieme degli oggetti che appartengono ad A e appartengono a B – Unione: A ∪ B = l'insieme che contiene tutti gli elementi di A e tutti gli elementi di B; l’insieme degli oggetti che appartengono ad A OPPURE appartengono a B – Complemento di A : A- = l'insieme di oggetti del dominio che non sono in A. Relazioni tra insiemi: – Uguagluanza: Due insiemi A e B sono uguali sse hanno esattamente gli stessi elementi (ogni elemento di A è anche un elemento di B e viceversa.) – Disgiunzione: Due insiemi A e B sono disgiunti sse non hanno alcun elemento in comune; ovvero, nessun elemento di A appartiene anche a B; ovvero, la loro intersezione è l’insieme vuoto (A ∩ B = ∅). A e B sono non-disgiunti (overlapping) sse hanno almeno un elemento in comune; ovvero, c'è almeno un elemento di A che appartiene anche a B; ovvero, la loro intersezione non è vuota (A ∩ B ≠ ∅) – Inclusione: A è un sottoinsieme di B (A ⊆ B) sse tutti i membri di A appartengono anche a B (ma non viceversa). – Una coppia ordinata di individui è un insieme in cui si distinguono un primo e un secondo elemento. Essa è definita tra partentesi angolate: 〈x,y〉 (per pura comodità tipografica, userò invece le parentesi uncinate <x,y>). Generalizzando, una ennupla ordinata è un insieme ordinato di n elementi. 5 Assumendo che il dominio comprenda solo i numeri interi positivi. 5 3. Definizione insiemistica delle denotazioni6 Ritornando alla struttura (2), a questo punto possiamo scrivere: [[ NP0 ]] = [[ N0 ]] = [[ Harry ]] = harry (per eredità) [[ V ]] = [[ vede ]] = { <x,y> : x vedere y } (insieme di coppie ordinate)7 [[ VP ]] = {z: <z, harry> ∈ [[ V]]}, ovvero: {z: <z, harry> ∈ {<x,y> : x vedere y }}, ovvero {z: z vedere harry } Il lettore noterà come, alla seconda riga, la definizione di un insieme contiene in sé la definizione di un altro insieme. [[ NPS ]] = [[ NS ]] = [[ Hermione ]] = hermione [[ S ]]= 1 (vero) sse [[ NPS ]] ∈ [[ VP ]], sse hermione ∈ {z: <z, harry> ∈ {<x,y>: x vedere y }}, sse hermione ∈ {z: z vedere harry }, sse hermione vedere harry. L’ultima riga deriva dal fatto che un individuo appartiene a un insieme se e soltanto se soddisfa la condizione di appartenenza (z vedere harry). Dopo tutti questi passaggi di composizione, arriviamo in effetti a una relazione tra due individui, h e m. Il lettore starà pensando: perché fare tutti questi complicati passaggi insiemistici? Per rispondere, facciamo insieme due esercizi. 6 Questo paragrafo è basato su Cooper (1983, 27 sgg.) All’interno delle parentesi graffe, vedere è il modo in cui nel meta-linguaggio ci riferiamo alla relazione di vedere (ciò che, in ogni mondo o circostanza possibile, determina un certo insieme di coppie di individui invece che un altro); x e y sono variabili su individui. Nella notazione tipica della logica del primo ordine, quando una relazione vale tra due argomenti, la costante predicativa P che indica la relazione precede gli argomenti racchiusi tra parentesi tonde: ad es., P(x, y) (cfr. Berto 2007, § 2.2.1). In questa esposizione limiterò invece l’uso delle parentesi tonde al caso in cui una funzione si applica ad un argomento (cfr. cap. 2, § 5). 7 6 Esercizi svolti 1. Definire in termini insiemistici una denotazione per sorride e specificare la composizione semantica per l’enunciato: (6) Hermione sorride. (6) S NP VP N V Hermione sorride 3. [[ S]] = 1 sse [[ NPS ]] ∈ [[VP]] (predicazione) sse [[ Hermione]] ∈ [[sorride]] (per eredità) [[ sorride]] = {x: x sorridere} (= {hermione, fred}) [[Hermione]] = hermione [[ (6)]] = 1 sse hermione ∈ {x: x sorridere} (∈ {hermione, fred}) 2. Assumendo che la coordinazione dei due VP corrisponda all’operazione di intersezione tra insiemi, specificare la composizione semantica per l’enunciato (4). (4) S VP3 NPS VP1 N Hermione VP2 e V1 NPO V2 vede N sorride Harry [[V1]] = [[ vede]]= {<x,y> : x vedere y } (= {<hermione, harry>, <ron, harry>}) [[ NPO]]= [[ N]] = [[ Harry]]= harry (per eredità) [[VP1]] = {z: <z, [[ NPO]]> ∈ {<x,y>: x vedere y }} = {z: <z, harry> ∈ {<x,y>: x vedere y }} ={z: z vedere harry} (={hermione, ron}) 7 [[VP2]] =[[ V2]] = [[ sorride]]= {x: x sorridere} (per eredità) [[VP3]] =[[VP1]] ∩ [[VP2]] (per intersettività della congiunzione) = = {z: z vedere harry}∩ {x: x sorridere} = (= {hermione, fred}∩ {hermione, ron} = {hermione}) [[ NPS]]= [[ N]] = [[ Hermione]]= hermione (per eredità) [[ S]] = 1 sse [[ NPS ]] ∈ [[VP3]] (predicazione) sse hermione ∈ {z: z vedere harry}∩ {x: x sorridere} (sse hermione ∈ {hermione}).8 Il trattamento che abbiamo appena visto per i verbi transitivi si applica anche ai nomi e aggettivi relazionali, cioé con valenza bi-argomentale, ad esempio: (7) Hermione è amica di Harry. In questo caso, il nome relazionale amica si combina direttamente con il sintagma preposizionale [PP di Harry] (qui, oltre alla copula, anche la preposizione di è semanticamente irrilevante), che va a saturare la seconda posizione nelle coppie ordinate denotate dal nome amica; quindi: [[ amica]]= {<x,y> : x amica-di y } [[ [NP1 amica [PP di [NP2 Harry]]] ]] = {z: <z, [[ NP2]]> ∈ {<x,y>: x amica-di y }} = {z: <z, harry> ∈ {<x,y>: x amica-di y }} = {z: z amica-di harry }} Il lettore è invitato a completare la composizione semantica per (7). 4. Funzioni con annidamento Nel paragrafo 3, abbiamo dato una formulazione insiemistica della denotazione dei verbi transitivi; abbiamo visto che la composizione del NP soggetto con il VP avviene in (2) (verbo transitivo) nello stesso modo che in (6) (verbo intransitivo), e questo spiega la possibilità di coordinare i due tipi di VP in (4): entrambi denotano insiemi di individui, quindi si può applicare l’operazione di intersezione. Tuttavia, nel capitolo 2 abbiamo 8 Quest’ultima riga esprime la condizione che l’individuo di nome Hermione appartiene all’insieme che ha come unico membro l’individuo di nome Hermione (indicato tra parentesi graffe). Sarà sempre essenziale distinguere un individuo dall’insieme singoletto (singleton) che ha quell’individuo come unico membro. 8 piuttosto concepito la composizione tra l’NP soggetto e il VP come un meccanismo di saturazione: il VP denota la funzione caratteristica di un insieme, che prende in input l’individuo denotato dal NP soggetto e restituisce un valore di verità. Ora, non è chiaro come questo meccanismo di saturazione (cioé applicazione funzionale) si possa estendere alla combinazione tra il verbo transitivo e il complemento oggetto. Se, in termini insiemistici, il verbo transitivo denota un insieme di coppie ordinate, quale tipo di funzione gli corrisponderà? Potrebbe essere la funzione caratteristica di un insieme di coppie ordinate, anziché di un insieme di individui individui? No, questo non ci aiuterebbe molto: una simile funzione chiederebbe in input una coppia ordinata (per restituire un valore di verità), il che non corrisponde al tipo di denotazione del NP oggetto, che è un individuo. La soluzione consiste nell’annidamento di funzioni. Abbiamo notato più sopra che la definizione insiemistica della denotazione di un VP transitivo contiene in sé la definizione di un altro insieme. In modo analogo, possiamo definire una funzione che prende in input un individuo e restituisce in output un’altra funzione. Per chiarirci le idee, rappresentiamo le funzioni come un insieme di associazioni tra i vari input (indicati a sinistra della freccia) e i corrispondenti output (a destra della freccia). Supponiamo ora di avere una dominio che comprende i tre individui harry, ron, fred: nella circostanza di valutazione, harry e fred hanno la proprietà di sorridere, ron no. La funzione caratteristica dell’insieme degli individui che sorridono può essere rappresentata in questo modo: ron → 0 harry → 1 fred → 1 [[ sorride ]] D ron harry fred [[sorride]] Consideriamo ora la relazione di vedere: supponiamo che nella circostanza di valutazione, la denotazione di [[ vede ]] corrisponda a questo insieme di coppie ordinate: {<ron, harry>, <fred, harry>}. Possiamo rappresentare questa denotazione come una funzione che prende in input l’individuo denotato dal NP oggetto e restituisce in ouput la funzione caratteristica 9 dell’insieme di individui che vedono l’individuo denotato dal NP oggetto.9 (Assumiamo per semplicità che la relazione denotata da vede non possa essere riflessiva.) harry ron → 1 [[ [VP vede Harry] ]] fred → 1 ron harry → 0 [[ [VP vede Ron ] ]] fred → 0 fred harry → 0 [[ [VP vede Fred] ]] ron → 0 [[ vede ]]10 Dovrebbe essere chiaro che questa funzione rappresenta la stessa denotazione che è rappresentata dall’ insieme di coppie ordinate {<ron, harry>, <fred, harry>}. Tramite l’annidamento di funzioni, possiamo analizzare anche la composizione semantica tra V e NPO come un caso di saturazione (applicazione funzionale). Il verbo transitivo vede denota l’intera funzione rappresentata nel grafico: essa prende in input la denotazione dell’NPO, che corrisponde a uno degli individui nella colonna più a sinistra, e restituisce in output la corrispondente funzione caratteristica annidata (nel corrispodente riquadro della colonna a destra), come denotazione del VP.11 A sua volta, questa funzione caratteristica prenderà in input l’individuo denotato dal NP soggetto per restituire in output un valore di verità, come denotazione del nodo S. In sintesi: 9 In linea di principio, si potrebbe definire una funzione che prende in input l’individuo denotato dal soggetto e restituisce in output la funzione caratteristica dell’insieme delle cose viste da quell’individuo. Tuttavia questa denotazione, se intersecata con la denotazione di un VP intransitivo, non ci dà le condizioni di verità corrette per una frase come Hermione vede Harry e sorride. Questa soluzione sarebbe inoltre incompatibile col principio di composizionalità, dato che nell’analisi sintattica che assumiamo (2), NPS e V non sono costituenti ‘fratelli’ dominati dalla stessa categoria. 10 Riprendo questa rappresentazione grafica molto perspicua delle funzioni annidate da Portner (2007). 11 La funzione annidata può anche caratterizzare un insieme vuoto, come nel caso di ron e fred: la funzione annidata non restituisce il valore 1 per nessun individuo. 10 Un predicato bi-argomentale denota una funzione che prende in input un individuo e restituisce una funzione da individui a valori di verità (annidamento di funzione). Per completezza, definiamo esplicitamente la nozione di funzione. Sappiamo già che una relazione a due posti è un insieme di coppie ordinate: Una relazione a due posti è una funzione sse soddisfa la condizione che il secondo membro della coppia è determinato univocamente dal primo membro della coppia: per ogni x: se ci sono y e z tali che <x,y> e <x,z> allora y=z. Il dominio di f è l'insieme {x: esiste un y tale che <x,y> ∈ f} e il co-dominio (range) è l'insieme {y: esiste un x tale che <x,y> ∈ f}. In prosa, il dominio è l’insieme degli elementi che stanno nella prima posizione in una qualche coppia, il co-dominio è l’insieme di elementi che stanno nella seconda posizione in qualche coppia. Abbiamo visto che il dominio e il co-dominio possono essere insiemi molto diversi: es., le funzioni caratteristiche vanno da un dominio di individui a un codominio di valori di verità; la funzione denotata da un verbo transitivo va da un dominio di individui a un co-dominio di funzioni carattertistiche (di insiemi di individui). Abbiamo già adottato la notazione: F(x) = y (equivalente a: <x, y> ∈ F) x, un elemento del dominio di f, è detto l'argomento di f; y, l’unico elemento del codominio che è in seconda posizione in una coppia che ha x come primo elemento, è detto il valore di f per l'argomento x. Per rimanere su un piano più intuitivo, continuerò a chiamare l’argomento ‘input’ e il valore per quell’argomento ‘output’ della funzione. 5. «Lambdas changed my life!»12 La notazione con le frecce che abbiamo utilizzato finora definisce le funzioni elencando le coppie input-output, ma non include la specificazione di una condizione;13 inoltre, è una 12 «I lambda mi hanno cambiato la vita!» (affermazione attribuita a Barbara Partee). 11 notazione poco maneggevole. Perciò, nel metalinguaggio funzionale della semantica formale, si fa ricorso alla notazione lambda.14 Questa notazione ci permette di formare dei nomi di funzioni composizionalmente interpretabili (Partee et al. 1995, 341), cioé di nominare le funzioni nel nostro meta-linguaggio in modo molto compatto. Ad es.:15 [[ sorride]] = [λx: x ∈ D. x sorridere] è la funzione caratteristica dell’insieme degli individui che sorridono (nella circostanza di valutazione): la funzione che proietta (map) ogni entità x al valore di verità 1 (vero) se e soltanto se x ha la proprietà di sorridere (nella circostanza di valutazione). a) la funzione è definita tra partesi quadre semplici;16 b) l’operatore λ è l’operatore di astrazione funzionale; c) x è la variabile argomento vincolata dall’operatore λ; d) l'espressione prima del punto (x ∈ D) è la condizione di dominio, che specifica il dominio della funzione: l’insieme dei suoi possibili argomenti; e) la parte dopo il punto (x sorridere) è la descrizione del valore restituito dalla funzione per l’argomento x (1, se x ha la proprietà di sorridere; 0 altrimenti); la variabile argomento occorre almeno una volta all’interno della descrizione di valore. La notazione lambda ci permette di formalizzare in modo compatto la denotazione di un verbo bi-argomentale come vede: [[ vede ]] =[λx: x ∈D.[λy: y ∈D. y vedere x]], ovvero, abbreviando, [λx∈D.[λy∈D. y vedere x]], ovvero, sopprimendo la condizione di dominio, [λx.[ λy. y vedere x]] 13 Ovvero, la condizione di appartenenza di una coppia ordinata all’insieme di coppie ordinate che definisce la funzione (che, ricordiamolo, è un tipo di relazione a due posti). 14 Così detta perché utilizza la lettera dell’alfabeto greco λ. 15 La notazione lambda è basata sugli assiomi del lambda-calcolo, del quale noi utilizzeremo una piccola parte. Si imanda a Partee et al. (1995), § 13.2 per una introduzione più ampia. 16 Ricordiamo che, all’interno del linguaggio-oggetto, le parentesi quadre semplici indicano i confini dei costituenti sintattici; qui, invece, le parentesi quadre fanno parte del metalinguaggio funzionale. Questi usi diversi dello stesso simbolo possono creare qualche difficoltà, ma ahimé, corrispondono alla notazione standard nella letteratura, e quindi è meglio accettarli; con un po’ di pratica, il lettore sarà ben presto in grado di distinguere automaticamente quale è la valenza delle parentesi in base al contesto in cui occorrono. 12 La valenza del verbo (qui, bi-argomentale) corrisponde al numero di variabili vincolate da un operatore λ. La saturazione (o applicazione funzionale) si esprime scrivendo la definizione della funzione seguita dall’argomento/input racchiuso tra parentesi tonde: [λx: x ∈D. x sorridere] (fred) L’operazione di λ-conversione consiste nel sostuitire l’argomento della funzione all’interno della descrizione del valore, lasciando cadere il prefisso λ (cioé il segno λ, la variabile argomento e l’eventuale condizione di dominio). [λx: x ∈D. x sorridere] (fred) ⇒ [λx: x∈D. x sorridere] (fred) ⇒ fred sorridere 17 (per λ-conversione) La λ-conversione è meno immediata nel caso di una funzione con annidamento: ad esempio, in [λx.[λy. y vedere x]] (harry) non è immediatamente chiaro se l’argomento harry converta la variabile x o la variabile y. Per convenzione, l’argomento che segue immediatamente la funzione converte sempre la variabile vincolata nel prefisso λ più esterno, in questo caso, la x. Se dunque scriviamo: [λx.[λy. y vedere x]] (harry) (ron) l’applicazione funzionale procede in questo modo: il primo argomento, harry, converte la variabile x, producendo in output la funzione annidata: [λy. y vedere harry]; questa 17 Per facilitare il lettore, nel seguito indicherò i passaggi di λ-conversione sottolineando l’argomento che va a convertire la variabile e barrando il prefisso λ che cadrà a seguito della conversione. 13 funzione si applica quindi al secondo argomento, ron, producendo le seguenti condizioni di verità: ron vedere harry.18 Il lettore avrà notato che il prefisso lambda più esterno vincola la variabile x che, nella descrizione di valore, occorre nella posizione di secondo argomento della relazione di vedere; questo perché, come abbiamo notato nel § 4, (2), composizionalmente il verbo transitivo si combina immediatamente con il NP complemento oggetto, e la denotazione risultante al livello di VP – cioé la funzione annidata – si compone poi con la denotazione del NP soggetto. Come ultima osservazione, si noti la stretta corrispondenza fra la definizione di un insieme per specificazione di una condizione di appartenenza (§ 2) e la definizione della corrispondente funzione caratteristica: {x ∈ D: x sorridere} [λx∈D. x sorridere] Parleremo rispettivamente di astrazione insiemistica per {x ∈ D: ... x ... } e di astrazione funzionale (o astrazione lambda) per [λx∈D. ...x...]. Benché la notazione funzionale sia largamente prevalente nella letteratura, in alcuni casi viene invece utilizzata la notazione insiemistica. Il lettore sarà ben presto in grado di ‘tradurre’ dall’una all’altra notazione, ricordando sempre che, essendo la nostra una emantica modellistica, anche la definizione funzionale è usata, in ultima analisi, per esprimere proprietà è relazioni di oggetti insiemistici definiti sul dominio del modello. Esercizio svolto 3. Specificare la struttura sintattica e la composizione semantica in notazione λ per l’esempio (8): (8) Hermione parla di Harry. 18 Come segnalano Heim & Kratzer (1998), un modo alternativo di disambiguare l’applicazione funzionale è quello di scrivere l’argomento all’esterno della parentesi quadra che chiude la definizione della funzione che si applica a quell’argomento: [λx.[λy. y vedere x]] (ron) ⇒ s converte la variabile x: [λy. y vedere ron] [λx.[λy. y vedere x] (ron)] ⇒ s converte la variabile y: [λx. ron vedere x]. La prima è la funzione caratteristica dell’insieme degli individui che vedono Ron; la seconda è la funzione caratteristica dell’insieme degli individui che Ron vede. Nel seguito, tuttavia, adotteremo la convenzione standard nella letteratura. 14 S NPS VP V N PP P NP N Hermione parla di Harry Per semplicità, analizzeremo la preposizione a come semanticamente irrilevante, e parla come un predicato bi-argomentale.19 Procedendo dal basso all’alto (bottom-up): [[ Harry]]= [[ N]] = [[ NPO]]=[[PP]] = harry (per eredità e per irrilevanza semantica di P) [[V]] = [[ parla]]= [λx.[λy. y parlare-a-proposito-di x]] [[VP]] = [[V]]([[PP]]) = [λx.[λy. y parlare-a-proposito-di x]] (harry) = = [λy. y parlare-a-proposito-di harry] [[ Hermione]]=[[ N]] =[[ NPS]] = hermione (per eredità) [[ S]] = 1 sse [[VP]] ([[ NPS ]]) = 1 (predicazione) sse [λy. y parlare-a-proposito-di harry] (hermione) = 1 sse hermione ∈ {y: y parlare-a-proposito-di harry} (hermione appartiene all’insieme caratterizzato dalla funzione denotata dal VP) sse hermione parlare-a-proposito-di harry (nella circostanza di valutazione) 6. I tipi semantici La notazione lambda ci ha permesso di definire in modo compatto funzioni anche relativamente complesse nel nostro metalinguaggio. Nella semantica modellistica, c’è un modo altrettanto compatto di distinguere il grado di complessità delle denotazioni, attraverso la definizione dei tipi semantici: questi ci permettono di sistematizzare un inventario denotazionale ricco, di complessità in linea di principio illimitata. 19 Naturalmente, parla ammette anche un uso monoargomentale (intransitivo), ad es.: (i) Hermione parla. Nella nostra analisi, questo uso corrisponde ad una denotazione distinta del verbo parla (il lettore è invitato a specificarla in notazione lambda). Quando una stessa parola/lessema può avere denotazioni diverse, corrispondenti a valenze diverse (mono-, bi-, triargomentali), si ha ambiguità lessicale. 15 La definizione dei tipi semantici è ricorsiva, e come ogni definizione ricorsiva, parte dai tipi-base ‘saturi’, cioé non funzionali: i) e è il tipo semantico degli individui (per «entity»). ii) t è il tipo semantico dei valori di verità (per «truth-value»). A partire da questi si può definireun insieme infinito di tipi non saturi (funzionali), come coppie ordinate di due tipi più semplici già definiti, grazie alla clausola ricorsiva (iii): Clausola ricorsiva: iii) Dati due qualsiasi due tipi semantici σ e τ, <σ,τ> è un tipo semantico. In base a (iii), <e,t> è un tipo semantico; applicando ulteriormente (iii), anche <e, <e,t>> , <<e,t>, t> sono tipi semantici, ecc. In modo parallelo, definiamo i domini denotazionali corrispondenti ai tipi semantici: Definizione ricorsiva dei domini denotazionali: i) De := D (il dominio del modello: un insieme di entità)20 ii) Dt := {0,1} (l’insieme dei valori di verità) iii) Dati due tipi semantici σ e τ, D<σ,τ> è l'insieme di tutte le funzioni che hanno come dominio Dσ e come co-dominio Dτ (cioé prendono in input argomenti che appartengono a Dσ e restituiscono in output valori che appartengono a Dτ). Ecco i tipi semantici delle denotazioni fin qui considerate: [[ NP]] tipo e V intransitivo (es. [[ sorride]]) tipo <e,t> V transitivo (es. [[ vede]]) tipo <e, <e,t>> [[ VP]] tipo <e,t> (direttamente, o per applicazione funzionale alla denotazione del complemento oggetto) [[ S]] 20 tipo t. Attenzione a non confondersi: l’intero dominio De è un insieme di entità, ma la denotazione di tipo e di un NP sarà una singola entità. 16 Si noti che questi sono tipi estensionali, cioé corrispondono alle denotazioni delle varie categorie relativamente ad una singola circostanza di valutazione.21 L’introduzione dei tipi semantici ci permette di indicare in modo compatto il tipo di denotazione delle categorie, o delle variabili nel nostro metalinguaggio. Ad esempio, scrivendo xe, il tipo semantico in pedice indica che la variabile x varia su oggetti del dominio De, cioé su entità; la variabile f<e,t> varia su funzioni di tipo <e,t>, ecc. Esercizio svolto 4. Spiegare a quali domini denotazionali corrispondono i seguenti tipi semantici: a) <<e,t>, <e,t>> b) <<e,t>, e> c) <<e,t>, t> a) <<e,t>, <e,t>> è il tipo delle funzioni che prendono in input una funzione caratteristica (di tipo <e,t>) e restituiscono in output un’altra funzione caratteristica (anch’essa di tipo <e,t>). b) <<e,t>, e> è il tipo delle funzioni che prendono in input una funzione caratteristica (di tipo <e,t>) e restituiscono in output una entità del dominio (di tipo e). c) <<e,t>, t> è il tipo delle funzioni che prendono in input una funzione caratteristica (di tipo <e,t>) e restituiscono in output un valore di verità (tipo t). 7. L’interpretazione guidata dai tipi Nei paragrafi precedenti abbiamo visto alcuni esempi di composizione semantica (sia in notazione insiemistica che funzionale), ma non abbiamo ancora formulato esplicitamente le regole di interpretazione. In linea di principio, dato che la composizione semantica procede parallelamente alla struttura sintattica, le regole di interpretazione potrebbero fare riferimento alle specifiche categorie sintattiche che vengono interpretate passo dopo passo. Ma una formulazione di questo tipo non sarebbe sufficientemente generale. Abbiamo visto che sia nel caso della composizione tra l’NP soggetto e il VP (predicazione), sia nel caso della combinazione tra un V transitivo e l’NP oggetto, la soluzione è l’applicazione funzionale. E’ possibile formulare una regola di interpretazione che si applichi in entrambi i casi? 21 Nel cap. 9, § 4 definiremo anche i tipi intensionali. 17 Una formulazione sufficientemente generale è possibile se, anziché fare riferimento alle specifiche categorie sintattiche, facciamo riferimento al tipo semantico delle loro denotazioni: Regola di composizione per applicazione funzionale Se una categoria sintattica ha due costituenti immediati, dove la denotazione di uno dei due costituenti è una funzione che prende in input argomenti di tipo e, e la denotazione dell’altro costituente è una entità di tipo e, allora la composizione semantica consiste nell’applicazione della funzione all’entità. Nella composizione tra V e NPO, la denotazione di V è una funzione di tipo <e, <e,t>> e la denotazione di NPO è di tipo e; nella composizione fra NPS e VP, la denotazione del VP è di tipo <e,t> e la denotazione di NPS è di tipo e. Questa formulazione della regola è detta type-driven (‘guidata dai tipi’) perché, appunto, è sufficiente fare riferimento al tipo di denotazione dei costituenti che stiamo interpretando.22 Basandoci sui tipi semantici, possiamo dare una formulazione ancor più generale:23 Regola di composizione per applicazione funzionale Se una categoria sintattica ha due costituenti immediati, dove la denotazione di uno dei due costituenti è una funzione, e la denotazione dell’altro costituente ricade nel dominio di questa funzione, allora la denotazione dell’intera categoria si ottiene applicando la funzione alla denotazione del costituente fratello. Nell’interpretare l’albero sintattico possiamo procedere dal basso all’alto (bottom-up), cominciando dalle ‘foglie’ dell’albero, cioé le parole, la cui denotazione è fissata nel lessico, e ricavando la denotazione di ciascuna delle categorie superiori a partire dalle denotazioni, già ricavate precedentemente, dei suoi costituenti immediati. (Ricordiamo che, se una categoria ha un solo costituente immediato, oppure uno dei due costituenti è semanticamente irrilevante, si ha il semplice meccanismo di eredità della denotazione.)24 In alternativa, possiamo procedere anche dall’alto al basso (top-down), partendo dalla ‘radice’ 22 Il riferimento fondamentale è Klein & Sag (1985). Questa regola corrisponde alla regola per i nodi ramificanti (branching nodes) di Heim & Kratzer (1998). 24 Questo corrisponde alla regola per i nodi non ramificanti (non-branching nodes) di Heim & Kratzer (1998). 23 18 dell’albero, cioé la categoria S/TP. Questa soluzione è tecnicamente un po’ più complessa, perché ci costringe a scomporre via via la denotazione di ciascuna categoria in sottocomponenti il cui contenuto ultimo verrà specificato solo quando arriveremo ad interpretare le ‘foglie’ dell’albero (cioé le parole). Se dal punto di vista formale i due meccanismi sono equivalenti, dal punto di vista procedurale la direzione bottom-up è forse più intuitiva. Per concludere, mi sembra opportuno spendere qualche parola di incoraggiamento per il lettore che ha appena affrontato una dose massiccia di nozioni tecniche e di formalizzazioni. La semantica composizionale modellistica è una disciplina formale, che presenta qualche difficoltà per chi non è abituato ad un certo tipo di metodo e di linguaggio tecnico. In generale, i suoi meccanismi si possono comprendere anche su un piano intuitivo; tuttavia, ritengo che questo sia un passaggio necessario, ma non sufficiente. In questo libro mi pongo l’ambizione di far acquisire al lettore non solo i concetti, ma anche il metalinguaggio tecnico della disciplina, affinché alla fine del percorso il lettore possa accedere in modo autonomo – seppur gradualmente – alla letteratura specialistica, e sia in grado di confrontare tra loro proposte analitiche diverse. Questo non significa che il libro sia rivolto soltanto a futuri professionisti della semantica: esso si rivolge a chiunque voglia riflettere in modo articolato sulle proprie intuizioni semantiche, utilizzando un quadro di riferimento rigoroso ed esplicito. Questo capitolo costituisce il passaggio obbligato in cui siamo costretti a rompere il ghiaccio con il formalismo; una volta superato questo passaggio, il lettore riuscirà facilmente a cogliere come i concetti presentati in modo intuitivo si traducono in una formulazione esplicita nel non più così temibile metalinguaggio. Esercizi 1. a) Dati due insiemi: A= {a,c,d,f } B = {c,f,d,a} A e B sono uguali o no? b) Date due ennuple ordinate: A = <1,3,5> B = <3,1,5> A e B sono uguali o no? 2. Dati due insiemi: A= {a,c,d,f} B = {g,l,c,h,n} A e B sono disgiunti o no? Se no, qual è la loro intersezione? 3. Dati i due insiemi: A = {a,b,c} B = {g,l,c,h} qual è l'unione A ∪ B? 4. Dati due insiemi: A= {a,c,g } B = {l,c,h,n,a,u} quale dei due è un sottoinsieme dell'altro? 19 5. Definire per elencazione la denotazione del verbo odia in una circostanza di valutazione, e fare la composizione semantica (in metalinguaggio insiemistico) per l’enunciato (9), determinandone il valore di verità: (9) Harry odia Snape. 6. Data la struttura sintattica (10), contenente un verbo tri-argomentale: (10) S NPS VP N V′ V PP NP P NP N a N presenta e date le condizioni di verità: [λxe.[λye.[λze.z presentare x a y]]] (ron)(viktor)(harry), determinare in quale posizione N dell’albero devono essere inseriti i nomi propri Ron, Viktor, Harry. (Anche in questo caso, per semplicità assumiamo che la preposizione a sia semanticamente irrilevante.) 7. Non tutte le preposizioni possono essere considerate semanticamente irrilevanti: specificare la struttura sintattica e l’interpretazione semantica per l’enunciato (11), assumendo che in questo caso la preposizione locativa a abbia la seguente denotazione: [[ a]] = [λxe.[λye.[y si-trova-a x]]] (11) Harry è a Londra. Soluzioni 1. a) A e B sono uguali, perché hanno gli stessi membri, e il diverso ordine è irrilevante. b) A e B non sono uguali, perché malgrado abbiano gli stessi elementi, il diverso ordine è rilevante. 2. A e B non sono disgiunti: la loro intersezione è {c}. Attenzione a non confondere l’insieme singoletto (a un solo membro) {c} con l’entità c (cfr. nota 8). 3. A ∪ B = {a,b,c,g,l,h} 4. Nessuno dei due è sottoinsieme dell’altro: sebbene a,c∈A e a,c∈B, tuttavia g∈A ma g∉B. 20 5. (9) S NPS N VP V Harry NPO odia N Snape [[V]] = [[ odia]]= {<x,y> : x odiare y } [[ NPO]]= [[ N]] = [[ Snape]]= snape (per eredità) [[VP]] = {z: <z, [[ NPO]]> ∈ {<x,y>: x odiare y }} = {z: <z, snape> ∈ {<x,y>: x odiare y }} ={z: z odiare snape} [[ NPS]]= [[ N]] = [[ Harry]]= harry (per eredità) [[ S]] = 1 sse [[ NPS ]] ∈ [[VP]] (predicazione) sse harry ∈ {z: z odiare snape}; assumendo ad es. questa denotazione nella circostanza di valutazione: [[ odia]] = {<harry, snape>, <snape, harry>} (odio reciproco, ma le due coppie ordinate sono distinte!), avremo che [[ VP]] = {harry}, e dunque [[ S]] = 1 nella circostanza di valutazione. Assumendo invece un’altra circostanza di valutazione in cui [[ odia]] = { <snape, harry>, <voldemort, harry>}, avremo che [[ VP]] = ∅ (l’insieme vuoto), e dunque [[ S]] = 0. 6. Date le condizioni di verità: [λxe.[λye.[λze.z presentare x a y]]] (ron)(viktor)(harry) ron converte la variabile x, viktor converte la variabile y, harry converte la variabile z: (10) S NPS VP N V′ Harry V presenta PP NPO P NP N a N Ron Viktor 21 [[V]] = [λxe.[λye.[λze.z presentare x a y]]] [[V′]] = [[V]] ([[NPO]]) = [λxe.[λye.[λze.z presentare x a y]]] (ron) = [λye.[λze.z presentare ron a y]] [[VP]] = [[V′]] ([[PP]]) =[λye.[λze.z presentare ron a y]] (viktor) = = [λze.z presentare ron a viktor] [[S]]= 1 sse [[VP]] ([[NPS]]) =1, sse [λze.z presentare ron a viktor] (harry) = 1 7. (11) TP NPS T′ N T PP Harry è P NP a N Londra [[ Londra]]=[[ N]] =[[ NP]] = londra (per eredità) [[a]] = [[ P]]= [λx.[λy. y si-trova-a x]] [[PP]] = [[P]]([[NP]]) = [λx.[λy. y si-trova-a x]] (londra) = = [λy. y si-trova-a londra] [[ Harry]]=[[ N]] =[[ NPS]] = harry (per eredità) [[ S]] = 1 sse [[VP]] ([[ NPS]]) = 1 (predicazione) sse [λy. y si-trova-a londra](harry) = 1. Domande 1. Qual è la struttura sintattica di un enunciato con un verbo transitivo? 2. Che cos’è, insiemisticamente, una relazione? 3. Quali sono le conseguenze del principio di composizionalità nell’analisi degli enunciati con verbi transitivi? 4. Che cos’è l’annidamento di funzione? 5. Definire ricorsivamente i tipi semantici estensionali, e i corrispondenti domini denotazionali. 6. Che cosa si intende per interpretazione type-driven?