Логическое программирование
Логическое программирование - это парадигма программирования, основанная на формальной логике. Программа, написанная на языке логического программирования, представляет собой набор предложений в логической форме, выражающих факты и правила о какой-либо проблемной области. Основные семейства языков логического программирования включают Prolog, Программирование набора ответов и Datalog. На всех этих языках правила записываются в виде предложений: H: - B1, ..., Bn. и читаются декларативно как логические последствия: H, если B1 и ... и Bn. H называется главой правила, а B1, ..., Bn называется телом. Факты - это правила, которые не имеют тела и записаны в упрощенной форме: H. В простейшем случае, когда H, B1, ..., Bn - все атомарные формулы, эти статьи называются определенными предложениями или предложениями Хорна. Однако существует много расширений этого простого случая, наиболее важным из которых является то, что условия в теле предложения также могут быть отрицаниями атомных формул. Языки логического программирования, которые включают это расширение, обладают возможностями представления знаний немонотонной логики.