Узагальнення
1.Програма Прологу складається із фраз. Фрази бувають двох типів: факти та правила.
* Факти - це відношення або властивість, про вірність яких програміст попередньо знає.
* Правила - це залежні відношення. Вони дозволяють Прологу отримувати деяку інформацію із іншої.
2.Факти мають загальну форму:
property(obj, obj1, ... objn) або ж
relation(obj, obj1, ... objn) , де property виражає властивість об`єктів, а relation - відношення між об`єктами.
3.Кожний факт відноситься до одного або ж декількох об`єктів. Наприклад, в факті Прологу likes(tom,baseball) відношенням є likes, а об`єктами tom і baseball. Він описує речення:
Тому подобається бейсбол.
А в факті left-hander(tom) властивістю є left-hander, об`єктом - tom. Він описує речення : Том - лівша.
4.Правила мають загальну форму:
голова if тіло,
яка в програмі приймає вигляд:
relation(obj, obj1, ... objn) if
relation(obj, obj1, ... objn) and
....
relation(obj, obj1, ... objn).
5.При виборі імен змінних і констант, ви повинні дотримуватись наступних обмежень:
* Імена змінних повинні починатись із великої букви. За нею може зустрічатись довільне число символів; символами є букви, цифри та символ підкреслення.
6.Предикат - це символьне ім`я (ідентифікатор), яке пов`язує відношення з його аргументами.
Програма - це послідовність фраз і директив, а процедура - це послідовність фраз, які визначають предикат фрази.
7.Змінні дозволяють вам записувати загальні факти та правила, а також задавати загальні питання.
* Змінні в Пролозі отримують свої значення при співставленні з константами в фактах і правилах;
* Тому, що змінна є зв`язаною тільки в середині однієї фрази, не можна зберігати інформацію, присвоївши значення змінній.
8.Анонімна змінна ніколи не отримує значення.
9.Коментарі використовуються традиційним для програмістів чином. Коментар починається символами /* і закінчується символами */ .
2.5.Способи Співставлення.
В Пролозі існує декілька способів співставлення:
1. Ідентичні структури співставляються між собою;
2. Вільна змінна співставляє константу або раніше прив'язану змінну і стає зв'язаною з цією величиною.
3. Дві вільні змінні можуть співставляться і бути зв'язаними між собою. На протязі часу зв'зування, вони розуміються як одна змінна. Іншими словами, якщо одна із змінних отримала якесь значення, інша - зразу ж отримує те ж значення.
Наприклад, відношення
parent(joe,X) співставляючись з Parent(joe,Y) ...
зв'язує змінні Х та Увідповідним чином.
4. В Пролозі зв'язування (присвоєння) проходить двома способами: на вході і виході. Коли змінна потрапляє в фразу, вона стає вхідним параметром і позначається (i); а, коли виходить із фрази - стає вихідним параметром, який позначається (о).