Systemy iteracyjne. Podstawy programowania. wykład 2

Podobne dokumenty
MATEMATYKA OBIEKTOWA. Edward Bryniarski. Cybernetyczne podstawy matematyki

Logiczna analiza tekstu

Metalogika (1) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

Systemy algebraiczne. Materiały pomocnicze do wykładu. przedmiot: Matematyka Dyskretna 1 wykładowca: dr Magdalena Kacprzak

I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych.

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

LOGIKA I TEORIA ZBIORÓW

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Zbiory, relacje i funkcje

Elementy logiki matematycznej

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.

Struktury formalne, czyli elementy Teorii Modeli

W pewnym mieście jeden z jej mieszkańców goli wszystkich tych i tylko tych jej mieszkańców, którzy nie golą się

1 Logika Zbiory Pewnik wyboru Funkcje Moce zbiorów Relacje... 14

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

domykanie relacji, relacja równoważności, rozkłady zbiorów

O pewnych związkach teorii modeli z teorią reprezentacji

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

1 Działania na zbiorach

Wymagania edukacyjne z matematyki

STATYSTYKA MATEMATYCZNA. rachunek prawdopodobieństwa

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

Rachunek zdań. Zdanie w sensie logicznym jest to wyraŝenie jednoznacznie stwierdzające, na gruncie reguł danego języka, iŝ tak a

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka

Wstęp do Matematyki (2)

Projekt wykonania zadania informatycznego specyfikacja zadania

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

Semantyka rachunku predykatów

Definicja pochodnej cząstkowej

Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

MATeMAtyka 1. Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony Klasa pierwsza

Internet Semantyczny i Logika II

ZALICZENIE WYKŁADU: 30.I.2019

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

Logika Matematyczna 16 17

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Algebra i jej zastosowania konspekt wyk ladu, czȩść druga

Programowanie deklaratywne

Funkcje analityczne. Wykład 2. Płaszczyzna zespolona. Paweł Mleczko. Funkcje analityczne (rok akademicki 2017/2018)

1. Funkcje monotoniczne, wahanie funkcji.

Wstęp do Programowania potok funkcyjny

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.


Symbol, alfabet, łańcuch

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Paradygmaty programowania

Programowanie deklaratywne

PODSTAWY SZTUCZNEJ INTELIGENCJI

020 Liczby rzeczywiste

Wymagania na poszczególne oceny szkolne Klasa 7

Logika Matematyczna (1)

Zasada indukcji matematycznej

Instrukcja warunkowa i złoŝona.

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

LOGIKA Klasyczny Rachunek Zdań

Wymagania dla klasy siódmej. Treści na 2 na 3 na 4 na 5 na 6 Uczeń: Uczeń: Uczeń: Uczeń: Uczeń: DZIAŁ 1. LICZBY

Logika Matematyczna (1)

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Logika dla socjologów Część 3: Elementy teorii zbiorów i relacji

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Przestrzenie wektorowe

Adam Meissner.

ocena dopuszczająca ocena dostateczna ocena dobra ocena bardzo dobra ocena celująca

WIELOMIANY I FUNKCJE WYMIERNE

Rekurencyjna przeliczalność

0. ELEMENTY LOGIKI. ALGEBRA BOOLE A

Wymagania edukacyjne matematyka klasa VII

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Programowanie w Logice Przykłady programów. Przemysław Kobylański

Logika Matematyczna (2,3)

rozszerzające (ocena dobra) podstawowe (ocena dostateczna)

konieczne (ocena dopuszczająca) Temat podstawowe (ocena dostateczna) dopełniające (ocena bardzo dobra) rozszerzające (ocena dobra)

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 1. L. Kowalski, Statystyka, 2005

konieczne (ocena dopuszczająca) Temat podstawowe (ocena dostateczna) dopełniające (ocena bardzo dobra) rozszerzające (ocena dobra)

Predykat. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut

Algebra. Jakub Maksymiuk. lato 2018/19

konieczne (ocena dopuszczająca) Temat rozszerzające (ocena dobra)

konieczne (ocena dopuszczająca) Temat podstawowe (ocena dostateczna) rozszerzające (ocena dobra) dopełniające (ocena bardzo dobra)

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B.

Finanse i Rachunkowość studia niestacjonarne Wprowadzenie do teorii ciągów liczbowych (treść wykładu z 21 grudnia 2014)

Wymagania edukacyjne z matematyki dla klasy VII

WYMAGANIA EDUKACYJNE z MATEMATYKI ucznia kl. VI

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

