Jak każdy język formalny język KRP posiada swój alfabet (zestaw symboli, które są używane do budowania formuł) oraz reguły budowania formuł (wyrażeń, które dla KRP są sensowne).
Alfabet KRP składa się z następujących symboli:
a, b, c, a1, a2, a3, a4, ... | stałe indywiduowe
P, Q, R, S, P1, P2, P3, P4, ... | stałe predykatywne (z każdym symbolem jest związana liczba n zwana jego "arnością")
x, y, z, x1, x2, x3, x4, ... | zmienne indywiduowe
∃, ∀ | kwantyfikatory (mały / egzystencjalny i duży)
→ , ∧ , ∨ , ↔, ¬ | spójniki
), ( | nawiasy
Jak widać z punktu 1 i 2, alfabet KRP jest nieskończony, dzięki czemu nigdy nie zabraknie symboli na oznaczenie pojedynczych nazw i predykatów.
Z każdą stałą predykatywną jest związana liczba naturalna zwana jej "arnością". By nie komplikować zapisu, tę liczbę będziemy opuszczać. Stałe indywiduowe mają służyć za nazwy przedmiotów (tak jak w języku naturalnym funkcjonują imiona, na przykład Mickiewicz, Szczerbiec, itp.), natomiast stałe predykatywne mają służyć za nazwy cech i relacji (wyrażanych w języku naturalnym za pomocą predykatów imiennych bądź czasownikowych). Na przykład wyrażenia bycie odważnym, bycie studentem, bycie trzynastym w kolejce, pada, krzyczy nazywają cechy, natomiast wyrażenia kocha, daje, wymienia nazywają relacje. Cechy będziemy zastępować stałymi predykatywnymi o arności 1 (są one nazwami jednoargumentowych predykatów), natomiast relacje będziemy zastępować stałymi predykatywnymi o większej arności, by oddać następujące zależności, na przykład:
rozważ czasownik kocha (i zdanie Jan kocha Małgosię). Wyrażenie to nazywa dwuargumentową relację, której argumenty zaznaczymy gwiazdką w nawiasach (*) 💖 (*). Jeśli przyjmiemy, że nazwa Jan oznacza 😜, a nazwa Małgosia oznacza 🥹, to po uzupełnieniu gwiazdek na pozycji pierwszego i drugiego argumentu przez konkretnych ludzi powstaje uzupełniona syntaktyczna całość (😜) 💖 (🥹), którą można wypowiedzieć za pomocą zdania Jan kocha Małgosię. Na oznaczenie dwuargumentowych relacji są używane stałe predykatywne o arności 2;
rozważ czasownik opowiada (i zdanie Jan opowiada Małgosi o Szczerbcu). Wyrażenie to nazywa trzyargumentową relację, (*) 🗣️ (*) (*) . Po uzupełnieniu gwiazdek przez konkretne osoby i miecz dostaniemy uzupełnioną syntaktyczną całość (😜) 🗣️ (🥹) (🔪 ), którą można wypowiedzieć za pomocą zdania Jan opowiada Małgosi o Szczerbcu. Na oznaczenie trzyargumentowych relacji są używane stałe predykatywne o arności 3;
rozważ czasownik dawać w zamian za (i zdanie Jan daje Małgosi Szczerbiec w zamian za Reksia). Wyrażenie to nazywa czteroargumentową relację, (*) 👐 (*) (*) (*). Po uzupełnieniu gwiazdek przez indywidua dostaniemy uzupełnioną syntaktyczną całość (😜) 👐 (🥹) (🔪 ) (🐶 ), którą można wypowiedzieć za pomocą zdania Jan daje Małgosi Szczerbiec w zamian za Reksia. Na oznaczenie czteroargumentowych relacji są używane stałe predykatywne o arności 4.
Ugadujemy się: zamiast mówienia, że jakaś stała predykatywna P posiada arność n, będziemy mówić, że P jest n-argumentowa stała predykatywna (bądź że P jest n-argumentowym predykatem).
Do alfabetu KRP należą dwa specjalne symbole, ∃ (mały kwantyfikator, zwany również egzystencjalnym albo szczegółowym) i ∀ (duży kwantyfikator). Symbole te są potrzebne, by móc za ich pomocą oddawać następujące wyrażenia języka naturalnego (zaimki nieokreślone i uogólniające oraz wyrażenia budowane za ich pomocą):
∃ (oznacza "co najmniej jeden") - jakiś, pewien, jest sobie ktoś (coś), istnieje takie coś, niektóre (-rzy)
Jakiś / pewien / gość w parku gwizdał, Był sobie taki gość w parku, który gwizdał.
∀ (oznacza "wszytkie") - wszystkie (-scy), każdy, dowolny: Wszyscy ludzie w parku gwizdali, Każdy człowiek w parku gwizdał.
Zauważ (intuicyjnie), że nie wszystkie przedmioty na świecie posiadają nazwy własne (a bardzo często tych nazw nie znamy bądź są one nieistotne z punktu widzenia prowadzonej konwersacji). Używamy wtedy zaimków (nieokreślonych bądź uogólniających):
Jan kocha kogoś (Istnieje ktoś taki, kogo kocha Jan): (😜) 💖 (kogoś);
Jan kocha wszystkich: (😜) 💖 (wszystkich).
Jan dał Małgosi coś w zamian za Reksia: (😜) 👐 (🥹) (coś) (🐶);
Jan opowiada wszystkim o Małgosi: (😜) 🗣️(wszystkim) (🥹).
Zauważ, że za pomocą zaimków możemy budować bardziej złożone wyrażenia, których zaimki są częścią:
Jan kocha jakąś dziewczynę: (😜) 💖 (jakąś dziewczynę);
Małgosia kocha wszystkich piłkarzy Realu Madryt: (🥹) 💖 (wszystkich piłkarzy Realu Madryt);
Jan dał Małgosi jakiś miecz w zamian za Reksia: (😜) 👐 (🥹) (jakiś miecz) (🐶);
Jan opowiada wszystkim żołnierzom 6-ej Brygady Powietrznodesantowej o Małgosi: (😜) 🗣️(wszystkim żołnierzom 6 BPD) (🥹).
Zmienne indywiduowe oraz stałe indywiduowe są termami.
Jeśli V jest stałą predykatywną o arności n, a t1, ..., tn jest n-elementowym ciągiem termów, to V(t1, ..., tn) jest formułą;
Jeśli α, β są formułami, to formułami również są:
(α)∧(β)
(α)∨(β)
(α)→(β)
(α)↔(β)
¬(α)
Jeśli u to zmienna indywiduowa, a α to formuła, to ∃u(α), ∀u(α) są formułami.
Nic więcej nie jest uważane za formułę KRP.
Formuła KRP to dowolny skończony ciąg symboli alfabetu KRP zbudowany według reguł budowy 1, 2 i 3. Formuły zbudowane według reguły 1 są nazywane formułami atomowymi.
W przypadku, gdy w formule α nie występują spójniki →, ∨, ∧, ↔ , to zamiast ∃u(α), ∀u(α) będziemy po prostu pisać ∃uα, ∀uα.
Załóżmy, że P jest jednoargumentową, Q jest dwuargumentową, a R jest trójargumentową stałą predykatywną. Następujące ciągi znaków są formułami KRP:
P(a), P(x), Q(a, b), Q(x, a), Q(x, y), R(a, b, c), R(z, a, c), R(x, y, z), R(x, x, x);
∃xP(a), ∀yR(a, y, b), ∀z∀yR(a, y, z), ∃x∀yQ(x, y);
∃xP(x)→∀yR(a, y, b), ∀z(Q(z, y)∧R(a, b, c));
∃x¬P(x), ¬∀yR(a, y, b), ¬∀z¬¬∀yR(a, y, z).
Kwantyfikatory posiadają zasięg - jest nim pierwsza dostępna formuła, która znajduje się bezpośrednio po kwantyfikatorze. Na przykład:
w formule ∃xP(x) zasięgiem małego kwantyfikatora jest formuła P(x);
w formule ∀x(P(y)→Q(x, y)) zasięgiem dużego kwantyfikatora jest formuła w nawiasach, czyli P(y)→Q(x, y);
w formule ∀x(P(y)→∃yQ(x, y)) zasięgiem dużego kwantyfikatora jest formuła P(y)→∃yQ(x, y), natomiast zasięgiem małego kwantyfikatora jest formuła Q(x, y);
w formule ∀x(P(y)→Q(x, y))∧R(x, y, z) zasięgiem dużego kwantyfikatora jest formuła P(y)→Q(x, y), a nie formuła (P(y)→Q(x, y))∧R(x, y, z), ponieważ ta ostatnia nie jest pierwszą dostępną formułą, która znajduje się bezpośrednio po kwantyfikatorze.
W formule po symbolu kwantyfikatora znajduje się symbol zmiennej (który pokazuje, na którą zmienną kwantyfikator "działa" (obejmuje)). Na przykład w formule ∃x(α) kwantyfikator ∃ "działa" na wszystkie symbole zmiennej x w formule α. Na takie "oddziaływanie" mówimy, że kwantyfikator ∃ wiąże x w formule α. Ten sam symbol zmiennej może występować wielokrotnie w formule i dlatego jest ważne, by rozróżniać dwa typy występowania:
wystąpienie związane zmiennej w określonym miejscu w formule: w tym miejscu w formule zmienna ta znajduje się w zasięgu jakiegoś kwantyfikatora, który ją wiąże;
wystąpienie wolne zmiennej w określonym miejscu w formule: jest nim każde wystąpienie zmiennej, które nie jest wystąpieniem związanym (przez jakiś kwantyfikator).
Przykłady:
w formule formule ∃xP(x) kwantyfikator ∃ wiąże wszystkie wystąpienia zmiennej x w swoim zasięgu. Zasięgiem kwantyfikatora jest formuła P(x), w której zmienna x ma wystąpienie związane;
w formule ∀yP(x) kwantyfikator ∀ wiąże wszystkie wystąpienia zmiennej y w swoim zasięgu. Zasięgiem kwantyfikatora jest formuła P(x), w której y nie występuje. Oznacza to, że w formule ∀yP(x) zmienna x ma wystąpienie wolne;
w formule ∀x(P(y)→∃yQ(x, y)) zasięgiem dużego kwantyfikatora jest formuła P(y)→∃yQ(x, y), w niej kwantyfikator ∀ wiąże wszystkie wystąpienia zmiennej x. Zmienna y występuje w formule P(y)→∃yQ(x, y) dwa razy - ma ona wolne wystąpienie w P(y) (ponieważ nie znajduje się w zasięgu żadnego kwantyfikatora, który ją wiąże) i wystąpienie związane w ∃yQ(x, y) (ponieważ znajduje się w zasięgu kwantyfikatora ∃, który ją wiąże w Q(x, y));
w formule ∀xR(z, y, y) wszystkie wystąpienia zmiennych są wystąpieniami wolnymi;
w formule ∃xP(x)→∀yR(a, y, x) pierwsze wystąpienie zmiennej x jest wystąpieniem związanym (przez kwantyfikator ∃), natomiast drugie wystąpienie jest wystąpieniem wolnym, ponieważ (i) znajduje się po za zasięgiem ∃; (ii) jest w zasięgu kwantyfikatora ∀, ale ten jej nie wiąże - wiąże jedynie zmienne y w swoim zasięgu.
Zdaniem KRP jest formuła KRP, która nie zawiera wolnych wystąpień zmiennych.