Sztuczna inteligencja/SI Moduł 2/Składnia języka logiki

Z Studia Informatyczne
Wersja z dnia 13:35, 27 cze 2006 autorstwa Jarabas (dyskusja | edycje) (Początkowa zawartość)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

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 a,b,c.
  • Symbole zmiennych: oznaczane za pomocą liter x,y,z.
  • Symbole funkcyjne: oznaczane za pomocą liter f,g,h.
 każdy symbol funkcyjny ma ustaloną liczbę argumentów.
  • Symbole predykatowe: oznaczane za pomocą liter P,Q,R,; każdy
 symbol predykatowy ma ustaloną liczbę argumentów.
  • Operatory logiczne: ¬ (negacja), (koniunkcja),

(alternatywa), Parser nie mógł rozpoznać (błąd składni): {\displaystyle \\rightarrow} (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 f jest dowolnym m-argumentowym symbolem funkcyjnym, a t1,t2,,tm są dowolnymi termami, to także f(t1,t2,,tm) jest termem. Jak widać, stosując dowolny symbol funkcyjny do argumentów będących termami uzyskujemy term.

Formuły atomowe

Jeśli P oznacza dowolny m-argumentowy symbol predykatowy, a t1,t2,,tm są dowolnymi termami, to P(t1,t2,,tm) 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 formułą, to (α) jest formułą.
  • Jeśli α jest formułą, to ¬α jest formułą.
  • Jeśli α i β są formułami, to:
 \begin{itemize}
 \item αβ jest formułą,
 \item αβ jest formułą,
 \item αβ jest formułą,
 \item αβ jest formułą.
 \end{itemize}
  • Jeśli α jest formułą i x jest symbolem zmiennej, to
 \begin{itemize}
 \item (x)α jest formułą,
 \item (x)α jest formułą.
 \end{itemize}