<< pagina principale < ······················ << articoli < ······················
di Roberto Ricci
1.
Un sillogismo è un particolare schema di ragionamento e un sillogismo categorico si applica alle proposizioni categoriche, espressioni le cui strutture possono essere assimilate alle seguenti quattro:
A. 'tutti gli X sono degli Y'
E. 'tutti gli X sono dei non Y' ( equivale a 'nessun X è Y')
I. 'alcuni X sono degli Y'
O. 'alcuni X sono dei non Y'
Le proposizioni che hanno strutture di tipo A ed E si dicono, inoltre, universali, rispettivamente affermative e negative, mentre quelle di tipo I ed O si dicono, inoltre, particolari, rispettivamente affermative e negative. In un sillogismo categorico le premesse sono proposizioni categoriche che hanno un termine, cioè soggetto o predicato, in comune; la conclusione è una proposizione categorica che ha per soggetto il soggetto della seconda premessa e per predicato il predicato della prima, termini non comuni.
Un esempio di sillogismo categorico, del tipo detto Barbara, è:
tutti gli uomini sono mortali,
tutti i greci sono uomini
quindi tutti i greci sono mortali.
Un altro esempio, del tipo detto anche Darii, è: tutti gli spartani sono guerrieri, alcuni greci sono spartani quindi alcuni greci sono guerrieri. Spesso i sillogismi vengono rappresentati con schemi come:
tutti gli uomini sono mortali tutti i greci sono uomini tutti i greci sono mortali.
Aristotele per primo studiò in modo sistematico queste forme di ragionamento individuando 19 sillogismi categorici corretti, ma il loro numero può essere ampliato fino a comprenderne 24.
Per elencarli in maniera sintetica si ricorre ad una classificazione che li distingue in 4 figure a seconda della disposizioni dei termini.
figure
1 | 2 | 3 | 4 |
...Z...X ...Y...Z ...Y...X |
...X...Z ...Y...Z ....Y...X |
...Z...X ...Z...Y ...Y...X |
...X...Z ...Z...Y ...Y...X |
Ad esempio i sillogismi del tipo Barbara o quelli del tipo Darii sono della prima figura.
Un esempio di sillogismo della terza figura è: tutti i greci sono uomini, alcuni greci sono spartani quindi alcuni spartani sono uomini. In conseguenza i sillogismi categorici validi possono essere rappresentati nella tabella seguente:
1^modo | 2^modo | 3^modo | 4^modo | 5^modo | 6^modo | |
1 figura: | A A A |
E A E |
A I I |
E I O |
A A I |
E A O |
2 figura: | E A E |
A E E |
E I O |
A O O |
E A O |
A E O |
3 figura: | A A I |
I A I |
A I I |
E A O |
O A O |
E I O |
4 figura: | A A I |
A E E |
I A I |
E A O |
E I O |
A E O |
E` interessante osservare ad esempio che:
tutti gli X sono degli Y = non ( alcuni X sono dei non Y )
alcuni X sono degli Y = non ( tutti gli X sono dei non Y )
o soprattutto che ( regole dette di conversione semplice ):
tutti gli X sono dei non Y = tutti gli Y sono dei non X
alcuni X sono degli Y = alcuni Y sono degli X
Si può osservare inoltre che la deduzione ( detta reductio ad subalternatam )
tutti gli X sono degli Y alcuni X sono degli Y
è alla base di alcuni dei sillogismi categorici validi sopra elencati. Oggi, invece, tale assunto non è condiviso: 'tutti gli X sono Y' viene considerata vera anche se non ci sono X, mentre 'alcuni X sono Y' risulterebbe falsa.
Aristotele mostrò che tutti i sillogismi categorici validi potevano essere ridotti a quelli della prima figura. Negli anni venti-trenta di questo secolo il logico polacco Lukasiewicz ha messo in evidenza come la teoria aristotelica dei sillogismi categorici sia un semplice esempio di sistema assiomatico- deduttivo, in cui gli assiomi sono costituiti dai sillogismi della prima figura mentre tra le regole figurano quelle della riduzione alla subalterna, della conversione semplice e del ragionamento per assurdo.
2.
In Prolog possiamo rappresentare le proposizioni categoriche ad esempio nella forma
sono(<quantificatore>(<termine>),<termine>)
essendo
<quantificatore> ::= tutti / alcuni
<termine> ::= <identificatore> / non (<identificatore>)
Così, ad esempio, la proposizione 'tutti gli uomini sono mortali' si rappresenterebbe con:
sono(tutti(uomini),mortali).
Possiamo rappresentare inoltre la base di conoscenza relativa alle regole di ragionamento in maniera assai compatta:
regola :-
sono(tutti(Y),X), /* reductio ad subalternatam */
not sono(alcuni(Y),X),
assert(sono(alcuni(Y),X)).
regola :-
sono(tutti(Y),non(X)), /* conversione semplice */
not sono(tutti(X),non(Y)),
assert(sono(tutti(X),non(Y))).
regola :-
sono(alcuni(Y),X), /* conversione semplice */
not sono(alcuni(X),Y), assert(sono(alcuni(X),Y)).
regola :-
sono(tutti(Z),X),
sono(tutti(Y),Z),
not sono(tutti(Y),X),
assert(sono(tutti(Y),X)). /* sillogismo BARBARA */
regola :-
sono(tutti(Z),X),
sono(alcuni(Y),Z),
not sono(alcuni(Y),X),
assert(sono(alcuni(Y),X)). /* sillogismo DARII */
Le regole rappresentano schemi di ragionamento elementare e consentono di aggiungere alla base di conoscenze, mediante il predicato predefinito 'assert(...)' che vuol dire appunto "asserisci ...", una nuova proposizione categorica , ciò nel caso vi siano le premesse opportune e non sia già stata dedotta quella stessa conclusione. Infine:
deduci :- ripeti, not regola.
è il predicato, senza argomenti come 'regola' e come 'ripeti', definito più sotto, che permette di ripetere se possibile l'applicazione di qualcuna delle regole alle proposizioni categoriche via via dedotte. ripeti. ripeti :- ripeti. Così, ad esempio, si può colloquiare con l'automa nel modo seguente:
?- assert(sono(tutti(greci),uomini)), assert(sono(alcuni(greci),spartani)).
yes
in modo da fornire all'automa Prolog una prima base di fatti; su questa base compirà le deduzioni dopo che l'utente avrà formulato la richiesta:
?- deduci.
yes
A questo punto il colloquio può proseguire con l'interrogazione finalizzata ad ottenere visione di tutte le conclusioni ottenute:
?- sono(Soggetto,Predicato).
Soggetto = tutti(greci) Predicato = uomini
Soggetto = alcuni(greci) Predicato = spartani
Soggetto = alcuni(spartani) Predicato = greci
Soggetto = alcuni(spartani) Predicato = uomini
Soggetto = alcuni(uomini) Predicato = spartani
Soggetto = alcuni(greci) Predicato = uomini
Soggetto = alcuni(uomini) Predicato = greci
Soggetto = alcuni(uomini) Predicato = uomini
Escludendo invece dalla base di conoscenza la regola di 'reductio ad subalternatam' si otterrebbero le seguenti risposte:
Soggetto = tutti(greci) Predicato = uomini
Soggetto = alcuni(greci) Predicato = spartani
Soggetto = alcuni(spartani) Predicato = greci
Soggetto = alcuni(spartani) Predicato = uomini
Soggetto = alcuni(uomini) Predicato = spartani
Oppure, asserendo che 'tutti gli ateniesi sono greci' e 'nessuno spartano è ateniese' con
?- assert(sono(tutti(ateniesi),greci)), assert(sono(tutti(spartani),non(ateniesi))).
alla domanda
?- sono(Soggetto,Predicato).
si può ottenere la risposta:
Soggetto = tutti(ateniesi) Predicato = greci
Soggetto = tutti(spartani) Predicato = non(ateniesi)
Soggetto = alcuni(ateniesi) Predicato = greci
Soggetto = alcuni(spartani) Predicato = non(ateniesi)
Soggetto = tutti(ateniesi) Predicato = non(spartani)
Soggetto = alcuni(ateniesi) Predicato = non(spartani)
Soggetto = alcuni(greci) Predicato = ateniesi
Soggetto = alcuni(non(ateniesi)) Predicato = spartani
Soggetto = alcuni(non(spartani)) Predicato = ateniesi
Soggetto = alcuni(greci) Predicato = greci
Soggetto = alcuni(non(spartani)) Predicato = greci
Soggetto = alcuni(greci) Predicato = greci
Soggetto = alcuni(greci) Predicato = non(spartani)
Soggetto = alcuni(non(ateniesi)) Predicato = non(ateniesi)
Soggetto = alcuni(non(spartani)) Predicato = non(spartani)
Invece, senza la reduction ad subalternatam si avrebbe soltanto:
Soggetto = tutti(ateniesi) Predicato = greci
Soggetto = tutti(spartani) Predicato = non(ateniesi)
Soggetto = tutti(ateniesi) Predicato = non(spartani)
Per dimostrare che dalla base di conoscenza descritta si possono inferire tutti gli altri sillogismi categorici validi basterà verificare caso per caso.