Term

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

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[edytuj | edytuj kod]

Termy języków pierwszego rzędu[edytuj | edytuj kod]

Niech \tau będzie alfabetem języka pierwszego rzędu {\mathcal L}(\tau). Tak więc \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 {\mathcal L}(\tau) ma też ustaloną nieskończoną listę zmiennych (zwykle x_0,x_1,\ldots).

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

  • wszystkie stałe i zmienne należą do {\bold T},
  • jeśli t_1,\ldots,t_n\in {\bold T} i f\in\tau jest n-arnym symbolem funkcyjnym, to f(t_1,\ldots,t_n)\in {\bold T}.

Przykłady[edytuj | edytuj kod]

  • Język teorii grup to {\mathcal L}(\{*\}) gdzie * jest binarnym symbolem funkcyjnym. Przykłądami termów tego języka są:
x_1*x_1, oraz 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))))
  • Język ciał uporządkowanych to {\mathcal L}(\{+,\cdot,0,1,\leqslant\}) gdzie +,\cdot są binarnymi symbolami funkcyjnymi a \leqslant jest binarnym symbolem relacyjnym. Przykładowe termy tego języka to
1+(0+1),   (1+1)\cdot( (1+1)\cdot 1),   ((x_1+x_2)+0)\cdot x_7.

Języki wyższych rzędów[edytuj | edytuj kod]

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[edytuj | edytuj kod]

W teorii forsingu rozważa się termy boole’owskie wprowadzane następująco. Niech {\mathbb B}=(B,+,\cdot,\sim,{\mathbf 0},{\mathbf 1}) będzie zupełną algebrą Boole’a. Przez indukcję po wszystkich liczbach porządkowych \alpha definujemy zbiory {\mathbf V}^{\mathbb B}_\alpha złożone z termów boole’owskich rangi \alpha:

  • {\mathbf V}^{\mathbb B}_0=\emptyset,
  • {\mathbf V}^{\mathbb B}_\alpha=\bigcup\limits_{\beta<\alpha}{\mathbf V}^{\mathbb B}_\beta gdy \alpha jest liczbą graniczną,
  • {\mathbf V}^{\mathbb B}_{\alpha+1} jest zbiorem wszystkich funkcji t których dziedzina {\rm dom}(t) jest podzbiorem {\mathbf V}^{\mathbb B}_\alpha, a wartości należą do algebry {\mathbb B}.

Kładziemy też {\mathbf V}^{\mathbb B}=\bigcup\limits_{\alpha\in{\mathbf{ON}}}{\mathbf V}^{\mathbb B}_\alpha.

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[edytuj | edytuj kod]

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

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