Warunki

Termin to wyrażenie logiczne, które odnosi się do obiektu. Symbole stałe to terminy, ale nie zawsze wygodnie jest mieć odrębny symbol, aby nazwać każdy obiekt. W języku angielskim możemy użyć wyrażenia „lewa noga króla Jana” zamiast nadawać nazwę jego nodze. Do tego służą symbole funkcyjne: zamiast używania stałego symbolu używamy LeftLeg(John).

3- λwyrażenia (wyrażenia lambda) zapewniają użyteczną notację w której nowe symbole funkcyjne są konstruowane „w locie”. Na przykład funkcja, która podnosi swój argument do kwadratu, może być zapisana jako (λx : x  x x ) i może być stosowana do argumentów, tak jak każdy inny symbol funkcji. λ – wyrażenie może być również zdefiniowane i używane jako symbol predykatu. Operator lambda w Lispie i Pythonie pełni dokładnie tę samą rolę. Zauważ, że użycie w ten sposób nie zwiększa formalnej mocy ekspresyjnej logiki pierwszego rzędu, ponieważ każde zdanie zawierające λ-wyrażenie  może zostać przepisane przez „podłączenie” jego argumentów w celu uzyskania równoważnego zdania.

W ogólnym przypadku termin złożony jest tworzony przez symbol funkcji, po którym następuje umieszczona w nawiasach lista terminów jako argumenty symbolu funkcji. Należy pamiętać, że złożony termin to po prostu skomplikowany rodzaj nazwy. Nie jest to „wywołanie podprogramu”, które „zwraca wartość”. Nie ma podprogramu LeftLeg, który pobiera osobę jako dane wejściowe i zwraca odnogę. Możemy wnioskować o lewych nogach (np. stwierdzając ogólną zasadę, że każdy ma jedną, a następnie dedukując, że John musi ją mieć) bez podawania definicji lewej nogi. To jest coś, czego nie można zrobić za pomocą podprogramów w językach programowania. Formalna semantyka terminów jest prosta. Rozważ termin f(t1…tn) . Symbol funkcji f odnosi się do jakiejś funkcji w modelu (nazwij ją F ); terminy argumentów odnoszą się do obiektów w domenie (nazwijmy je d1, …, dn ); a termin jako całość odnosi się do obiektu, który jest wartością funkcji  F zastosowanej do d1, …, dn . Załóżmy na przykład, że symbol funkcji LeftLeg odnosi się do funkcji pokazanej w równaniu (8.2), a Jan odnosi się do króla Jana, a następnie LeftLeg(John) odnosi się do lewej nogi króla Jana. W ten sposób interpretacja ustala desygnat każdego terminu.