M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 1 L2. Soluzione degli esercizi su: Logica dei predicati. Esercizio L2.1 Si consideri un linguaggio _ per la logica dei predicati al quale appartengono un simbolo di funzione 0 di arietà ", un simbolo di predicato P di arietà ", un simbolo di predicato Q di arietà # e due variabili individuali B, C . Si trasformi la seguente formula ben formata di _ in forma di Skolem: a(bB)(cT (B)) ” ((aB)T (B) Ä (bC )Q(0 (C ), C ))b • a(aB)ca(aC ) Q(B, C )bb . Soluzione In primo luogo, trasformiamo la formula data in forma normale prenessa. Essa è formata con un “ • ” a partire dalle due formule ! ³ (bB)(cT (B)) ” ((aB)T (B) Ä (bC )U(0 (C ), C )) e " ³ (aB)ca(aC )U(B, C )b ciascuna delle quali va trasformata in forma normale prenessa. La formula ! è formata con un “ ” ” a partire dalle due formule !" ³ (bB)(cT (B)) (già in FNP) !# ³ (aB)T (B) Ä (bC )U(0 (C ), C ) ´ c(aB)T (B) ” (bC )U(0 (C ), C ) ´ ´ (bB)cT (B) ” (bC )U(0 (C ), C ) ´ (bB)cT (B) ” (bB)U(0 (B), B) ´ ´ (bB)acT (B) ” U(0 (B), B)b (ora in FNP) e dunque la forma normale prenessa di ! è (bB)a(cT (B)) ” acT (B) ” Q(0 (B), B)bb che naturalmente può essere semplificata in (bB)acT (B) ” Q(0 (B), B)b mentre la forma normale prenessa di " è (aB)(bC )cQ(B, C ) ´ (aD )(bC )cQ(D , C ) cosicché la FNP di ! • " è (bB)(aD )(bC )aacT (B) ” Q(0 (B), B)b • cQ(D , C )b Infine, per la skolemizzazione basterà introdurre una costante - in luogo di B e una funzione unaria 1(D ) in luogo di C, ottenendo (aD )aacT (- ) ” Q(0 (- ), - )b • cQ(D , 1(D ))b . M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 2 Esercizio L2.2 In un opportuno linguaggio della logica dei predicati, siano H, K simboli di predicato e B, C, D variabili individuali. Si stabilisca se a(bB)H(B)b Ä a(bC )K(C)b } (bD )aH(D ) Ä K(D )b Soluzione “astuta” (applicando la definizione) Dobbiamo provare che in ogni modello nel quale è vero che a(bB)H(B)b Ä a(bC )K(C )b è anche vero che (bD )aH(D ) Ä K(D )b . Sia allora ` un modello nel quale è vero che a(bB)H(B)b Ä a(bC)K(C )b. Consideriamo in tale modello la formula (bD )cH(D ). Essa, per il principio di Aristotele, è vera oppure è falsa. Se è vera, esiste in ` un elemento - per il quale cH(- ) e quindi H(- ) Ä K(- ); in questo caso, si è provato che in ` è vero che (bD )aH(D ) Ä K(D )b . Se invece la formula (bD )cH(D ) è falsa, è vera la sua negazione e quindi è vero in ` che (aB)H(B); scelto un elemento + di `, è in particolare vero in ` che H(+), quindi in ` è vero che (bB)H(B). Ma per ipotesi in ` è vero che a(bB)H(B)b Ä a(bC )K(C )b, dunque in ` esiste un elemento A tale che K(A) è vera; ma allora in ` è vera la H(A) Ä K(A) e infine in ` è vero che (bD )aH(D ) Ä K(D )b, come si voleva dimostrare. Soluzione “meccanica” (applicando le tecniche apprese a lezione) Dobbiamo provare che non è soddisfacibile la formula : ³ aa(bB)H(B)b Ä a(bC )K(C)bb • c(bD )aH(D ) Ä K(D )b . A tale scopo la trasformiamo in forma normale prenessa, la skolemizziamo e la trasformiamo ancora in un insieme di clausole. : ´ aca(bB)H(B)b ” a(bC )K(C )bb • (aD )aH(D ) • cK(D )b ´ ´ aa(aB)cH(B)b ” a(bC )K(C )bb • (aD )aH(D ) • cK(D )b ´ ´ a(bC )aK(C )b ” (aB)acH(B)bb • (aB)aH(B) • cK(B)b ´ ´ (bC )(aB)aaK(C )b ” acH(B)bb • aH(B) • cK(B)b che, in forma di Skolem (con l’introduzione di una costante - ) e sopprimendo il quantificatore universale per trasformarla in un insieme di clausole diventa {{K(- ), cH(B)}, {H(B)}, {cK(B)}} . L’universo di Herbrandt consiste soltanto nella costante - , quindi possiamo lavorare su {{K(- ), cH(- )}, {H(- )}, {cK(- )}} . Applicando l’algoritmo di Davis Putnam con pivot K(- ) si ottiene {{cH(- )}, {H(- )}} e subito dopo l’insieme che consiste nella sola clausola vuota. Dunque l’insieme di clausole non è soddisfacibile, e si è provata la a(bB)H(B)b Ä a(bC )K(C)b } (bD )aH(D ) Ä K(D )b . M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 3 Esercizio L2.3 Si esprimano le premesse (3) Ogni numero primo è un numero irriducibile; (33) #% non è un numero primo; in un opportuno linguaggio della logica dei predicati e si stabilisca, motivando la risposta, se è corretto trarne la deduzione che (333) #% non è un numero irriducibile. Soluzione Introduciamo due simboli di predicato unario (I, P) e una costante (8), che interpretiamo come segue per tradurre le premesse date: I(B) ³ B è un numero irriducibile; P(B) ³ B è un numero irriducibile; : ³ #%. In questo linguaggio della logica dei predicati, le premesse diventano: ( 3) (aB)(P(B) Ä I(B)) ; (33) cP(8) ; e la supposta conclusione diventa (333) cI(8) . Dobbiamo pertanto vedere se (aB)(P(B) Ä I(B)) • cP(8) } cI(8) ossia se la formula ben formata : definita da (aB)(P(B) Ä I(B)) • cP(8) • c(cI(8)) è o non è soddisfacibile. Scriviamo : in forma normale prenessa: : ´ (aB)((cP(B) ” I(B)) • cP(8) • I(8)) . In questa forma, : è già skolemizzata e possiamo considerare l’insieme di clausole ad essa associato {{cP(B), I(B)}, {cP(8)}, {I(8)}} . Poiché l’universo di Herbrandt consiste della sola costante 8, assegniamo direttamente alla B il valore 8 e otteniamo {{cP(8), I(8)}, {cP(8)}, {I(8)}} . Possiamo applicare l’algoritmo di Davis-Putnam! Scegliendo come pivot nell’ordine P(8) e I(8) si giunge rapidamente all’insieme vuoto di clausole: dunque l’insieme di clausole dato è soddisfacibile e la (333) non è conseguenza logica delle (3) e (33). In effetti, interpretando (sempre nell’insieme dei numeri naturali) P(B) come “B è multiplo di %”, I(B) come “B è pari” e 8 come il numero ', le premesse risultano vere (ogni multiplo di % è un numero pari, e ' non è un multiplo di %) ma la conseguenza è falsa (non è vero infatti che ' non è pari). M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 4 Esercizio L2.4 Date le premesse ( 3) Tutti quelli che devono prendere il treno e sono in ritardo devono correre; (33) Paolo deve prendere il treno; (333) Paolo non è in ritardo; le si esprimano in un opportuno linguaggio della logica dei predicati e si stabilisca, motivando la risposta, se è corretta la deduzione che (3@) Paolo non deve correre. Soluzione Introduciamo tre simboli di predicato unario (T, R, C) e una costante (:), che interpretiamo come segue per tradurre le premesse date: T(B) ³ B deve prendere il treno; R(B) ³ B è in ritardo; C(B) ³ B deve correre; : ³ Paolo. In questo linguaggio della logica dei predicati, le premesse diventano: ( 3) (aB)((T(B) • R(B)) Ä C(B)) ; (33) T(:) ; (333) cR(:) ; e la supposta conclusione diventa (3@) cC(:) . Dobbiamo pertanto vedere se (aB)((T(B) • R(B)) Ä C(B)) • T(:) • cR(:) } cC(:) ossia se la formula ben formata : definita da (aB)((T(B) • R(B)) Ä C(B)) • T(:) • cR(:) • c(cC(:)) è o non è soddisfacibile. Scriviamo : in forma normale prenessa: : ´ (aB)((cT(B) ” cR(B) ” C(B)) • T(:) • cR(:) • C(:)) . In questa forma, : è già skolemizzata e possiamo considerare l’insieme di clausole ad essa associato {{cT(B), cR(B), C(B)}, {T(:)}, {cR(:)}, {C(:)}} . Poiché l’universo di Herbrandt consiste della sola costante :, assegniamo direttamente alla B il valore : e otteniamo {{cT(:), cR(:), C(:)}, {T(:)}, {cR(:)}, {C(:)}} . Possiamo applicare l’algoritmo di Davis-Putnam! M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 5 Pivot C(:): clausole non contenenti né C(:) né cC(:): {T(:))}, {cR(:)} ; non ci sono risolventi da calcolare! {{T(:)}, {cR(:)}} È già chiaro a questo punto che l’insieme di clausole è soddisfacibile (chi non è convinto prosegua con l’algoritmo di Davis-Putnam e troverà alla fine l’insieme vuoto di clausole). Dunque non si può concludere che Paolo non deve correre! (In effetti, se ci fosse un leone che lo insegue...) Esercizio L2.5 Sia : ³ (bB)(aC )(P(B) Ä P(C )) ; < ³ (bC)(aB)(P(B) Ä P(C )) . Si dica, motivando la risposta: ( 3) (33) se < è conseguenza logica di :; se : e < sono logicamente equivalenti. Soluzione Sia : che < sono tautologie, quindi ciascuna di esse è conseguenza logica dell’altra e in particolare sono logicamente equivalenti. Proviamo che : è una tautologia. Qualunque siano l’ambiente A e l’interpretazione scelta, ci sono soltanto due possibilità: esiste in A un B! per quale P(B! ) è falso, opure P(B) è vero per ogni B − A. Nel primo caso, P(B! ) Ä P(C ) per ogni C − A (perché P(B! ) è falso); nel secondo caso, P(B) Ä P(C ) per ogni C − A (perché P(C ) è vero per ogni C − A) scegliendo B a piacere. Dunque : è una tautologia. Analogamente si prova che < è una tautologia. Qualunque siano l’ambiente A e l’interpretazione scelta, ci sono soltanto due possibilità: esiste in A un C! per quale P(C! ) è vero, opure P(B) è falso per ogni B − A. Nel primo caso, P(B) Ä P(C! ) per ogni B − A (perché P(C! ) è vero); nel secondo caso, P(B) Ä P(C ) per ogni B − A (perché P(B) è falso per ogni B − A) scegliendo C a piacere. Dunque anche < è una tautologia. Esercizio L2.6 Siano B, C , D variabili individuali, P un simbolo di predicato unario e Q un simbolo di predicato binario. Si stabilisca se (aB)c(bD )(Q(B, D ) Ä P(B)) } (bC )(Q(C , C ) • cP(C )) . Soluzione Se ! e " sono formule, sappiamo in generale che " è conseguenza logica di ! se e soltanto se ! • (c" ) non è soddisfacibile. M. Barlotti Soluzioni per gli Dunque la formula (aB)c(bD )(Q(B, D ) Ä P(B)) “Esercizi di Logica” v. !." Capitolo L2 Pag. 6 (bC )(Q(C , C ) • cP(C )) è conseguenza logica della formula se e soltanto se la formula (aB)c(bD )(Q(B, D ) Ä P(B)) • c(bC )(Q(C , C ) • cP(C )) non è soddisfacibile. Scriviamo tale formula in forma normale prenessa in modo che la parte senza quantificatori sia in forma normale congiuntiva. (aB)c(bD )(Q(B, D ) Ä P(B)) • c(bC )(Q(C , C ) • cP(C )) (aB)c(bD )(cQ(B, D ) ” P(B)) • (aC )c(Q(C , C ) • cP(C )) (aB)(aD )(Q(B, D ) • cP(B)) • (aC )(cQ(C , C ) ” P(C )) (aB)(aD )(aC )(Q(B, D ) • cP(B) • (cQ(C , C ) ” P(C )) Nella formula così ottenuta non compaiono quantificatori esistenziali, quindi possiamo esprimerla direttamente come un insieme di clausole: {{Q(B, D )}, {cP(B)}, {cQ(C , C ), P(C )}} L’universo di Herbrandt consta di un’unica costante, sia essa - . Ponendo B ³ - , C ³ - e z ³ - , si ottiene l’insieme di clausole chiuse {{Q(- , - )}, {cP(- )}, {cQ(- , - ), P(- )}} al quale possiamo applicare l’algoritmo di Davis-Putnam. Pivot P(- ): {{Q(- , - )}, {cQ(- , - )}} Pivot Q(- , - ): {[]} Dunque la formula considerata non è soddisfacibile, e la (bC)(Q(C , C ) • cP(C )) effettivamente conseguenza logica della (aB)c(bD )(Q(B, D ) Ä P(B)) . è Esercizio L2.7 Si consideri un linguaggio _ per la logica dei predicati al quale appartengono un simbolo di funzione 1 di arietà ", un simbolo di predicato P di arietà #, un simbolo di predicato Q di arietà " e due variabili individuali B, C . Si trasformi la seguente formula ben formata di _ in forma di Skolem: a(aB)ca(aC )P(B, C )bb • (a(bB)cQ(B)b ” ((aB)Q(B) Ä (bC )P(1(C ), C ))) . Soluzione In primo luogo, trasformiamo la formula data in forma normale prenessa. Essa è formata con un “ • ” a partire dalle due formule ! ³ (aB)ca(aC )P(B, C )b e " ³ a(bB)cQ(B)b ” ((aB)Q(B) Ä (bC )P(1(C ), C )) ciascuna delle quali va trasformata in forma normale prenessa. M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 7 La forma normale prenessa di ! è (aB)(bC )cP(B, C ) ´ (aD )(bA)cP(D , A) . La formula " è formata con un “ ” ” a partire dalle due formule "" ³ (bB)(cQ(B)) (già in FNP) "# ³ (aB)Q(B) Ä (bC )P(1(C ), C ) ´ c(aB)Q(B) ” (bC )P(1(C ), C ) ´ ´ (bB)cQ(B) ” (bC )Q(1(C ), C ) ´ (bB)cQ(B) ” (bB)Q(1(B), B) ´ ´ (bB)acQ(B) ” Q(1(B), B)b (ora in FNP) e dunque la forma normale prenessa di " è (bB)a(cU(B)) ” acU(B) ” Q(1(B), B)bb ´ (bB)acU(B) ” Q(1(B), B)b cosicché la FNP di ! • " è (bB)(aD )(bA)acP(D , A) • acQ(B) ” Q(1(B), B)bb . Infine, per la skolemizzazione basterà introdurre una costante - in luogo di B e una funzione unaria 0 (D ) in luogo di A, ottenendo (aD )acP(D , 1(D ) • acQ(- ) ” Q(1(- ), - )b)b . Esercizio L2.8 Siano B, C variabili individuali, P un simbolo di predicato binario e Q un simbolo di predicato unario. Si stabilisca se (aB)c(bC )(P(B, C ) Ä Q(B)) } (bB)(P(B, B) • cQ(B)) . Soluzione Se ! e " sono formule, sappiamo in generale che " è conseguenza logica di ! se e soltanto se ! • (c" ) non è soddisfacibile. Dunque la formula (aB)c(bC )(P(B, C ) Ä Q(B)) (bB)(P(B, B) • cQ(B)) è conseguenza logica della formula se e soltanto se la formula (aB)c(bC )(P(B, C ) Ä Q(B)) • c(bB)(P(B, B) • cQ(B)) non è soddisfacibile. Scriviamo tale formula in forma normale prenessa in modo che la parte senza quantificatori sia in forma normale congiuntiva. (aB)c(bC )(P(B, C ) Ä Q(B)) • c(bB)(P(B, B) • cQ(B)) (aB)c(bC )(cP(B, C ) ” Q(B)) • (aB)c(P(B, B) • cQ(B)) (aB)(aC )(P(B, C) • cQ(B)) • (aB)(cP(B, B) ” Q(B)) (aB)(aC )a(P(B, C ) • cQ(B) • (cP(B, B) ” Q(B))b Nella formula così ottenuta non compaiono quantificatori esistenziali, quindi possiamo direttamente esprimerla come un insieme di clausole: {{P(B, C )}, {cQ(B)}, {cP(B, B), Q(B)}} M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 8 L’universo di Herbrandt consta di un’unica costante, sia essa - . Ponendo B ³ - e C ³ -, si ottiene l’insieme di clausole chiuse {{P(- , - )}, {cQ(- )}, {cP(- , - ), Q(- )}} al quale possiamo applicare l’algoritmo di Davis-Putnam. Pivot Q(- ): {{P(- , - )}, {cP(- , - )}} Pivot P(- , - ): {[]} Dunque la formula considerata non è soddisfacibile, e la (bB)(P(B, B) • cQ(B)) effettivamente conseguenza logica della (aB)c(bC )(P(B, C ) Ä Q(B)). è Esercizio L2.9 Date le premesse (3) Tutti quelli che hanno sete e non hanno i soldi per comprarsi una bibita bevono l’acqua del rubinetto; (33) Paolo ha sete; (333) Paolo ha i soldi per comprarsi una bibita; le si esprimano in un opportuno linguaggio della logica dei predicati e si stabilisca, motivando la risposta, se è corretta la deduzione che (3@) Paolo non beve l’acqua del rubinetto. Soluzione Introduciamo tre simboli di predicato unario (T, S, A) e una costante (:), che interpretiamo come segue per tradurre le premesse date: T(B) ³ B ha sete; S(B) ³ B ha i soldi per comprarsi una bibita; A(B) ³ B beve l’acqua del rubinetto; : ³ Paolo. In questo linguaggio della logica dei predicati, le premesse diventano: ( 3) (aB)((T(B) • cS(B)) Ä A(B)) ; (33) T(:) ; (333) S(:) ; e la supposta conclusione diventa (3@) cA(:) . M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 9 Dobbiamo pertanto vedere se (aB)((T(B) • cS(B)) Ä A(B)) • T(:) • S(:) } cA(:) ossia se la formula ben formata : definita da (aB)((T(B) • cS(B)) Ä A(B)) • T(:) • S(:) • c(cA(:)) è o non è soddisfacibile. Scriviamo : in forma normale prenessa: : ´ (aB)((cT(B) ” S(B) ” A(B)) • T(:) • S(:) • A(:)) . In questa forma, : è già skolemizzata e possiamo considerare l’insieme di clausole ad essa associato {{cT(B), S(B), A(B)}, {T(:)}, {S(:)}, {A(:)}} . Poiché l’universo di Herbrandt consiste della sola costante :, assegniamo direttamente alla B il valore : e otteniamo {{cT(:), S(:), A(:)}, {T(:)}, {S(:)}, {A(:)}} . Possiamo applicare l’algoritmo di Davis-Putnam! Pivot A(:): clausole non contenenti né A(:) né cA(:): {T(:))}, {S(:)} ; non ci sono risolventi da calcolare! {{T(:)}, {S(:)}} È già chiaro a questo punto che l’insieme di clausole è soddisfacibile (chi non è convinto prosegua con l’algoritmo di Davis-Putnam e troverà alla fine l’insieme vuoto di clausole). Dunque non si può concludere che Paolo non beve l’acqua del rubinetto! (In effetti, se non c’è in giro nessuno che vende bibite...) Esercizio L2.10 Date le premesse (3) Tutti gli aderenti al “Club dei Cattivi Soggetti” sono ladri o mentitori; (33) Chi è iscritto alle “Giovani Marmotte” non mente mai; (333) Lupetto è iscritto alle “Giovani Marmotte” e aderisce al “Club dei Cattivi Soggetti”; le si esprimano in un opportuno linguaggio della logica dei predicati e si formalizzi la deduzione che (3@) Lupetto è un ladro. M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 10 Soluzione Introduciamo quattro simboli di predicato unario (C, G, L, M) e una costante (j), che interpretiamo come segue per tradurre le premesse date: C(B) ³ B aderisce al “Club dei Cattivi Soggetti”; G(B) ³ B è iscritto alle “Giovani Marmotte”; L(B) ³ B è un ladro; M(B) ³ B è un mentitore; j ³ Lupetto. In questo linguaggio della logica dei predicati, le premesse diventano: ( 3) (aB)(C(B) Ä (L(B) ” M(B))) ; (33) (aB)(G(B) Ä cM(B)) ; (333) C(j) • G(j) ; e la desiderata conclusione diventa (3@) L(j) . Dobbiamo pertanto dimostrare che (aB)(C(B) Ä (L(B) ” M(B))) • (aB)(G(B) Ä cM(B)) • C(j) • G(j) } L(j) ossia che la formula ben formata : definita da (aB)(C(B) Ä (L(B) ” M(B))) • (aB)(G(B) Ä cM(B)) • C(j) • G(j) • cL(j) non è soddisfacibile. Scriviamo : in forma normale prenessa: : ´ (aB)acC(B) ” (L(B) ” M(B)) • (cG(B) ” cM(B)) • C(j) • G(j) • cL(j)b . In questa forma, : è già skolemizzata e possiamo considerare l’insieme di clausole ad essa associato {{cC(B), L(B), M(B)}, {cG(B), cM(B)}, {C(j)}, {G(j)}, {cL(j)}} . Poiché l’universo di Herbrandt consiste della sola costante j, assegniamo direttamente alla B il valore j e otteniamo {{cC(j), L(j), M(j)}, {cG(j), cM(j)}, {C(j)}, {G(j)}, {cL(j)}} . Possiamo applicare l’algoritmo di Davis-Putnam! Pivot C(j): clausole non contenenti né C(j) né cC(j): {cG(j), cM(j)}, {G(j)}, {cL(j)} ; ResC(j) ({cC(j), L(j), M(j)}, {C(j)}) œ {L(j), M(j)} ; {{L(j), M(j)}, {cG(j), cM(j)}, {G(j)}, {cL(j)}} M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 11 Pivot G(j): clausole non contenenti né G(j) né cG(j): {L(j), M(j)}, {cL(j)} ; ResG(j) ({cG(j), cM(j)}, {G(j)}) œ {cM(j)} ; {{L(j), M(j)}, {cL(j)}, {cM(j)}} Pivot L(j): clausole non contenenti né L(j) né cL(j): {cM(j)} ; ResL(j) ({L(j), M(j)}, {cL(j)}) œ {M(j)} ; {{cM(j)}, {M(j)}} Pivot M(j): ResM(j) ({cM(j)}, {M(j)}) œ [] ; {[]} Poiché abbiamo ottenuto la clausola vuota, l’insieme di clausole considerato non è soddisfacibile; dunque nemmeno la formula : è soddisfacibile, e possiamo concludere che la (3@) è conseguenza logica delle (3), (33) e (333) . Esercizio L2.11 Si stabilisca se dalle premesse ( 3) Chi non è un cane è un gatto; (33) Ogni cane insegue qualche gatto; (333) Fufi non insegue alcun gatto; si può dedurre logicamente che (3@) Fufi è un gatto. Soluzione Introduciamo opportuni simboli di predicato: C(B) traduce “B è un cane”; G(B) traduce “B è un gatto”; I(B, C) traduce “B insegue C ”. Inoltre, introduciamo una costante 0! per indicare Fufi. Posto allora ! ³ (aB)(cC(B) Ä G(B)) ; " ³ (aB)(C(B) Ä (bC )(G(C ) • I(B, C ))) ; # ³ c(bB)(G(B) • I(0! , B)) ; $ ³ G(0! ) ; dobbiamo dimostrare che {! , " , # } } $ ossia che ! • " • # • (c$ ) non è soddisfacibile. M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 12 Posto : ³ ! • " • # • (c$ ), scriviamo : in forma normale prenessa in modo che la parte senza quantificatori sia in forma normale congiuntiva. (aB)(cC(B) Ä G(B)) • (aB)(C(B) Ä (bC )(G(C ) • I(B, C ))) • c(bB)(G(B) • I(0! , B)) • cG(0! ) (aB)(C(B) ” G(B)) • (aB)(cC(B) ” (bC )(G(C ) • I(B, C ))) • (aB)c(G(B) • I(0! , B)) • cG(0! ) (aB)(C(B) ” G(B)) • (aB)(bC )(cC(B) ” (G(C ) • I(B, C ))) • (aB)(cG(B) ” cI(0! , B)) • cG(0! ) (aB)(C(B) ” G(B)) • (aB)(bC)((cC(B) ” G(C)) • (cC(B) ” I(B, C))) • (aB)(cG(B) ” cI(0! , B)) • cG(0! ) (aB)a(C(B) ” G(B)) • (bC )((cC(B) ” G(C )) • (cC(B) ” I(B, C ))) • (cG(B) ” cI(0! , B)) • cG(0! )b (aB)(bC )a(C(B) ” G(B)) • ((cC(B) ” G(C )) • (cC(B) ” I(B, C ))) • (cG(B) ” cI(0! , B)) • cG(0! )b Adesso introduciamo un simbolo di funzione 2 e poniamo C ³ 2 (B) per ottenere la “forma di Skolem”: (aB)a(C(B) ” G(B)) • ((cC(B) ” G(2 (B))) • (cC(B) ” I(B, 2 (B)))) • (cG(B) ” cI(0! , B)) • cG(0! )b. L’universo di Herbrandt associato è {0! , 2(0! ), 2 (2 (0! )), 2 (2 (2 (0! ))), á }. Trasformiamo infine la formula così ottenuta in un insieme di clausole {{C(B), G(B)}, {cC(B), G(2 (B))}, {cC(B), I(B, 2(B))}, {cG(B), cI(0! , B)}, {cG(0! )}} e cerchiamo di trovarne una confutazione rapida assegnando alla B opportuni valori scelti nell’universo di Herbrandt. Per chiarezza, poniamo: V" (B) ³ {C(B), G(B)} ; V# (B) ³ {cC(B), G(2(B))} ; V$ (B) ³ {cC(B), I(B, 2(B))} ; V% (B) ³ {cG(B), cI(0! , B)} ; V& ³ {cG(0! )} . Una possibile confutazione rapida è: V' ³ V" (0! ) œ {C(0! ), G(0! )} ; V( ³ ResG(0 ) ÐV& , V' ) œ {C(0! )} ; ! V) ³ V$ (0! ) œ {cC(0! ), I(0! , 2(0! ))} ; V* ³ ResC(0 ) ÐV( , V) ) œ {I(0! , 2 (0! ))} ; ! V"! ³ V% (2(0! )) œ {cG(2(0! )), cI(0! , 2 (0! ))} ; V"" ³ ResI(0 , 2(0 )) ÐV* , V"! ) œ {cG(2 (0! ))} ; ! ! V"# ³ V# (0! ) œ {cC(0! ), G(2(0! ))} ; V"$ ³ ResG(2(0 )) ÐV"" , V"# ) œ {cC(0! )} ; ! V"% ³ ResC(0 ) ÐV( , V"$ ) œ [] . ! Si è così provato che dalle (3), (33) e (333) si può dedurre logicamente la (3@). M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 13 Esercizio L2.12 In un opportuno linguaggio della logica dei predicati, siano P, Q simboli di predicato e +, ,, variabili individuali. Si stabilisca se a(b+)P(+)b Ä a(b,)Q(,)b } (b- )aP(- ) Ä Q(- )b Soluzione “astuta” (applicando la definizione) Dobbiamo provare che in ogni modello nel quale è vero che a(b+)P(+)b Ä a(b,)Q(,)b è anche vero che (b- )aP(- ) Ä Q(- )b . Sia allora ` un modello nel quale è vero che a(b+)P(+)b Ä a(b,)Q(, )b. Consideriamo in tale modello la formula (b- )cP(- ). Essa, per il principio di Aristotele, è vera oppure è falsa. Se è vera, esiste in ` un elemento 5 per il quale cP(5 ) e quindi P(5 ) Ä Q(5 ); in questo caso, si è provato che in ` è vero che (b- )aP(- ) Ä Q(- )b . Se invece la formula (b- )cP(- ) è falsa, è vera la sua negazione e quindi è vero in ` che (a+)P(+); scelto un elemento + di `, è in particolare vero in ` che P(+), quindi in ` è vero che (b+)P(+). Ma per ipotesi in ` è vero che a(b+)P(+)b Ä a(b,)Q(,)b, dunque in ` esiste un elemento A tale che Q(A) è vera; ma allora in ` è vera la P(A) Ä Q(A) e infine in ` è vero che (b- )aP(- ) Ä Q(- )b, come si voleva dimostrare. Soluzione “meccanica” (applicando le tecniche apprese a lezione) Dobbiamo provare che non è soddisfacibile la formula : ³ aa(b+)P(+)b Ä a(b,)Q(,)bb • c(b- )aP(- ) Ä Q(- )b . A tale scopo la trasformiamo in forma normale prenessa, la skolemizziamo e la trasformiamo ancora in un insieme di clausole. : ´ aca(b+)P(+)b ” a(b,)Q(,)bb • (a- )aP(- ) • cQ(- )b ´ ´ aa(a+)cP(+)b ” a(b, )Q(,)bb • (a- )aP(- ) • cQ(- )b ´ ´ a(b,)aQ(,)b ” (a+)acP(+)bb • (a+)aP(+) • cQ(+)b ´ ´ (b,)(a+)aaQ(,)b ” acP(+)bb • aP(+) • cQ(+)b che, in forma di Skolem (con l’introduzione di una costante 5 ) e sopprimendo il quantificatore universale per trasformarla in un insieme di clausole diventa {{Q(5 ), cP(+)}, {P(+)}, {cQ(+)}} . L’universo di Herbrandt consiste soltanto nella costante 5 , quindi possiamo lavorare su {{Q(5 ), cP(5 )}, {P(5 )}, {cQ(5 )}} . Applicando l’algoritmo di Davis Putnam con pivot Q(5 ) si ottiene {{cP(5 )}, {P(5 )}} e subito dopo l’insieme che consiste nella sola clausola vuota. Dunque l’insieme di clausole non è soddisfacibile, e si è provata la a(b+)P(+)b Ä a(b,)Q(,)b } (b- )aP(- ) Ä Q(- )b . M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 14 Esercizio L2.13 Sia : ³ (bB)(aC )(Q(B) Ä Q(C )) ; < ³ (bC)(aB)(Q(B) Ä Q(C )) . Si dica, motivando la risposta: ( 3) (33) se < è conseguenza logica di :; se : e < sono logicamente equivalenti. Soluzione Sia : che < sono tautologie, quindi ciascuna di esse è conseguenza logica dell’altra e in particolare sono logicamente equivalenti. Proviamo che : è una tautologia. Qualunque siano l’ambiente A e l’interpretazione scelta, ci sono soltanto due possibilità: esiste in A un B! per quale Q(B! ) è falso, opure Q(B) è vero per ogni B − A. Nel primo caso, Q(B! ) Ä Q(C ) per ogni C − A (perché Q(B! ) è falso); nel secondo caso, Q(B) Ä Q(C) per ogni C − A (perché Q(C ) è vero per ogni C − A) scegliendo B a piacere. Dunque : è una tautologia. Analogamente si prova che < è una tautologia. Qualunque siano l’ambiente A e l’interpretazione scelta, ci sono soltanto due possibilità: esiste in A un C! per il quale Q(C! ) è vero, opure Q(B) è falso per ogni B − A. Nel primo caso, Q(B) Ä Q(C! ) per ogni B − A (perché Q(C! ) è vero); nel secondo caso, Q(B) Ä Q(C) per ogni B − A (perché Q(B) è falso per ogni B − A) scegliendo C a piacere. Dunque anche < è una tautologia. Esercizio L2.14 Siano B, C , D variabili individuali, P un simbolo di predicato unario e R un simbolo di predicato binario. Si stabilisca se (aB)c(bC )(R(B, C ) Ä P(B)) } (bD )(R(D , D ) • cP(D )) . Soluzione Se ! e " sono formule, sappiamo in generale che " è conseguenza logica di ! se e soltanto se ! • (c" ) non è soddisfacibile. Dunque la formula (bD )(R(D , D ) • cP(D )) è conseguenza logica della formula (aB)c(bC )(R(B, C ) Ä P(B)) se e soltanto se la formula (aB)c(bC )(R(B, C ) Ä P(B)) • c(bD )(R(D , D ) • cP(D )) non è soddisfacibile. Scriviamo tale formula in forma normale prenessa in modo che la parte senza quantificatori sia in forma normale congiuntiva. (aB)c(bC )(R(B, C ) Ä P(B)) • c(bD )(R(D , D ) • cP(D )) (aB)c(bC )(cR(B, C ) ” P(B)) • (aD )c(R(D , D ) • cP(D )) M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 15 (aB)(aC )(R(B, C ) • cP(B)) • (aD )(cR(D , D ) ” P(D )) (aB)(aC )(aD )a(R(B, C ) • cP(B) • (cR(D , D ) ” P(D ))b Nella formula così ottenuta non compaiono quantificatori esistenziali, quindi possiamo direttamente esprimerla come un insieme di clausole: {{R(B, C )}, {cP(B)}, {cR(D , D ), P(D )}} L’universo di Herbrandt consta di un’unica costante, sia essa - . Ponendo B ³ - , C ³ - e z ³ - , si ottiene l’insieme di clausole chiuse {{R(- , - )}, {cP(- )}, {cR(- , - ), P(- )}} al quale possiamo applicare l’algoritmo di Davis-Putnam. Pivot P(- ): {{R(- , - )}, {cR(- , - )}} Pivot R(- , - ): {[]} Dunque la formula considerata non è soddisfacibile, e la (bD )(R(D , D ) • cP(D )) effettivamente conseguenza logica della (aB)c(bC )(R(B, C ) Ä P(B)) . Esercizio L2.15 Si stabilisca se dalle premesse ( 3) (33) (333) Chi non è maschio è femmina; Ogni maschio invidia qualche femmina; Andrea non invidia alcuna femmina; si può dedurre logicamente che (3@) Andrea è una femmina. Soluzione Introduciamo opportuni simboli di predicato: M(B) traduce “B è un maschio”; F(B) traduce “B è una femmina”; I(B, C) traduce “B invidia C ”. Inoltre, introduciamo una costante + per indicare Andrea. Posto allora ! ³ (aB)(cM(B) Ä F(B)) ; " ³ (aB)(M(B) Ä (bC )(F(C ) • I(B, C ))) ; # ³ c(bB)(F(B) • I(+, B)) ; $ ³ F(+) ; dobbiamo dimostrare che {!, " , # } } $ ossia che ! • " • # • (c$ ) non è soddisfacibile. è M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 16 Posto : ³ ! • " • # • (c$ ), scriviamo : in forma normale prenessa in modo che la parte senza quantificatori sia in forma normale congiuntiva. (aB)(cM(B) Ä F(B)) • (aB)(M(B) Ä (bC )(F(C ) • I(B, C ))) • c(bB)(F(B) • I(+, B)) • cF(+) (aB)(M(B) ” F(B)) • (aB)(cM(B) ” (bC )(F(C ) • I(B, C ))) • (aB)c(F(B) • I(+, B)) • cF(+) (aB)(M(B) ” F(B)) • (aB)(bC )(cM(B) ” (F(C ) • I(B, C ))) • (aB)(cF(B) ” cI(+, B)) • cF(+) (aB)(M(B) ” F(B)) • (aB)(bC)((cM(B) ” F(C)) • (cM(B) ” I(B, C))) • (aB)(cF(B) ” cI(+, B)) • cF(+) (aB)a(M(B) ” F(B)) • (bC )((cM(B) ” F(C )) • (cM(B) ” I(B, C ))) • (cF(B) ” cI(+, B)) • cF(+)b (aB)(bC )a(M(B) ” F(B)) • ((cM(B) ” F(C )) • (cM(B) ” I(B, C ))) • (cF(B) ” cI(+, B)) • cF(+)b Adesso introduciamo un simbolo di funzione 2 e poniamo C ³ 2 (B) per ottenere la “forma di Skolem”: (aB)a(M(B) ” F(B)) • ((cM(B) ” F(2(B))) • (cM(B) ” I(B, 2 (B)))) • (cF(B) ” cI(+, B)) • cF(+)b. L’universo di Herbrandt associato è {+, 2(+), 2 (2 (+)), 2 (2 (2 (+))), á }. Trasformiamo infine la formula così ottenuta in un insieme di clausole {{M(B), F(B)}, {cM(B), F(2(B))}, {cM(B), I(B, 2(B))}, {cF(B), cI(+, B)}, {cF(+)}} e cerchiamo di trovarne una confutazione rapida assegnando alla B opportuni valori scelti nell’universo di Herbrandt. Per chiarezza, poniamo: V" (B) ³ {M(B), F(B)} ; V# (B) ³ {cM(B), F(2(B))} ; V$ (B) ³ {cM(B), I(B, 2(B))} ; V% (B) ³ {cF(B), cI(+, B)} ; V& ³ {cF(+)} . Una possibile confutazione rapida è: V' ³ V" (+) œ {M(+), F(+)} ; V( ³ ResF(+) ÐV& , V' ) œ {M(+)} ; V) ³ V$ (+) œ {cM(+), I(+, 2(+))} ; V* ³ ResM(+) ÐV( , V) ) œ {I(+, 2 (+))} ; V"! ³ V% (2(+)) œ {cF(2(+)), cI(+, 2 (+))} ; V"" ³ ResI(+, 2(+)) ÐV* , V"! ) œ {cF(2 (+))} ; V"# ³ V# (+) œ {cM(+), F(2(+))} ; V"$ ³ ResG(2(+)) ÐV"" , V"# ) œ {cM(+)} ; V"% ³ ResM(+) ÐV( , V"$ ) œ [] . Si è così provato che dalle (3), (33) e (333) si può dedurre logicamente la (3@). M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 17 Esercizio L2.16 Date le premesse ( 3) Tutti gli aderenti al “Club dei Cattivi Soggetti” sono ladri o mentitori; (33) Chi è iscritto alle “Giovani Marmotte” non mente mai; (333) Lupetto è iscritto alle “Giovani Marmotte” e non è un ladro; le si esprimano in un opportuno linguaggio della logica dei predicati e si formalizzi la deduzione che (333) Lupetto non aderisce al “Club dei Cattivi Soggetti”. Soluzione Introduciamo quattro simboli di predicato unario (C, G, L, M) e una costante (j), che interpretiamo come segue per tradurre le premesse date: C(B) ³ B aderisce al “Club dei Cattivi Soggetti”; G(B) ³ B è iscritto alle “Giovani Marmotte”; L(B) ³ B è un ladro; M(B) ³ B è un mentitore; j ³ Lupetto. In questo linguaggio della logica dei predicati, le premesse diventano: ( 3) (aB)(C(B) Ä (L(B) ” M(B))) ; (33) (aB)(G(B) Ä cM(B)) ; (333) G(j) • cL(j) ; e la desiderata conclusione diventa (3@) cC(j) . Dobbiamo pertanto dimostrare che (aB)(C(B) Ä (L(B) ” M(B))) • (aB)(G(B) Ä cM(B)) • G(j) • cL(j) } cC(j) ossia che la formula ben formata : definita da (aB)(C(B) Ä (L(B) ” M(B))) • (aB)(G(B) Ä cM(B)) • G(j) • cL(j) • C(j) non è soddisfacibile. Scriviamo : in forma normale prenessa: : ´ (aB)acC(B) ” (L(B) ” M(B)) • (cG(B) ” cM(B)) • G(j) • cL(j) • C(j)b . In questa forma, : è già skolemizzata e possiamo considerare l’insieme di clausole ad essa associato {{cC(B), L(B), M(B)}, {cG(B), cM(B)}, {G(j)}, {cL(j)}, {C(j)}} . M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 18 Poiché l’universo di Herbrandt consiste della sola costante j, assegniamo direttamente alla B il valore j e otteniamo {{cC(j), L(j), M(j)}, {cG(j), cM(j)}, {G(j)}, {cL(j)}, {C(j)}} . Possiamo applicare l’algoritmo di Davis-Putnam! Pivot C(j): clausole non contenenti né C(j) né cC(j): {cG(j), cM(j)}, {G(j)}, {cL(j)} ; ResC(j) ({cC(j), L(j), M(j)}, {C(j)}) œ {L(j), M(j)} ; {{L(j), M(j)}, {cG(j), cM(j)}, {G(j)}, {cL(j)}} Pivot G(j): clausole non contenenti né G(j) né cG(j): {L(j), M(j)}, {cL(j)} ; ResG(j) ({cG(j), cM(j)}, {G(j)}) œ {cM(j)} ; {{L(j), M(j)}, {cL(j)}, {cM(j)}} Pivot L(j): clausole non contenenti né L(j) né cL(j): {cM(j)} ; ResL(j) ({L(j), M(j)}, {cL(j)}) œ {M(j)} ; {{cM(j)}, {M(j)}} Pivot M(j): ResM(j) ({cM(j)}, {M(j)}) œ [] ; {[]} Poiché abbiamo ottenuto la clausola vuota, l’insieme di clausole considerato non è soddisfacibile; dunque nemmeno la formula : è soddisfacibile, e possiamo concludere che la (3@) è conseguenza logica delle (3), (33) e (333) . Esercizio L2.17 Date le premesse (3) Tutti quelli che hanno sostenuto l’esame e hanno sbagliato l’esercizio di logica sono stati respinti; (33) Paolo ha sostenuto l’esame; (333) Paolo non ha sbagliato l’esercizio di logica; le si esprimano in un opportuno linguaggio della logica dei predicati e si stabilisca, motivando la risposta, se è corretta la deduzione che (3@) Paolo non è stato respinto. M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 19 Soluzione Introduciamo tre simboli di predicato unario (E, S, R) e una costante (:), che interpretiamo come segue per tradurre le premesse date: E(B) ³ B ha sostenuto l’esame; S(B) ³ B ha sbagliato l’esercizio di logica; R(B) ³ B è stato respinto; : ³ Paolo. In questo linguaggio della logica dei predicati, le premesse diventano: ( 3) (aB)((E(B) • S(B)) Ä R(B)) ; (33) E(:) ; (333) cS(:) ; e la supposta conclusione diventa (3@) cR(:) . Dobbiamo pertanto vedere se (aB)((E(B) • S(B)) Ä R(B)) • E(:) • cS(:) } cR(:) ossia se la formula ben formata : definita da (aB)((E(B) • S(B)) Ä R(B)) • E(:) • cS(:) • c(cR(:)) è o non è soddisfacibile. Scriviamo : in forma normale prenessa: : ´ (aB)((cE(B) ” cS(B) ” R(B)) • E(:) • cS(:) • R(:)) . In questa forma, : è già skolemizzata e possiamo considerare l’insieme di clausole ad essa associato {{cE(B), cS(B), R(B)}, {E(:)}, {cS(:)}, {R(:)}} . Poiché l’universo di Herbrandt consiste della sola costante :, assegniamo direttamente alla B il valore : e otteniamo {{cE(:), cS(:), R(:)}, {E(:)}, {cS(:)}, {R(:)}} . Possiamo applicare l’algoritmo di Davis-Putnam! Pivot R(:): clausole non contenenti né R(:) né cR(:): {E(:))}, {cS(:)} ; non ci sono risolventi da calcolare! {{E(:)}, {cS(:)}} M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 20 È già chiaro a questo punto che l’insieme di clausole è soddisfacibile (chi non è convinto prosegua con l’algoritmo di Davis-Putnam e troverà alla fine l’insieme vuoto di clausole). Dunque non si può concludere che Paolo non è stato respinto! (In effetti, se ha fatto “scena muta” alle domande di algebra...) Esercizio L2.18 Date le premesse (3) Tutti quelli che salgono sull’autobus e non hanno un valido titolo di viaggio devono comprare un biglietto dal guidatore; (33) Paolo sale sull’autobus; (333) Paolo ha un valido titolo di viaggio; le si esprimano in un opportuno linguaggio della logica dei predicati e si stabilisca, motivando la risposta, se è corretta la deduzione che (3@) Paolo non deve comprare alcun biglietto dal guidatore. Soluzione Introduciamo tre simboli di predicato unario (S, T, C) e una costante (:), che interpretiamo come segue per tradurre le premesse date: S(B) ³ B sale sull’autobus; T(B) ³ B ha un valido titolo di viaggio; C(B) ³ B deve comprare un biglietto dal guidatore; : ³ Paolo. In questo linguaggio della logica dei predicati, le premesse diventano: ( 3) (aB)((S(B) • cT(B)) Ä C(B)) ; (33) S(:) ; (333) T(:) ; e la supposta conclusione diventa (3@) cC(:) . Dobbiamo pertanto vedere se (aB)((S(B) • cT(B)) Ä C(B)) • S(:) • T(:) } cC(:) ossia se la formula ben formata : definita da (aB)((S(B) • cT(B)) Ä C(B)) • S(:) • T(:) • c(cC(:)) è o non è soddisfacibile. M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 21 Scriviamo : in forma normale prenessa: : ´ (aB)((cS(B) ” T(B) ” C(B)) • S(:) • T(:) • C(:)) . In questa forma, : è già skolemizzata e possiamo considerare l’insieme di clausole ad essa associato {{cS(B), T(B), C(B)}, {S(:)}, {T(:)}, {C(:)}} . Poiché l’universo di Herbrandt consiste della sola costante :, assegniamo direttamente alla B il valore : e otteniamo {{cS(:), T(:), C(:)}, {S(:)}, {T(:)}, {C(:)}} . Possiamo applicare l’algoritmo di Davis-Putnam! Pivot C(:): clausole non contenenti né C(:) né cC(:): {S(:))}, {T(:)} ; non ci sono risolventi da calcolare! {{S(:)}, {T(:)}} È già chiaro a questo punto che l’insieme di clausole è soddisfacibile (chi non è convinto prosegua con l’algoritmo di Davis-Putnam e troverà alla fine l’insieme vuoto di clausole). Dunque non si può concludere che Paolo non deve comprare alcun biglietto dal guidatore! (In effetti, se Paolo sale sull’autobus assieme a un altro passeggero che è sotto la sua tutela, e non ha con sé biglietti oltre al proprio abbonamento, deve comprare un biglietto dal guidatore per l’altro passeggero...) Esercizio L2.19 Si esprimano le premesse ( 3) Ogni numero irriducibile è un numero primo; (33) #% non è un numero irriducibile; in un opportuno linguaggio della logica dei predicati e si stabilisca, motivando la risposta, se è corretto trarne la deduzione che (333) #% non è un numero primo. Soluzione Introduciamo due simboli di predicato unario (I, P) e una costante (8), che interpretiamo come segue per tradurre le premesse date: I(B) ³ B è un numero irriducibile; P(B) ³ B è un numero irriducibile; : ³ #%. M. Barlotti Soluzioni per gli “Esercizi di Logica” v. !." Capitolo L2 Pag. 22 In questo linguaggio della logica dei predicati, le premesse diventano: ( 3) (aB)(I(B) Ä P(B)) ; (33) cI(8) ; e la supposta conclusione diventa (333) cP(8) . Dobbiamo pertanto vedere se (aB)(I(B) Ä P(B)) • cI(8) } cP(8) ossia se la formula ben formata : definita da (aB)(I(B) Ä P(B)) • cI(8) • c(cP(8)) è o non è soddisfacibile. Scriviamo : in forma normale prenessa: : ´ (aB)((cI(B) ” P(B)) • cI(8) • P(8)) . In questa forma, : è già skolemizzata e possiamo considerare l’insieme di clausole ad essa associato {{cI(B), P(B)}, {cI(8)}, {P(8)}} . Poiché l’universo di Herbrandt consiste della sola costante 8, assegniamo direttamente alla B il valore 8 e otteniamo {{cI(8), P(8)}, {cI(8)}, {P(8)}} . Possiamo applicare l’algoritmo di Davis-Putnam! Pivot P(8): clausole non contenenti né P(8) né cP(8): {cI(8)} ; non ci sono risolventi da calcolare! {{cI(8)}} Pivot I(8): {} Dunque l’insieme di clausole è soddisfacibile e la (333) non è conseguenza logica delle (3) e (33). In effetti, interpretando (sempre nell’insieme dei numeri naturali) I(B) come “B è multiplo di %”, P(B) come “B è pari” e 8 come il numero ', le premesse risultano vere (ogni multiplo di % è un numero pari, e ' non è un multiplo di %) ma la conseguenza è falsa (non è vero infatti che ' non è pari).