Term

Z testwiki
Wersja z dnia 22:21, 18 kwi 2024 autorstwa imported>M.wojnarowski (growthexperiments-addlink-summary-summary:2|0|1)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Szablon:Dopracować 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 x0,x1,)[1].

Termy języka (τ) to elementy najmniejszego zbioru 𝐓 takiego, że:

  • wszystkie stałe i zmienne należą do 𝐓
  • jeśli t1,,tn𝐓 i fτ jest n-arnym symbolem funkcyjnym, to f(t1,,tn)𝐓.

Przykłady

  • Język teorii grup to ({*}) gdzie * jest binarnym symbolem funkcyjnym. Przykładami termów tego języka są:
x1*x1, oraz x1*(x2*(x1*(x2*x1))), a także (x1*(x1*(x1*(x1*x1))))*(x1*(x2*(x1*(x2*x1))))
  • Język ciał uporządkowanych to ({+,,0,1,}) gdzie +, są binarnymi symbolami funkcyjnymi a jest binarnym symbolem relacyjnym. Przykładowe termy tego języka to
1+(0+1),   (1+1)((1+1)1),   ((x1+x2)+0)x7.

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,+,,,𝟎,𝟏) 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 α:

  • 𝐕0𝔹=
  • 𝐕α𝔹=β<α𝐕β𝔹 – gdy α jest liczbą graniczną
  • 𝐕α+1𝔹 jest zbiorem wszystkich funkcji t, których dziedzina dom(t) 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

Szablon:Przypisy