Sztuczna inteligencja/SI Moduł 2/Składnia języka logiki
Składnia języka logiki
Obecnie przystąpimy do zdefiniowania składni języka logiki predykatów, w którym będą zapisywane formuły przetwarzane w procesie wnioskowania, Składnia określa reguły budowania poprawnych formuł, czyli takich, które mogą być przetwarzane przez system wnioskujący. Definiując składnię nie będziemy się zajmować znaczeniem poszczególnych symboli i konstrukcji języka, choć oczywiście znaczenie części z nich będzie dla nas oczywiste ze względu na powszechne doświadczenie z używaniem notacji logicznej np. do zapisu twierdzeń matematycznych.
Alfabet
Alfabet, czyli zbiór symboli języka logiki predykatów, obejmuje poniższe kategorie symboli. Dla każdej z nich podano oznaczenia, jakie będą dalej stosowane.
- Symbole stałych: oznaczane za pomocą liter ,.
- Symbole zmiennych: oznaczane za pomocą liter ,.
- Symbole funkcyjne: oznaczane za pomocą liter ,. każdy symbol funkcyjny ma ustaloną liczbę argumentów.
- Symbole predykatowe: oznaczane za pomocą liter ,; każdy symbol predykatowy ma ustaloną liczbę argumentów.
- Operatory logiczne: , (negacja), , (koniunkcja), , (alternatywa), , (implikacja), , (równoważność).
- Kwantyfikatory: kwantyfikator ogólny ,, kwantyfikator szczegółowy ,.
- Nawiasy: ,, ,, w razie potrzeby także inne.
Będziemy czasem skrótowo mówić o symbolach stałych jako o stałych, o symbolach zmiennych jako o zmiennych, o symbolach funkcyjnych jako o funkcjach, o symbolach predykatowych jako o predykatach, trzeba jednak pamiętać, że - jak długo nie określimy ich znaczenia - są to wyłącznie symbole, czyli pewne napisy, z których konstruowane są bardziej złożone napisy (formuły) według opisanych dalej reguł.
Termy
Jak zobaczymy, formuły konstruowane są z symboli predykatowych stosowanych do argumentów. Poprawnej postaci argumenty dla symboli predykatowych nazywane są termami. Każda stała i zmienna jest termem. Ponadto, jeśli , jest dowolnym ,-argumentowym symbolem funkcyjnym, a , są dowolnymi termami, to także , jest termem. Jak widać, stosując dowolny symbol funkcyjny do argumentów będących termami uzyskujemy term.
Formuły atomowe
Jeśli , oznacza dowolny ,-argumentowy symbol predykatowy, a , sa dowolnymi termami, to , jest formułą atomową. Formułą atomową jest więc dowolne zastosowanie symbolu predykatowego do argumentów będących termami.
Formuły złożone
Formuły złożone są konstruowane z formuł atomowych przez zastosowanie operatorów logicznych, kwantyfikatorów i nawiasów, zgodnie z określonymi poniżej zasadami.
- Jeśli , jest formula, to , jest formułą.
- Jeśli , jest formula, to , jest formułą.
- Jeśli , i , są formułami, to:
- , jest formułą,
- , jest formułą,
- , jest formułą,
- , jest formułą.
- Jeśli , jest formula i , jest symbolem zmiennej, to
- , jest formułą,
- , jest formułą.