Logika prvog reda

Logika prvog reda ili predikativni račun prvog reda je formalni sistem koji se koristi u matematici, filozofiji, lingvistici i računarstvu. Ovde ćemo izložiti samo osnovni i najformalniji deo nužan kao potpora člancima teorije skupova.

Logika prvog reda

Logika prvog reda ili predikatska logika prvog reda se bazira na:

  • objektima,
  • svojstvima (unarnim predikatima nad objektima),
  • relacijama (n-arnim predikatima nad objektima),
  • funkcijama (preslikavanjima objekata na objekte).

Sintaksa logike prvog reda

Iskaz → ProstIskaz
       |Iskaz Sveza Iskaz
|Kvantifikator Promenljiva Iskaz
|¬ Rečenica
|(Rečenica)
ProstIskaz → Predikat(Objekt, Objekt, ...) | Objekt = Objekt
Objekt = Funkcija(Objekt, Objekt, ...) | Konstanta
| Promenljiva
Sveza → | | | {\displaystyle \lor |\land |\Rightarrow |\Leftrightarrow }
Kvantifikator → | {\displaystyle \exists |\forall } Konstanta → <tekst> tj. "A" | "1" | "a" Promenljiva → x | y | z |...
Predikat → otac| brat| poseduje| ...
Funkcija → saberi| predji|...

Objekti su:
konstante: <tekst>, tj. 0, 1, "a", "ababa"
imena funkcija: otac , brat , predji , saberi , . . . {\displaystyle \operatorname {otac} ,\operatorname {brat} ,\operatorname {predji} ,\operatorname {saberi} ,...} tj. predji ( a , b , . . . ) , predji ( a ) , < saberi ( 0 ) , saberi ( 0 , 1 ) , . . . {\displaystyle \operatorname {predji} (a,b,...),\operatorname {predji} (a),<\operatorname {saberi} (0),\operatorname {saberi} (0,1),...}

Iskaz je predikat nad jednim ili više objekata. Predikat je neko svojstvo ili relacija među objektima koji može biti istinit ili lažan.
U gornjim primerima otac ( s i n , k c i , . . . ) {\displaystyle \operatorname {otac} (sin,kci,...)} znači da s i n , k c i , . . . {\displaystyle sin,kci,...} imaju zajedničkog oca, brat ( b r a t , b r a t , . . . ) {\displaystyle \operatorname {brat} (brat,brat,...)} da su b r a t , b r a t , . . . {\displaystyle brat,brat,...} braća.
ProstIskaz je predikat primenjen na objekte. Npr.


  
    
      
        poseduje
        
        (
        P
        e
        r
        o
        ,
        a
        u
        t
        o
        )
      
    
    {\displaystyle \operatorname {poseduje} (Pero,auto)}
  
 tj. Pero poseduje auto, 

  
    
      
        brat
        
        (
        M
        u
        j
        o
        ,
        S
        u
        l
        j
        o
        )
      
    
    {\displaystyle \operatorname {brat} (Mujo,Suljo)}
  
 tj, Mujo i Suljo su braća.

Semantika Iskaza i ProstogIskaza je istina ili laž.

Sveze se koriste pri konstrukciji (složenih) Iskaza


  
    
      
        brat
        
        (
        M
        u
        j
        o
        ,
        S
        u
        l
        j
        o
        )
        
        poseduje
        
        (
        M
        u
        j
        o
        ,
        a
        u
        t
        o
        )
        
        ¬
        poseduje
        
        (
        S
        u
        l
        j
        o
        ,
        a
        u
        t
        o
        )
      
    
    {\displaystyle \operatorname {brat} (Mujo,Suljo)\land \operatorname {poseduje} (Mujo,auto)\land \neg \operatorname {poseduje} (Suljo,auto)}
  
 tj. Mujo i Suljo su braća, Mujo ima auto a  Suljo nema.

Kvantifikatori

Koriste se ako se Iskaz odnosi na kolekciju objekata kako bi se izbeglo brojanje objekata

  • Univerzalni kvantifikatorr: x {\displaystyle \forall x}

Iskaz je istinit za sve vrednosti promenljive x.


  
    
      
        
        x
        pas
        
        (
        x
        )
        
        sisar
        
        (
        x
        )
      
    
    {\displaystyle \forall x\operatorname {pas} (x)\Rightarrow \operatorname {sisar} (x)}
  
 Svi psi su sisari
  • Egzistencijalni kvantifikator: x {\displaystyle \exists x}