WYKŁAD Z ANALIZY MATEMATYCZNEJ I. dr. Elżbieta Kotlicka. Centrum Nauczania Matematyki i Fizyki

Składnia rachunku predykatów pierwszego rzędu

Podstawowe Pojęcia. Semantyczne KRZ

ROZDZIAŁ 1. Rachunek funkcyjny

Transkrypt:

Systemy iteracyjne Podstawy programowania wykład 2

Pojęcie iteracji Systemy rzeczywistości, tj. wyróŝnione struktury relacyjne (często z relacją porządku), w których realizowane jest powtarzalne wykonywanie tych samych operacji lub wchodzenie w te same relacje nazywamy systemami iteracyjnymi. W ujęciu algebraicznym przez iterację moŝna rozumieć ten sam typ skończonej ilości złoŝeń operacji (niekonieczne tych samych operacji) w algebrach naleŝących do klasy wszystkich analogicznych (dokładniej: podobnych z dokładnością do homomorfizmu) algebr częściowych (podalgebr sytemu iteracyjnego), a w ujęciu logicznym ten sam typ złoŝeń operacji i relacji w strukturze relacyjnej naleŝącej do klasy wszystkich analogicznych (dokładniej: podobnych z dokładnością do homomorfizmu) struktur relacyjnych (podsystemów sytemu iteracyjnego).

Przykład iteracji Np. dla homomorficznych algebr A 1 = < U 1, f 1, f 2 >, A 2 = < U 2, g 1, g 2 >, gdzie pierwsze operacje są jednoargumentowe, a drugie dwuargumentowe, złoŝenia f(x 1, x 2 ) = f2(x 1,f 1 (x 2 )) i g(x 1, x 2 ) = g 2 (x 1, g 1 (x 2 )) mają ten sam typ. Gdy oznaczymy ten typ przez i, to piszemy i{f 1, f 2 } = f, i{g 1, g 2 } = g. Iterację i jednej funkcji f zapisujemy if. PoniewaŜ kaŝda struktura relacyjna indukuje zbiór iteracji, więc system iteracyjny moŝemy utoŝsamiać z indukującą iteracje strukturą relacyjną.

Bardziej precyzyjne określenie iteracji Wprowadzone wcześniej pojęcie iteracji moŝna bardziej precyzyjnie określić za pomocą klasy abstrakcji. Dowolną klasę wszystkich izomorficznych podsystemów systemu iteracyjnego nazywamy iteracją. Liczby kardynalne są iteracjami: Niech <U, R> jest systemem iteracyjnym, w którym U jest dowolnie ustalonym nieskończonym zbiorem, a rodzina relacji R jest pusta. Wtedy, dowolny podzbiór U wyznacza podsystem tego systemu iteracyjnego, a iteracja jako klasa wszystkich izomorficznych podsystemów jest klasą wszystkich równolicznych zbiorów, tj. jest liczbą kardynalną. Podobnie: liczby porządkowe są iteracjami.

Kreskowy system zliczania przedmiotów - izomorficzne podsystemy zliczania przedmiotów - jednoelementowy podsystem - dwuelementowy podsystem - trzyelementowy podsystem Iteracje w kreskowym systemie zliczania przedmiotów są modelem liczb naturalnych.

Systemy pomiarowe jako systemy iteracyjne Mechanizm pomiaru - mechanizm ustalający w danym stanie dokonywania pomiaru wystąpienie kolejnej jednostki pomiaru. Włączenie mechanizmu pomiaru za kaŝdym razem powiększa na skali pomiaru wynik pomiaru o następną jednostkę. Nie wystąpienie następnej jednostki pomiaru oznacza jego zakończenie. Pomiar jest więc iterowaniem jednostek pomiaru. ZłoŜenie jednostek pomiaru - wynik skończonej ilości niezaleŝnych pomiarów, np. jednostka miary pola powierzchni cm 2 = cm*cm, jednostka siły N = kg* m /s. Wielkości są niezaleŝne, gdy nie mogą się wzajemnie określać tak, aby do wyznaczenia którejś jednostki wystarczał pomiar pozostałych jednostek. Zbór niezaleŝnych wielkości wymiarowych wraz z operacjami i relacjami tworzy przestrzeń wymiarową. Jest ona systemem iteracyjnym. Klasa wszystkich izomorficznych podprzestrzeni tej przestrzeni jest iteracją. Wielkości określone przez operacje nazywamy ekstensjonalnymi, a określone przez relacje - intensjonalnymi. We współczesnej fizyce iteracjami w przestrzeniach wymiarowych są liczby rzeczywiste. ZłoŜenie wielkości ekstensjonalnej z intesjonalną jest wielkością energii

