Специфика логического программирования
что контрастирует с выражением Н. Вирта для императивного программирования:
алгоритмы = структуры данных + программы
Принцип Ковальски указывает на существенную особенность логического программирования: так как логические программы не отражают вопросы управления, операции (в теории, по крайней мере) могут выполняться в любом порядке (или одновременно). Таким образом, языки логического программирования — наиболее подходящие кандидаты для распараллеливания вычислений.
К сожалению, автоматизированные дедуктивные системы испытывают трудности при непосредственном использовании исчисления предикатов первого порядка. Во-первых, одни и те же утверждения можно выразить огромным количеством способов. Во-вторых, существует слишком много правил вывода. В этих условиях большинство систем логического программирования вынуждено ограничивать себя специфическим подмножеством исчисления предикатов, названного формулами (дизъюнктами) Хорна, к изучению которых мы переходим.