Term

Wikipedia:Weryfikowalność
Ten artykuł od 2012-02 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

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 τ {\displaystyle \tau } będzie alfabetem języka pierwszego rzędu L ( τ ) . {\displaystyle {\mathcal {L}}(\tau ).} Tak więc τ {\displaystyle \tau } 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 L ( τ ) {\displaystyle {\mathcal {L}}(\tau )} ma też ustaloną nieskończoną listę zmiennych (zwykle x 0 , x 1 , {\displaystyle x_{0},x_{1},\dots } )[1].

Termy języka L ( τ ) {\displaystyle {\mathcal {L}}(\tau )} to elementy najmniejszego zbioru T {\displaystyle \mathbf {T} } takiego, że:

  • wszystkie stałe i zmienne należą do T {\displaystyle \mathbf {T} }
  • jeśli t 1 , , t n T {\displaystyle t_{1},\dots ,t_{n}\in \mathbf {T} } i f τ {\displaystyle f\in \tau } jest n {\displaystyle n} -arnym symbolem funkcyjnym, to f ( t 1 , , t n ) T . {\displaystyle f(t_{1},\dots ,t_{n})\in \mathbf {T} .}

Przykłady

  • Język teorii grup to L ( { } ) {\displaystyle {\mathcal {L}}(\{*\})} gdzie {\displaystyle *} jest binarnym symbolem funkcyjnym. Przykładami termów tego języka są:
x 1 x 1 , {\displaystyle x_{1}*x_{1},} oraz x 1 ( x 2 ( x 1 ( x 2 x 1 ) ) ) , {\displaystyle x_{1}*(x_{2}*(x_{1}*(x_{2}*x_{1}))),} a także ( x 1 ( x 1 ( x 1 ( x 1 x 1 ) ) ) ) ( x 1 ( x 2 ( x 1 ( x 2 x 1 ) ) ) ) {\displaystyle (x_{1}*(x_{1}*(x_{1}*(x_{1}*x_{1}))))*(x_{1}*(x_{2}*(x_{1}*(x_{2}*x_{1}))))}
  • Język ciał uporządkowanych to L ( { + , , 0 , 1 , } ) {\displaystyle {\mathcal {L}}(\{+,\cdot ,0,1,\leqslant \})} gdzie + , {\displaystyle +,\cdot } są binarnymi symbolami funkcyjnymi a {\displaystyle \leqslant } jest binarnym symbolem relacyjnym. Przykładowe termy tego języka to
1 + ( 0 + 1 ) , {\displaystyle 1+(0+1),}   ( 1 + 1 ) ( ( 1 + 1 ) 1 ) , {\displaystyle (1+1)\cdot ((1+1)\cdot 1),}   ( ( x 1 + x 2 ) + 0 ) x 7 . {\displaystyle ((x_{1}+x_{2})+0)\cdot x_{7}.}

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 , + , , , 0 , 1 ) {\displaystyle \mathbb {B} =(B,+,\cdot ,\sim ,\mathbf {0} ,\mathbf {1} )} będzie zupełną algebrą Boole’a. Przez indukcję po wszystkich liczbach porządkowych α {\displaystyle \alpha } definiujemy zbiory V α B {\displaystyle \mathbf {V} _{\alpha }^{\mathbb {B} }} złożone z termów boole’owskich rangi α {\displaystyle \alpha } :

  • V 0 B = {\displaystyle \mathbf {V} _{0}^{\mathbb {B} }=\emptyset }
  • V α B = β < α V β B {\displaystyle \mathbf {V} _{\alpha }^{\mathbb {B} }=\bigcup \limits _{\beta <\alpha }\mathbf {V} _{\beta }^{\mathbb {B} }} – gdy α {\displaystyle \alpha } jest liczbą graniczną
  • V α + 1 B {\displaystyle \mathbf {V} _{\alpha +1}^{\mathbb {B} }} jest zbiorem wszystkich funkcji t , {\displaystyle t,} których dziedzina d o m ( t ) {\displaystyle \mathrm {dom} (t)} jest podzbiorem V α B {\displaystyle \mathbf {V} _{\alpha }^{\mathbb {B} }} a wartości należą do algebry B . {\displaystyle \mathbb {B} .}

Kładziemy też V B = α O N V α B . {\displaystyle \mathbf {V} ^{\mathbb {B} }=\bigcup \limits _{\alpha \in {\mathbf {ON} }}\mathbf {V} _{\alpha }^{\mathbb {B} }.}

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