Term (formuła nazwowa) – wyrażenie składające się ze zmiennych oraz symboli funkcyjnych o dowolnej argumentowości (w tym o argumentowości 0, czyli stałych) z pewnego ustalonego zbioru.

W wielu dziedzinach matematyki używa się określenia term na oznaczenie napisów (wyrażeń) formalnych, które mogą być traktowane jako nazwy na obiekty matematyczne. W większości przypadków znaczenie to można przedstawić jako termy w pewnym języku pierwszego rzędu, opisane poniżej.

Termy w logice matematycznej

Termy języków pierwszego rzędu

Niech będzie alfabetem języka pierwszego rzędu Tak więc jest zbiorem stałych, symboli funkcyjnych i symboli relacyjnych (predykatów). Każdy z tych symboli ma jednoznacznie określony charakter (tzn. wiadomo czy jest to stała, czy symbol funkcyjny czy też predykat) i każdy z symboli funkcyjnych i predykatów ma określoną arność (która jest dodatnią liczbą całkowitą). Język ma też ustaloną nieskończoną listę zmiennych (zwykle )[1].

Termy języka to elementy najmniejszego zbioru takiego, że:

  • wszystkie stałe i zmienne należą do
  • jeśli i jest -arnym symbolem funkcyjnym, to

Przykłady

  • Język teorii grup to gdzie jest binarnym symbolem funkcyjnym. Przykładami termów tego języka są:
oraz a także
  • Język ciał uporządkowanych to gdzie są binarnymi symbolami funkcyjnymi a jest binarnym symbolem relacyjnym. Przykładowe termy tego języka to
   

Języki wyższych rzędów

W analogiczny sposób wprowadza się termy w językach wyższych rzędów, a także w bardziej skomplikowanych logikach.

Termy boole’owskie

W teorii forsingu rozważa się termy boole’owskie wprowadzane następująco. Niech będzie zupełną algebrą Boole’a. Przez indukcję po wszystkich liczbach porządkowych definiujemy zbiory złożone z termów boole’owskich rangi :

  • – gdy jest liczbą graniczną
  • jest zbiorem wszystkich funkcji których dziedzina jest podzbiorem a wartości należą do algebry

Kładziemy też

Termy boole’owskie są nazwami na obiekty w rozszerzeniach generycznych modeli teorii mnogości w tym sensie, że każdy element rozszerzenia jest interpretacją pewnego termu przez filtr generyczny.

Termy w informatyce

W sztucznej inteligencji term służy do reprezentowania bytów w programowaniu w logice (na przykład w języku Prolog).

W Prologu można wyróżnić kilka rodzajów termów:

  • Liczby

Wszystkie wersje Prologu pozwalają na używanie liczb całkowitych (integer), np. 625, +12, -23. Większość wersji Prologu pozwala również na liczby zmiennoprzecinkowe, np. 6.43, -.245.

  • Atomy

Atomy są stałą, która nie ma numerycznej wartości. Istnieją trzy warianty, w których można zapisać atom: a) sekwencja jednej lub wielu liter, numeru i podkreślnika zaczynająca się od małej litery, np. agata, dzisiaj_jest_sobota, a32_BCD b) sekwencja znaków zamkniętych w pojedynczy cudzysłów, może zawierać spacje, np. 'Dzisiaj jest sobota', '32abc', 'dzisiaj-jest-sobota' c) sekwencja jednego lub wielu znaków specjalnych: + - * / > < = & # @ :

  • Zmienne

W zapytaniu zmienna jest używana do określenia termu, np. zmienna X może oznaczać atom - pies, liczbę - 23, term złożony czy listę. Nazwa zmiennej jest oznaczona przez dowolną sekwencję jednej lub więcej liter, cyfr, podkreślenia, zaczynając od wielkiej litery lub podkreślnika, np. X, Autor, Osoba_A, _123A. Zmienna składająca się z pojedynczego podkreślnika jest nazywana zmienną anonimową.

  • Termy złożone

Termy te mają fundamentalne znaczenie przy pisaniu programów Prolog. Term złożony zaczyna się od atomu, znanego tutaj jako funktor. Po funktorze następuje sekwencja argumentów, które są ujęte w nawiasy. functor(term_1, term_2, ... ,term_n), n>=1 Liczbę argumentów w termie złożonym nazywa się arnością.

  • Listy

Listy często traktuje się jako specjalny typ termu złożonego albo osobny typ w zależności od uczonego. Listy zawierają argumenty zamknięte w nawiasy kwadratowe, oddzielone przecinkami, np. [pies, kot, y, [p,q,R], miasto(poznan)]. Lista bez elementów jest pustą listą, którą zapisuje się w ten sposób [][2].

Często spotykaną interpretacją termu jest drzewo etykietowane.

Przypisy

  1. W. Rautenberg (2010) A Concise Introduction to Mathematical Logic
  2. Bramer M. (2013) Logic Programming with Prolog

Witaj

Uczę się języka hebrajskiego. Tutaj go sobie utrwalam.

Źródło

Zawartość tej strony pochodzi stąd.

Odsyłacze

Generator Margonem

Podziel się