Thursday, March 12, 2020

05 - a Peano axiómák

previously on Heroes
Addig tehát megvagyunk, hogy hiába tűnnek faék egyszerűnek a természetes számok a szorzással meg az összeadással, már erre a struktúrára sincs algoritmus, ami ki tudna benne értékelni egy input formulát.
Olyan algoritmus viszont lesz, ami arra alkalmas, hogy egy input elsőrendű Σ formulahalmazra és egy elsőrendű F formulára igaz, hogy ΣF, akkor erre véges idő alatt rá is jöjjön.
Persze ezek a jelek itt is ugyanazt jelentik, mint ítéletkalkulusban:
  • hogy az A struktúrában az F formula értéke 1, azt írjuk úgy is, hogy A(F)=1, úgy is, hogy AF, úgy is, hogy AMod(F), úgy is mondjuk, hogy A kielégíti F-et és úgy is, hogy A egy modellje az F-nek
  • ha F formula, akkor Mod(F) az összes olyan struktúra osztálya (note: az osztály olyan, mint egy halmaz, csak lehet nagyobb is; struktúrákból simán lehet olyan sok, hogy nem férnek bele egy halmazba, ezért Mod(F) officially "osztály", nem "halmaz" de a mi szempontunkból nem lesz különbség), amik kielégítik F-et:
    Mod(F) := {A: AF}
  • ha F és G formulák, akkor FG azt jelöli, hogy Mod(F)Mod(G), úgy mondjuk, hogy F-nek következménye G (és továbbra is azt jelenti tehát, hogy ha egy A struktúrában F igaz, akkor G is)
  • formulák helyett föntebb mindenhol írhatunk formulahalmazt is:
    • AΣ akkor igaz, ha A modellje Σ összes elemének
    • Mod(Σ)-ban azok a struktúrák vannak benne, melyek modelljei Σ összes elemének
    • ΣF azt rövidíti, hogy Mod(Σ)Mod(F), azaz hogy Σ-nak F következménye
    • ΣΓ azt, hogy Mod(Σ)F minden FΓ-ra
Mivel itt megint a által meghatározott Galois-kapcsolatról beszélünk, így az abból kijövő dolgok, amiket néztünk ítéletkalkulusban, itt is megmaradnak, majd amikor szükség lesz rájuk, listázom őket.

Tehát, ha az ember a számokról akar bizonyítani egy formulát, azaz a természetes számok szokásos N=(N0,I) struktúrájában akarja megmutatni egy F mondatra, hogy NF, akkor erre egy módszer az, hogy felírunk egy csomó formulát egy Σ halmazba, melyekről tudjuk, hogy igazak a természetes számokra, és eztán az F formulánkra megpróbáljuk bebizonyítani, hogy ΣF. A logikai következmény fogalma miatt ha ez sikerül, akkor mivel NΣ, ezért ekkor NF is igaz lesz és a formula tényleg igaz ebben a struktúrában.
(Ilyen bizonyítást majd a Floyd-Hoare kalkulusban fogunk látni, ott visszatérünk erre még.)
A természetes számokra nagyon gyakran használt ilyen Σ formulahalmaz a Peano-féle axiómarendszer. Ebben a struktúrában használjuk a +/2, ×/2 és /1 függvényjeleket, előbbieket infix, utóbbit posztfix szoktuk írni, interpretációjuk rendre az összeadás, szorzás és növelés eggyel, a 0/0 konstansjelet, aki a 0 számot jelöli és a /2 predikátumjelet (az =/2 mellett), ami pedig a szokásos kisebb-egyenlő relációt. Az axiómák:
  • x(¬(x=0)).
    • ez igaz, hiszen azt állítja, hogy minden nN0 természetes számra n+10.
  • xy(x=y  x=y)
    • ez meg azt, hogy ha n+1=m+1, akkor n=m. Persze, az eggyel növelés függvény injektív.
  • x(x+0=x)
    • hát igen, ha valamihez nullát adunk, nem változik
  • xy(x+y=(x+y))
    • eszerint meg n+(m+1)=(n+m)+1, ez is stimmel
  • x(x×0=0)
    • yep, bármit nullával szorozva nullát kapok
  • xy(x×y=x×y+x)
    • disztributivitás: tetszőleges n,m természetes számokra n×(m+1)=n×m+n, oké
  • x(x0  x=0)
    • ez is stimmel, ha egy természetes szám legfeljebb nulla, akkor az nulla
  • xy(xy  (xyx=y))
    • ez azt mondja, hogy ha nm+1, akkor vagy nm, vagy pedig n=m+1. Stimmel, hiszen ha n>m, és nm+1, akkor n csak m+1 lehet. Ez az axióma lényegében azt állítja, hogy n és n+1 között nincs több természetes szám.
  • $\forall x\forall y(x\leq y\vee y\leq x)
    • stimmel ez is, ezpz
  • és az indukciós axióma séma:
