Keel (loogika)

**Keele** all mõistetakse matemaatilises loogikas (mudeliteoorias) valemite, lausete või muude väljendite moodustamiseks teatud süntaksireeglite järgi kasutatavate sümbolite hulka. Keele mõiste kuulub süntaksi valda.

Antud keeles *L* võib olla kui tahes palju funktsioonisümboleid ehk funktsionaalsümboleid, seosesümboleid ehk relatsioonisümboleid ehk predikaadisümboleid ja konstandisümboleid. 

Seda tüüpi keeltes moodustatud lausetest piisab, et kirjeldada enamikku mis tahes matemaatiliste struktuuride omadusi ning väljendada väiteid nende struktuuride kohta. 

## Keel ja süntaks
Keele *L* väljendid on selle keele termid ja valemid. Need on sümbolite lõplikud jadad, mis tekivad täpselt defineeritud reeglite abil keele *L* sümbolitest, lauseloogika sümbolitest (nagu näiteks konjunktsiooni sümbol), muutujasümbolitest ja kvantorisümbolitest. 

Keele *L* termide hulk *T* on vähim hulk, millel on järgmised omadused: 
* keele *L* konstandisümbolid on *T* elemendid
* muutujasümbolid (näiteks x0, y5, z, v) on *T* elemendid
* kui t1, ... , tn on *T* elemendid ning f on keele *L* *n*-aarne funktsioonisümbol, siis ka  f(t1, ... ,tn) on *T*.

Keele *L* valemite hulk on vähim hulk järgmiste omadustega:
* kui t1, t2 on keele *L* termid, siis väljend t1 = t2 on *F* element
* kui t1, ... , tn on keele *L* termid ja P on keele *L* *n*-aarne seosesümbol, siis väljend P(t1, ... ,tn) on *F* element
* kui f1, f2 on *F* elemendid, siis ka väljendid f1 ja f2", "f1 või f2" ja "ei pea paika, et f1" on *F* elemendid
* kui x on muutujasümbol ja f on *F* element, siis väljendid "iga x-i korral f" ja "eksisteerib niisugune x, et f" on *F* elemendid.

Lause on keele *L* valem, milles ei esine vabu muutujaid. Lausetest saab moodustada teooriaid (mittevastuolulisi lausete hulki) ning seejärel uurida nende omadusi (täielikkus, lahenduvus, kategoorsus). 

### Loogilised ja mitteloogilised sümbolid
Keel koosneb kahesugustest sümbolitest: loogilistest, mis kuuluvad igasse keelde, ja mitteloogilistest, mis on eri keeltes erinevad.

#### Loogilised sümbolid
Keele loogilised sümbolid on:
* loenduv hulk muutujasümboleid: v_0,v_1, \ldots (Matemaatikas kasutatakse tavaliselt tähti  x,y,z, \ldots, mida võib mõista tegelike sümbolite \,v_i asendustena.)
* lauseloogika tehete sümbolid: \neg, \rightarrow (võivad esineda veel \vee, \land, \leftrightarrow, mida saab esimeste kaudu defineerida)
* kvantorisümbolid: \forall (võib esineda \exists, mida saab esimese abil defineerida)
* võrdussümbol: \,= (kui on tegu võrdusega loogikaga)
* abisümbolid: "(" ja ")"

#### Mitteloogilised sümbolid
Keele mitteloogilisteks sümboliteks võivad olla mis tahes sümbolid, mis on loogilistest sümbolitest ja omavahel erinevad. Neid võib olla kui palju tahes, ka lõpmata palju. Igal mitteloogilisel sümbolil on oma sort ja aarsus. On kolme sorti mitteloogilisi sümboleid: 
* konstandisümbolid
* funktsioonisümbolid
* predikaadisümbolid
Signatuur on kõigi mitteloogiliste sümbolite hulgal  defineeritud funktsioon, mis seab igale mitteloogilisele sümbolile *S* vastavusse naturaalarvu \,\sigma(S), mida nimetatakse sümboli *S* aarsuseks nii, et \sigma(c)=0 iga konstandisümboli  *c* korral. Funktsiooni- või predikaadisümbolit aarsusega *n* nimetatakse ka *n*-aarseks funktsiooni- või predikaadisümboliks. 

#### Keele definitsioon
Keel on järjestatud kolmik \,, kus *LS* on kõik keele loogilised sümbolid,  *MLS* mitteloogilised sümbolid ja \,\sigma on nende mitteloogiliste sümbolite signatuur. 

Keel defineeritakse tavaliselt nii, et kirjutatakse välja ainult mitteloogilised sümbolid.

## Keel ja semantika
Öeldakse, et *M* on keele *L* struktuur ehk mudel, kui *M* on hulk, milles keele *L* kõik sümbolid on interpreteeritud. See tähendab, et:

* kui f on keele *L* *n*-aarne funktsioonisümbol, siis eksisteerib funktsioon f(*M*) z hulga *M* *n*-ndast otseastmest hulka *M*, f-i interpretatsioon mudelis *M*
* kui P on keele *L* *n*-aarne seosesümbol, siis eksisteerib *n*-aarne seos P(*M*) hulgal *M* (hulga *M* *n*-nda otseastme teatud alamhulk), P interpretatsioon mudelis *M*
* kui c on keele *L* konstandisümbol, siis hulgas *M* eksisteerib element c(*M*), c interpretatsioon mudelis *M*.

Kui *M* on keele *L* mudel, siis võime kindlaks teha, millised keele *L* laused on tõesed mudelis *M* ehk on rahuldatud mudeliga M. Selle mõiste defineeris esimesena Alfred Tarski, keda peetakse loogilise semantika (mudeliteooria) rajajaks. 

Kõigi nende keele *L* lausete hulk, mis on keele *L* mudelis *M* tõesed, on mudeli *M* teooria keeles *L*. See teooria on täielik teooria. Mudelite ja nende teooriate vahekorda uurib mudeliteooria.

## Vaata ka

* Esimest järku predikaatarvutus
* Formaalne keel