Liczby całkowite jako iteracje M = < U, π, I >, gdzie U jest nieskończonym niepustym zbiorem, a π róŝnowartościową funkcją określoną na tym zbiorze, a I funkcją toŝsamościową (I(x) = x). I tak I1. ZłoŜenie funkcji π ma typ 0, gdy jego wynikiem jest funkcja toŝsamościowa I. Przez 1 oznaczamy iterację, oznaczającą typ złoŝenia funkcji π, którego wynikiem jest funkcja π. Piszemy 0π = I; I2. Jeśli i jest iteracją, to istnieje taka iteracja i *, Ŝe i * π = (iπ)π, gdzie zapis f 1 f 2 jest złoŝeniem funkcji f 1, f2 określonym wzorem f1f2(x)=f 2 (f 1 (x)); I3. JeŜeli do zbioru iteracji naleŝy 0 i spełniony jest warunek I2 to kaŝda iteracja naleŝy do tego zbioru.

Liczby całkowite jako iteracje Sumę i iloczyn iteracji określamy następująco: Sum. Il. (n + k) π = (nπ)(kπ); (n * k) π = n(kπ). Zbiór iteracji równowaŝny zbiorowi liczb całkowitych uzyskamy, jeśli będziemy rozwaŝać złoŝenia funkcji wśród których jest funkcja odwrotna do funkcji π, tj. M = < U. π, I, π -1 >. Wtedy przyjmiemy oznaczenie (nπ) -1 = (-n)π. Oczywiście n + (-n) = 0, a ponadto zachodzą pozostałe własności liczb całkowitych.

Iteracyjne ujęcie teorii liczb rzeczywistych Iterowanie, tj. powtarzanie się czegoś w systemie iteracyjnym, moŝe być rozumiane jako homomorfizm (izomorfizm) pomiędzy podsystemami systemu iteracyjnego. Określenie liczb rzeczywistych. Niech zbiór U jest uporządkowany przez relację w sposób gęsty i bez luk, a więc w sposób ciągły, bez elementu pierwszego i ostatniego. Wybierzmy w tym zbiorze dowolne dwa róŝne elementy 0 i 1, tak aby 1 0. ZałóŜmy, Ŝe wtedy, dla dowolnego elementu x U, istnieje pewien izomorfizm monotoniczny i x, przekształcający 0 w liczbę x oraz pewien automorfizm monotoniczny a x przekształcający element 1 w x 0. JeŜeli klasę automorfizmów rozszerzymy o homomorfizm a 0 : U {0}, to moŝemy określić na U następujące działania: x + y = i x (y), x*y = a x (y). MoŜna sprawdzić, Ŝe struktura <U, +, *,, 0, 1> spełnia aksjomaty teorii liczb rzeczywistych.

Liczby zespolone jako iteracje Ze względów dydaktycznych zalecany moŝe być następujący przykład systemu iteracyjnego: operacja π jest wykonywaniem przez ucznia kroków do przodu w danym kierunku, zbiór U jest zbiorem połoŝeń ucznia, funkcja I to postój w miejscu. Najbardziej interesującym przykładem jest system iteracji, w którym oprócz kroków do przodu w danym kierunku, wykonywane są kroki prostopadle na lewo, w bok od kierunku przemieszczania się ucznia. Oznaczmy przez π kroki do przodu, a przemieszczanie się o krok na lewo od kierunku ruchu przez i Wtedy kroki wykonane na lewo od kroków wykonanych na lewo od kierunku do przodu, są. krokami do tyłu.

Liczny zespolone jako iteracje Wprowadzając analogiczne jak poprzednio pojecie iloczynu iteracji, mamy iiπ = - 1π, lub krócej: i 2 = -1. Tak więc iteracja n + ki, oznaczająca n kroków w danym kierunku i następnie k kroków na lewo od tego kierunku, moŝe być utoŝsamiana z liczbą zespoloną. ZauwaŜmy, Ŝe iteracja n + ki ustala nowy kierunek ruchu i wyznacza pewne przemieszczenie, które moŝemy traktować jako nowy krok. Iloczyn iteracji (n 1 + k 1 i) (n 2 + k 2 i) będzie wtedy oznaczał wykonanie n 1 tych nowych kroków do przodu i k 1 w kierunku na lewo od kierunku ustalonego przez iterację n 2 + k 2 i. Dokładnie: (n 1 + k 1 i) (n 2 + k 2 i) = (n 1 n 2 k 1 k 2 ) + (n 1 k 2 + k 1 n 2 ) i (dlaczego?).

