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

Z Studia Informatyczne
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żdysymbol predykatowy ma ustaloną liczbę argumentów.
  • Operatory logiczne: ¬ (negacja), (koniunkcja), (alternatywa), (implikacja), (równoważność).
  • Kwantyfikatory: kwantyfikator ogólny , kwantyfikatorszczegół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:
    • αβ jest formułą,
    • αβ jest formułą,
    • αβ jest formułą,
    • αβ jest formułą.
  • Jeśli α jest formułą i x jest symbolem zmiennej, to
    • (x)α jest formułą,
    • (x)α jest formułą.