Iskaz je istinit za bar jednu vrednost promenljive x.


  
    
      
        
        x
        (
        macka
        
        (
        x
        )
        
        boja
        
        (
        x
        ,
        c
        r
        n
        a
        )
        
        poseduje
        
        (
        M
        a
        r
        i
        j
        a
        ,
        x
        )
        )
      
    
    {\displaystyle \exists x(\operatorname {macka} (x)\land \operatorname {boja} (x,crna)\land \operatorname {poseduje} (Marija,x))}
  
 Marija ima (bar jednu) mačku crne boje

  
    
      
        
        x
        (
        
        y
        pas
        
        (
        y
        )
        
        voli
        
        (
        x
        ,
        y
        )
        )
        
        (
        
        z
        macka
        
        (
        z
        )
        
        mrzi
        
        (
        x
        ,
        z
        )
        )
      
    
    {\displaystyle \exists x(\forall y\operatorname {pas} (y)\Rightarrow \operatorname {voli} (x,y))\land (\forall z\operatorname {macka} (z)\Rightarrow \operatorname {mrzi} (x,z))}
  
 Na ovom svetu postoji bar jedna osoba koja voli pse i mrzi mačke

Upotreba kvantifikatora

  • Univerzalni kvantifikator se koristi implikativno

  
    
      
        
        x
        covek
        
        (
        x
        )
        
        sisar
        
        (
        x
        )
      
    
    {\displaystyle \forall x\operatorname {covek} (x)\land \operatorname {sisar} (x)}
  
 Sve na ovom svetu je čovek i sisar
  • Egzistencijalni kvantifikator se koristi vezivno:

  
    
      
        
        x
        poseduje
        
        (
        J
        o
        v
        a
        n
        ,
        x
        )
        
        pas
        
        (
        x
        )
      
    
    {\displaystyle \exists x\operatorname {poseduje} (Jovan,x)\Rightarrow \operatorname {pas} (x)}
  
 Na ovom svetu ima nešto što Jovan ne poseduje ili postoji na ovom svetu pas

Ugneždeni kvantifikatori

  • Poredak kvantifikatora istog tipa u iskazu je nevažan

  
    
      
        
        x
        
        y
        (
        roditelj
        
        (
        x
        ,
        y
        )
        
        musko
        
        (
        y
        )
        
        sin
        
        (
        y
        ,
        x
        )
        )
      
    
    {\displaystyle \forall x\forall y(\operatorname {roditelj} (x,y)\land \operatorname {musko} (y)\Rightarrow \operatorname {sin} (y,x))}
  


  
    
      
        
        x
        
        y
        (
        voli
        
        (
        x
        ,
        y
        )
        
        voli
        
        (
        y
        ,
        x
        )
        )
      
    
    {\displaystyle \exists x\exists y(\operatorname {voli} (x,y)\land \operatorname {voli} (y,x))}
  

  • Poredak kvantifikatora različitog tipa u iskazu je nevažan

  
    
      
        
        x
        
        y
        (
        voli
        
        (
        x
        ,
        y
        )
        )
      
    
    {\displaystyle \forall x\exists y(\operatorname {voli} (x,y))}
  
 Svako voli nekoga, tj. svako ima nekog koga voli

  
    
      
        
        y
        
        x
        (
        voli
        
        (
        x
        ,
        y
        )
        )
      
    
    {\displaystyle \exists y\forall x(\operatorname {voli} (x,y))}
  
 Postoji na ovom svetu neko koga svako voli

Područje ili zona važenja promenljive

  • Područje ili zona važenja promenljive je iskaz na koji je kvantifikator primenljiv.
  • Promenljiva u logičkom izrazu se vezuje za najbliži kvantifivator unutar iskaza u kome se pojavljuje

  
    
      
        
        x
        (
        pas
        
        (
        x
        )
        
        
        x
        (
        zut
        
        (
        x
        )
        )
        )
      
    
    {\displaystyle \exists x(\operatorname {pas} (x)\land \forall x(\operatorname {zut} (x)))}
  
 Psi postoje i svi su žuti. x u zut(x) je univerzalno kvantificiran.
  • U dobro napisanoj formuli sve promenljive moraju biti kvantifikovane:

  
    
      
        
        x
        P
        (
        y
        )
      
    
    {\displaystyle \exists xP(y)}
  
 Ova formula nije dobro napisana

Logička veza među kvantifikatorima

•Logička veza među univerzalnim i egzistencijalnim kvantifikatorom:

x ¬ voli ( x , b a n d i t ) ¬ x voli ( x , b a n d i t ) {\displaystyle \forall x\neg \operatorname {voli} (x,bandit)\Leftrightarrow \neg \exists x\operatorname {voli} (x,bandit)}
x voli ( x , b o g ) ¬ x ¬ voli ( x , b o g ) {\displaystyle \forall x\operatorname {voli} (x,bog)\Leftrightarrow \neg \exists x\neg \operatorname {voli} (x,bog)}

