Érvelés, bizonyítás, következmény, helyesség Érvelés (argument): Premisszák, konklúzió P1, P2, … tehát K Érvelés Fitch formátumban: P1 P2 … K A függőleges vonal mutatja, mettől meddig tart az érvelés A vízszintes választja szét a premisszákat és a konklúziót
A cserebogár bogár, és minden bogár rovar. Tehát a cserebogár rovar. Érvényes érvelés: a premisszák igazsága esetén biztosak lehetünk a konklúzió igazságában. Konkluzív érvelés: érvényes, és a premisszák igazak. A cserebogár bogár. Hiszen a cserebogár rovar, és minden rovar bogár. Helyes, érvényes (valid) Sőt, konkluzív (sound) Helyes, de nem konkluzív Az egyik premissza hamis
A cserebogár rovar, mert minden rovar bogár és a cserebogár bogár. Nem helyes Hogyan bizonyítjuk, hogy nem helyes? Ellenpélda: A ló hal, mert minden hal gerinces és a ló gerinces. Ellenpélda: ugyanolyan formájú következtetés (csak kicseréltünk bizonyos predikátumokat), melyben a premisszák igazak és a konklúzió hamis.
Jancsi idősebb, mint Juliska Juliska idősebb, mint Malacka Jancsi idősebb, mint Malacka Helyes ?! Lehetetlen, hogy a premisszák igazak legyenek és a konklúzió hamis. De tudunk ellenpéldát adni. Az ‘idősebb, mint’ kétargumentumú predikátumot cseréljük ki arra, hogy ‘szereti’. Tehát a lehetetlenség az ‘idősebb, mint’ jelentésén múlik. Tágabb értelemben logikai következmény. Vagy analitikus következmény – ahogy tetszik.
Múltkori házi feladatok 1.13, 5. mondat: LeftOf(fm(b), b) Mit jelent (magyarul)? Lehet-e igaz? Analitikusan hamis. (Avagy logikailag hamis, de a ‘logikai’ tágabb értelmében.) 6.: SameRow(rm(c), c) Analitikusan igaz (avagy tágabb értelemben vett logikai igazság). Lehetetlen, hogy hamis legyen (azaz nincs olyan Tarski-féle világ, amelyben hamis). Bármilyen premisszahalmazból következik (az üresből is). 4.: FrontOf(fm(e), e)
Bizonyítás (Proof) Hogyan bizonyíthatjuk egy érvelés helyességét? Levezetjük a konklúzióját a premisszákból. Fitch formátumban: A vízszintes vonal alatt minden mondat (lépés) következménye a megelőzőeknek P1 P2 P3 K1 K2 … Kn (=K) Vegyünk először példánal egy nem formális bizonyítást. Mindegy, hogy premisszáknak, vagy már levezetett mondatoknak (azaz korábbi lépéseknek.
Törzsszámok minden véges halmazához van olyan törzsszám, ami nincs benne a halmazban. (Euklidész) Törzsszám az, ami csak eggyel és önmagával osztható. (premissza, definíció) Legyen p1, p2, … pn törzsszámok egy adott, nem üres halmaza. Legyen m=p1*p2*…pn + 1 (!) Ha m=n*k+1, akkor m nem lehet osztható k-val. (k>1) (premissza) Tehát m nem osztható p1, p2, …pn egyikével sem. (következik az előzőekből) De m>1 (következik az előzőekből). Mivel m>1, m vagy törzsszám, vagy összetett szám (logikai igazság, tehát bármiből következik). Ha m törzsszám, akkor készen vagyunk. (!!) Ha m összetett szám, akkor osztható legalább egy törzsszámmal (premissza). De ez a törzsszám különbözik p1, p2, …pn mindegyikétől (következik az előzőekből) Ezért megint készen vagyunk.
Axiomatikus bizonyítás: a premisszák mind axiómák. (Tehát a (. ), ( Axiomatikus bizonyítás: a premisszák mind axiómák. (Tehát a (!), (!!) állításokat levezetjük az aritmetika axiómáiból.) A bizonyítás szigorú: ha minden lépés következmény, tehát biztosan igaz, ha a megelőző lépések igazak (nemcsak nagyon valószínű). Formális bizonyítás: adott nyelv, adott formátum. Tehát: az előző bizonyítás nem axiomatikus, nem formális, de szigorú. Egy adott rendszeren belüli formális bizonyítás: minden lépés a rendszer valamelyik előre rögzített levezetési szabálya szerint következik az előzőekből. A levezetési szabályok alkotják tulajdonképpen a logikát.
Bizonyítások azonossággal Vegyük ezt a két premisszát (a blokknyelven): Cube(b) b=c Ha ezek igazak egy világban, akkor nyilván igaz Cube(c) is. Általában, ha b és c ugyanaz az objektum, akkor mindent, amit b-ről állíthatunk, c-ről is állíthatjuk. Ez az azonosak felcserélhetőségének elve, avagy Leibniz salva veritate-elve. Vagy ha jól értjük Leibniz szövegét, akkor az általa kimondott elv egyik fele.
Ez az első logikai (levezetési) szabályunk: Ha adott egy “b=c” alakú lépés, és egy másik lépés, amelyben előfordul b, akkor ezekből szabad arra a mondatra következtetni, amely a másodikból úgy keletkezik, hogy b-t kicseréljük c-re. A szabály neve (jelölése) a mi rendszerünkben: azonosság-kiküszöbölés (=Elim). Ezt odaírhatjuk az alkalmazása mellé jobbra. Így ellenőrizhető, hogy az adott konklúziót hogyan kaptuk. Célszerű mindig megszámozni egy levezetés (bizonyítás) sorait (lépéseit). Így azt is meg tudjuk adni, hogy egy adott =Elim lépés mely korábbi lépésekre támaszkodik. „=Elim: 4, 25” a következőket jelenti: -- az a sor, amely mellett ez áll, azonosak felcserélésével keletkezett -- a 4. és a 25.sorban levő mondatból A kettő közül az egyiknek azonosságnak kell lennie. Ha mind a kettő azonosság, akkor még nem tudjuk egyértelműen hogyan kaptuk az új mondatot, de csak két lehetőség van.
Az azonosságra vonatkozó másik szabály: bármely bizonyításba bármikor beleírhatunk egy “b=b” alakú lépést (ahol b egy név). Ennek neve azonosság-bevezetés (=Intro). Az ilyen alakú álítások mindig igazak, tehát mindenből következnek (akár az üres premisszahalmazból is). Alkalmazás: a=b premissza a=a =Intro b=a =Elim: 2, 1 Ebben a bizonyításban a második sorban a első előfordulását cseréltük ki b-re. Azt bizonyítottuk be, hogy “a=b”-ből mindig lehet “b=a”-ra következtetni. Ez az azonosság szimmetriája. A blokknyelv kétargumentumú predikátumai (relációi) között más szimmetrikusak is vannak: SameCol, SameRow. Az azonosság szimmetriája logikai törvény, a többi reláció szimmetriája a definíciójából (jelentéséből) következik.
Egy másik fontos tulajdonsága az azonosságnak (és más relációknak): a tranzitivitás, azaz hogy “a=b”-ből és “b=c”-ből mindig következik “a=c”. Az azonosság tranzitivitását is be lehet bizonyítani az eddigi két szabályunk segítségével. (Házi feladat lesz.) A blokknyelv más tranzitív predikátumai: SameCol, SameRow, BackOf, stb. Ez utóbbiakat nem bizonyítottuk, de tudjuk a predikátumok leírásából. A házi feladatokban fel szabad használni az ilyen tulajdonságokat. Még egy hasonló összefüggés: BackOf(a, b) pontosan akkor igaz, amikor FrontOf(b, a). Ezt úgy mondjuk, hogy a BackOf és a FrontOf predikátumok egymás megfordításai (inverzei). A blokknyelvben inverz predikátumpár még például LeftOf és RightOf, vagy Smaller és Larger. Mi egy szimmetrikus predikátum inverze? Saját maga. Házi feladatok: 2.1, 2.4, 2.5.