Grupy krystalografii jako systemy iteracyjne

Projektowanie parkietów lub posadzek Grupy krystalografii wykorzystuje się przy projektowaniu parkietów lub posadzek z płytek drewnianych lub ceramicznych. Problem ten, dla przypadku płytek w kształcie wielokątów foremnych, jest juŝ znany od czasów staroŝytnych. Całą płaszczyznę dzieli się na stykające się w wierzchołkach wielokąty foremne, tak aby w kaŝdym wierzchołku stykały się wszystkie przystające do wybranych wielokąty. PoniewaŜ wielokąt o n bokach posiada kąt o mierze (n - 2) * 180 0 / n, a suma miar wszystkich połączonych w wierzchołku kątów wynosi 360 0, więc przykładowo dla trzech wielokątów (o ilości boków n1, n2, n3) mamy warunek 1/n1 + 1/n2 + 1/n3 = 1/2, a dla czterech wielokątów (o ilości boków n1, n2, n3, n4) 1/n1 + 1/n2 + 1/n3 + 1/n4 = 1. Przykładowe projekty parkietów przedstawiamy dalej. MoŜna je zrealizować w edytorach grafiki (np. Power Point).

Systemy geometryczne Sztuka M.C.Eschera

System geometryczny Parkiet 1

System geometryczny Parkiet 2

System geometryczny Parkiet 3

System geometryczny Parkiet 4

System geometryczny Parkiet 5

System geometryczny Parkiet 6

System geometryczny Parkiet 7

System geometryczny Parkiet 8

System geometryczny Parkiet 9

System geometryczny Parkiet 10

Iteracyjne ujęcie liczb pitagorejskich Źródło: J. H. Conway, R. K. Guy, Księga liczb, WNT, Warszawa 1999, s.51

Iteracyjne ujęcie liczb pitagorejskich Źródło: J. H. Conway, R. K. Guy, Księga liczb, WNT, Warszawa 1999, s.62

Operacja przypisania Systemy podstawień ZłoŜenie funkcji określa się jako ciąg podstawień termów: t 1 := τ 1, t 2 := τ 2,..., t n := τ n. Np. złoŝeniu z = f(g(h(x,y)), h(x,g(y))) odpowiada następujący ciąg podstawień: z:= f(x 1, x 2 ), x 1 := g(x 3 ), x 2 := h(x, x 4 ), x 3 := h(x, y), x 4 := g(y)

Iteracja jako klasa drzew podstawień f g h h x g x y y

Procedury w systemach iteracyjnych Niech U zbiorem wszystkich rozwaŝanych przedmiotów (teoretycznych i empirycznych) w dowolnie ustalonym systemie iteracyjnym. Jedne z tych przedmiotów są znane inne nieznane. Ciąg relacji r 1, r 2,..., r k+1, wiąŝących przedmioty znane z nieznanymi nazywamy procedurą relacyjną, a jeśli jest ciągiem, określającym przedmiot α, to nazywamy go procedurą relacyjną wyprowadzenia α.. Ciąg operacji określających osiągalność jakiegoś x U, uporządkowanych według kolejności ich składania, nazywamy procedurą operacyjną. JeŜeli procedura relacyjna wyprowadzenia α nie prowadzi do wyprowadzenia α, to mówimy Ŝe zawodzi, a w przeciwnym wypadku, Ŝe nie zawodzi.

Zbór procedur w systemie iteracyjnym Zbiorem procedur w danym systemie iteracyjnym jest najmniejszy zbiór do którego naleŝą: 1.Procedury relacyjne (wyprowadzenia), 2.Procedury operacyjne, 3.Ciągi procedur, 4.Układy trzech procedur postaci jeŝeli (procedura relacyjna wyprowadzenia α, procedura pierwsza, procedura druga), reprezentujące wykonanie procedury pierwszej, gdy procedura relacyjna wyprowadzenia α nie zawodzi, a drugiej, gdy zawodzi. 5.Układy dwóch procedur zwane procedurami iteracyjnymi, postaci powtarzaj (procedura relacyjna, dana procedura), określające osiągalność kaŝdego stanu wyprowadzonego przez kolejne stosowanie tej samej procedury wyprowadzenia dopóki procedura relacyjna nie zawodzi wykonywana jest dana procedura.

Procedura iteracyjna procedura wyprowadzenia tak Procedura