•Opšte važeći identiteti:

x ¬ P ¬ x P {\displaystyle \forall x\neg P\Leftrightarrow \neg \exists xP}
¬ x P x ¬ P {\displaystyle \neg \forall xP\Leftrightarrow \exists x\neg P}
x P ¬ x ¬ P {\displaystyle \forall xP\Leftrightarrow \neg \exists x\neg P}
x P ¬ x ¬ P {\displaystyle \exists xP\Leftrightarrow \neg \forall x\neg P}
x P ( x ) Q ( x ) x P ( x ) x Q ( x ) {\displaystyle \forall xP(x)\land Q(x)\Leftrightarrow \forall xP(x)\land \forall xQ(x)}
x P ( x ) Q ( x ) x P ( x ) x Q ( x ) {\displaystyle \exists xP(x)\lor Q(x)\Leftrightarrow \exists xP(x)\lor \exists xQ(x)}

Jednakost

  • Jednakost se uključuje kao primitivni logički predikat.
  • Primeri:

  
    
      
        
        x
        
        y
        (
        poseduje
        
        (
        J
        o
        v
        a
        n
        ,
        x
        )
        
        pas
        
        (
        x
        )
        
        poseduje
        
        (
        J
        o
        v
        a
        n
        ,
        y
        )
        
        pas
        
        (
        y
        )
        
        ¬
        (
        x
        =
        y
        )
        )
      
    
    {\displaystyle \exists x\exists y(\operatorname {poseduje} (Jovan,x)\land \operatorname {pas} (x)\land \operatorname {poseduje} (Jovan,y)\land \operatorname {pas} (y)\land \neg (x=y))}
  

Jovan ima dva psa. Jednakost se koristi ovde da se obezbedi da su 
  
    
      
        x
      
    
    {\displaystyle x}
  
 i 
  
    
      
        y
      
    
    {\displaystyle y}
  
 različiti, tj. da se isključi interpretacija da 
  
    
      
        x
      
    
    {\displaystyle x}
  
 i 
  
    
      
        y
      
    
    {\displaystyle y}
  
 mogu biti isti pas


  
    
      
        
        x
        
        y
        sinOtac
        
        (
        x
        ,
        y
        )
        
        
        z
        (
        sinOtac
        
        (
        x
        ,
        z
        )
        
        y
        =
        z
        )
      
    
    {\displaystyle \forall x\exists y\operatorname {sinOtac} (x,y)\land \forall z(\operatorname {sinOtac} (x,z)\Rightarrow y=z)}
  
 
Svaki sin ima oca. Druga sveza 
  
    
      
        
        z
        (
        sinOtac
        
        (
        x
        ,
        z
        )
        
        y
        =
        z
        )
      
    
    {\displaystyle \forall z(\operatorname {sinOtac} (x,z)\Rightarrow y=z)}
  
 obezbeđuje da svaki sin ima jednog oca.

Logike višeg reda

  • U logici prvog reda kvantifikatori su primenljivi samo na objekte.
  • U logici drugog reda kvantifikatori su primenljivi samo na predikate i funkcije:

  
    
      
        
        x
        
        y
        [
        (
        x
        =
        y
        )
        
        (
        
        p
        
        p
        
        (
        x
        )
        
        p
        
        (
        y
        )
        )
        ]
      
    
    {\displaystyle \forall x\forall y[(x=y)\Leftrightarrow (\forall \operatorname {p} \operatorname {p} (x)\Leftrightarrow \operatorname {p} (y))]}
  
 Dva objekta su jednaka ako i samo ako imaju ista svojstva.

  
    
      
        
        f
        
        
        g
        
        [
        (
        f
        =
        g
        )
        
        (
        
        x
        f
        
        (
        x
        )
        =
        g
        
        (
        x
        )
        )
        ]
      
    
    {\displaystyle \forall \operatorname {f} \forall \operatorname {g} [(\operatorname {f} =\operatorname {g} )\Leftrightarrow (\forall x\operatorname {f} (x)=\operatorname {g} (x))]}
  
 Dve funkcije su jednake ako i samo ako imaju iste vrednosti za sve moguće argumente.
  • Logika trećeg reda dopušta kvantifikaciju predikata, itd.

Na primer, predikat drugog reda p {\displaystyle p} može biti refleksivan ( p ) {\displaystyle \operatorname {refleksivan} (p)} tj. binarni predikat p {\displaystyle p} je relacija refleksivnosti.

Literatura

  • Raymond M. Smullyan: First-order Logic, Courier Corporation, 1995
  • Leigh S. Cauman: First-order Logic: An Introduction, Walter de Gruyter, 1998

Eksterni linkovi

  • First order logic (Cornell)
  • First order logic (Wolfram MathWorld)