Я хотел бы создать приложение, которое может сделать простое обоснование с помощью логики первого порядка. Кто-либо может рекомендовать "механизм", который может принять произвольное число выражений FOL и позволить запрашивать тех выражений (предпочтительно доступный с помощью Python)?
PyLog - это библиотека логики первого порядка. включая движок PROLOG в Python.
Рецепт 303057: Pythologic -- синтаксис Prolog в Python / http://code.activestate.com/recipes/303057/
Не выполняйте запросы с использованием логики первого порядка (FOL), за исключением случаев, когда это абсолютно необходимо: логика первого порядка не разрешима, а только частично разрешима, поэтому запросы часто будут , неизбежно не прекращаются.
Логика описания - это, по сути, разрешимый фрагмент логики первого порядка, переформулированный таким образом, чтобы можно было говорить о классах сущностей и их взаимосвязях. В Python есть много движков для логики описания, например seth , основанный на OWL-DL.
Если вы действительно уверены, что вам нужны просторы FOL, то стоит взглянуть на FLiP . Я не использовал его (если честно, не особо увлекаюсь Python), но это хороший подход к тому, чтобы сделать проверку логики доступной для языка программирования.