Reprezentacje procedur oraz programy MoŜna wyróŝnić trzy sposoby reprezentacji procedur: R1. reprezentacja ikoniczna schematy blokowe, grafy, diagramy, drzewa, reprezentacje multimedialne, itp. R2. reprezentacja symboliczna języki programowania: strukturalne, logiczne, obiektowe, wizualne. R3. reprezentacja enaktywna - tabele decyzyjne, arkusze kalkulacyjne, bazy danych, symulacje. Język, w którym wyraŝamy procedury realizowane w pewnym systemie iteracji nazywamy językiem programowania, a wyraŝenia odpowiadające procedurom programami.

Programy reprezentujące procedury operacyjne S jest zbiorem programów reprezentujących procedury operacyjne, realizowane w jakimś systemie iteracyjnym wtedy i tylko wtedy, gdy jest najmniejszym spośród zbiorów S spełniającym następujące warunki: P1. podzbiorem S jest zbiór wszystkich podstawień termu t za zmienną indywiduową x, postaci x:= t, Symbol := jest niekiedy w podręcznikach nazywany symbolem przypisania. Niestety, jest to myląca nazwa, sugerująca uczniowi jakoby przypisanie było czymś innym niŝ podstawienie. Tym bardziej, Ŝe operację podstawienia zna on świetnie z lekcji matematyki. P2. jeśli α jest formułą logiczną spełnioną w danym systemie rzeczywistości Re oraz K,M, K 1, K 2,..., K n,, dla dowolnych n>0, naleŝą do S, to wyraŝenia: begin K 1 ; K 2,;..., K n end (odpowiada ciągowi procedur), if α then K else M (odpowiada procedurze typu jeŝeli...), while α do K (odpowiada procedurze iteracyjnej), naleŝą do S.

Programy reprezentujące procedury relacyjne Deklaracje procedur relacyjnych moŝna wyrazić za pomocą ciągów zbiorów deklaracji relacji lub negacji ich deklaracji. Deklaracje nazywamy klauzulami, a programowanie w języku klauzul (np. język PROLOG) nazywamy programowaniem logicznym. Zdefiniujemy teraz bardziej precyzyjnie składnię języka klauzul. Najbardziej dogodnym zapisem klauzul jest zapis postaci (R. Kowalski, Logika w rozwiązywaniu zadań, WNT, Warszawa 1989.) B 1, B 2,..., B m :- A 1, A 2,..., A n Gdzie znak :- czytamy: jeśli, przy czym B 1, B 2,..., B m, są formułami atomowymi, n 0 i m 0. Formuły atomowe A 1, A 2,..., A n stanowią koniunkcję warunków klauzuli, a B 1, B 2,..., B m alternatywę konkluzji. Spośród klauzul wyróŝnia się klauzule hornowskie postaci B :- A 1, A 2,..., A n Jeśli klauzula zawiera zmienne x 1,..., x k, naleŝy ja interpretować jako stwierdzenie, Ŝe dla wszystkich x 1,..., x k : B 1 lub... lub B m jeśli A 1 i... i A n. Jeśli n = 0, klauzulę naleŝy interpretować jako bezwarunkowe stwierdzenie, Ŝe dla wszystkich x 1,..., x k : B 1 lub... lub B m.

Programy reprezentujące procedury relacyjne Jeśli m = 0, klauzulę naleŝy interpretować jako stwierdzenie, Ŝe dla wszystkich x 1,..., x k nieprawda, Ŝe zachodzi A 1 i... i A n. Jeśli m = n = 0, klauzulę zapisuje się w postaci (klauzula pusta) i interpretuje jako zdanie zawsze fałszywe. Atom (lub formuła atomowa) to wyraŝenie postaci: R (t 1,..., t m ), przy czym R jest m-argumentowym symbolem relacyjnym, t 1,..., t m są termami oraz m l. Atom naleŝy interpretować jako stwierdzenie, Ŝe relacja o nazwie R zachodzi między indywiduami o nazwach t 1,..., t m. Term jest zmienną, stałą lub wyraŝeniem postaci f (t 1,..., t m ), przy czym f jest m - argumentowym symbolem funkcyjnym, t 1,..., t m są termami oraz m l.. Symbol implikacji w języku klauzul jest skierowany w kierunku odwrotnym niŝ w klasycznym języku logiki. Przyzwyczajenie kaŝe pisać raczej: A :- B (jeśli A to B), a nie B :- A (B jeśli A). JednakŜe róŝnica jest nieistotna. Notację: B :- A stosuje się w celu wyeksponowania konkluzji klauzuli.