Некоторые методы, которые используются в логическом программировании для построения формальных доказательств:
- Метод линейной резолюции. 4 Процесс поиска доказательства основан на том, что дизъюнкты подбираются в порядке их следования в тексте программы. 4
- Синтаксический метод доказательства. 2 При его использовании ищут полное множество правил вывода, при котором все аксиомы будут следствием множества правил. 2 Используются законы Аристотеля, Де Моргана, дистрибутивность. 2
- Метод фундированных множеств. 3 Применяется в паре с методом индуктивных утверждений для доказательства завершимости и полной корректности программ. 3 Идея метода заключается в сопоставлении каждой точке сечения оценки — функции состояния, значение которой убывает при каждом прохождении через эту точку, но в то же время не может убывать бесконечно долго. 3
- Проверка эквивалентности. 13 Модель программы и модель требований однотипны (например, обе модели — конечные автоматы, или обе модели — машины Тьюринга), а в качестве отношения соответствия используется одно из отношений эквивалентности, определённое для моделей рассматриваемого типа. 13