(F(0)(x(F(x)F(x))))xF(x) 
  • ahol F=F(x) egy olyan formula, amiben csak az x változó szerepel szabadon, az F(0) az F-ből úgy áll elő, hogy a szabad x-ek helyére 0-t írunk mindenhol, az F(x) meg úgy, hogy x-t.
    • ez azt állítja, hogy ha egy formula igaz 0-ra és az is igaz, hogy tetszőleges n esetén ha a formula igaz n-re, akkor igaz n+1-re is, akkor a formula igaz minden természetes számra. Ez is igaz, ezen alapszik a teljes indukció.
Tehát azt, hogy valami igaz a természetes számok struktúrájában, sokszor úgy szoktuk megmutatni, hogy "mert következménye a Peano axiómáknak". Egyelőre következtető algoritmusunk nincs az elsőrendű logikában, de nézünk egyet, amit ha valaki nem ért meg elsőre, nem baj:
Meg akarjuk mondjuk mutatni, hogy
xyz(z×(y+x)=z×y+z×x).
Ez a teljes disztributivitás, az ilyesmiről szóló Peano axióma az csak x=1-re mondja, hogy teljesül.
 Ha levágjuk a formula elejéről az első kvantort:
F=yz(z×(y+x)=z×y+z×x)
pont egy olyan formulát kapunk, amiben egy szabad változó szerepel, ez történetesen most épp x, de lehetne más is. Ha ezzel az F=F(x)-szel az indukciós axióma sémát akarjuk powerelni, akkor először is meg kell néznünk, hogy F(0) következik-e e a Peano axiómákból:
F(0)=yz(z×(y+0)=z×y+z×0)
ez kéne következzen belőlük. Ugyan még nem ismerünk következtetési szabályt, de a következők elég validnak tűnnek:
x(x+0=x)y(y+0=y)x(x×0=0)z(z×0=0)y(y+0=y)yz(z×(y+0)=z×y)x(x+0=x)yz(z×y=z×y+0){yz(z×(y+0)=z×y), yz(z×y=z×y+0)}yz(z×(y+0)=z×y+0)z(z×0=0)yz(z×y+0=z×y+z×0){yz(z×(y+0)=z×y+0),yz(z×y+0=z×y+z×0)}yz(z×(y+0)=z×y+z×0)
ami épp F(0). Tehát ez seems kijön a Peano axiómákból. Vajon az indukciós axióma séma középső része, x(F(x)F(x)) is következik belőlük? Írjuk ki:
x(yz(z×(y+x)=z×y+z×x)yz(z×(y+x)=z×y+z×x))
hm. Ezt már az olvashatóság kedvéért informálisabban írom, hogy hogy megy:
  • z×(y+x)=z×y+z×x-ből indulunk. Az x×y=x×y+x axiómát használva kapjuk, hogy z×(y+x)=z×(y+x)+z, majd ezen a jobb oldali z×(y+z)=z×y+z×x-et átírva kapjuk, hogy z×(y+x)=z×y+z×x+z.
  • Ennek a jobb oldalán a x×y=x×y+x axiómát "alkalmazva" "jobbról balra" kapjuk, hogyz×(y+x)=z×y+z×x.
  • A bal oldalán még alkalmazzuk az (x+y)=x+y axiómát is, és kapjuk, hogy z×(y+x)=z×y+z×x. És pont ezt akartuk kihozni, ez a F(x)F(x) implikáció jobb oldala erre az F-re!
  • Ezért mivel az indukciós axióma séma bal oldalán lévő éselés mindkét tagja kijön a Peano axiómákból, így le tudjuk vezetni a jobb oldalát is és kapjuk, hogy következményük a
xyz(z×(y+x)=z×y+z×x)
formula is. weeee.
Érdemes észrevenni, hogy a levezetés közben semmilyen plusz tudást nem vetettünk be a számokról, kizárólag az axiómákat használtuk és (valamiféle) logikai követktetéseket, amik a formulák szintaktikus átirkálásával készültek, azok jelentésének ismerete nélkül!
Ez pedig azért lesz jó, mert így van rá esély, hogy algoritmizálható.
Mindenesetre, levezettük, hogy a természetes számok struktúrájában az x×(y+z)=(x×y)+(x×z) azonosság teljesül, hiszen következménye a Peano axiómáknak.
Felmerül a kérdés, hogy mit lehet tenni, ha nem sikerül levezetnünk, hát, ilyenkor vagy az van, hogy nem is igaz a mondat a természetes számokra és meg lehet próbálni levezetni az ellentétét; ha ez se jön össze, akkor vagy csak nem vártunk eleget, hogy kijöjjön a következtetés, vagy fel kell venni még axiómát, ami garantáltan igaz a természetes számokra, hátha azzal együtt már ki tudja hozni a következtető rendszer...

No comments:

Post a Comment