Пролог (мова програмування): відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
м →‎Виконання: зв'язність
м зв'язність
Рядок 180:
=== Правила та факти ===
 
Прологові програми описують відношення, визначені твердженнями. Чиста Пролог обмежена {{Не[[Диз'юнкт перекладеноГорна|Диз’юнктдиз'юнктами Хорна|диз’юнктами Хорна||Horn clause}}Горна]]. Є два типи тверджень: факти та правила. Правило має вигляд
 
<syntaxhighlight lang="prolog">Голова :- Тіло.</syntaxhighlight>
Рядок 521:
 
== Повнота за Тюрингом ==
Чиста Пролог базується на підмножині [[Предикатна логіка|предикатної логіки]] першого порядку, {{Не[[Диз'юнкт перекладеноГорна|Диз’юнктдиз'юнктах Хорна|диз’юнктах Хорна||Horn clauses}}Горна]], що є [[Повнота за Тюрингом|повною за Тюрингом]]. Повноту Прологу за Тюрингом може бути показано шляхом використання її для імітації машини Тюрінга:
<source lang="prolog">
turing(Tape0, Tape) :-
Рядок 1133:
== Історія ==
 
Назву ''Пролог'' ({{lang-fr|Prolog}}) було обрано {{Не перекладено|Філіп Руссель|Філіпом Русселем|fr|Philippe Roussel}} як абревіатуру від ''програмування в логіці'' ({{lang-fr|programmation en logique}}). Пролог було створено в [[1972]] році {{Не перекладено|Алан Кольмерое|Аланом Кольмерое||Alain Colmerauer}} з Філіпом Русселем на основі процедурної інтерпретації {{Не[[Диз'юнкт перекладеноГорна|Диз’юнктдиз'юнктів Хорна|диз’юнктів Хорна||Horn clauses}}Горна]] {{Не перекладено|Роберт Ковальський|Роберта Ковальського||Robert Kowalski}}. Це було частково мотивоване бажанням примирити використання логіки як мови декларативного представлення знань з процедурним представленням знань, що було популярне в [[Північна Америка|Північній Америці]] в кінці [[1960-ті|1960-х]] і на початку [[1970-ті|1970-х]] років. Згідно {{Не перекладено|Роберт Ковальський|Роберта Ковальського||Robert Kowalski}}, першу прологову систему було розроблено в [[1972]] році Аланом Кольмерое та Філіпом Русселем.<ref name="Kowalski"/> Перші реалізації Прологу були інтерпретаторами. Однак, {{Не перекладено|Девід Уоррен|||David H. D. Warren}} створив {{Не перекладено|Абстрактна машина Уоррена|абстрактну машину Уоррена||Warren Abstract Machine}}, ранній та впливовий компілятор Прологу, що прийшов, щоби визначити «Единбурзький» діалект Прологу, що послужив основою синтаксису більшості сучасних реалізацій.
 
Європейські дослідники штучного інтелекту віддавали перевагу Прологу, тоді як американці віддавали перевагу [[LISP|Ліспу]], що, як повідомлялося, призводило до численних націоналістичних дебатів про переваги цих мов.<ref name="pountain198410">
Рядок 1149:
</ref> Більшість сучасних розробок Прологу пішли від поштовху {{Не перекладено|Комп’ютер п’ятої генерації|проекту комп’ютерних систем п’ятої генерації||Fifth generation computer}}, в рамках якого було розроблено варіант Прологу під назвою {{Не перекладено|Kernel Language|||KL1}} для його першої [[Операційна система|операційної системи]].
 
Чисту Пролог було спочатку обмежено використанням системи доведення теорем з {{Не[[Диз'юнкт перекладеноГорна|Диз’юнктдиз'юнктами Хорна|диз’юнктами Хорна||Horn clauses}}Горна]] форми:
 
Г :- Т<sub>1</sub>, ..., Т<sub>n</sub>.