Это идет очень глубоко на самом деле. Странно, что Википедия никогда не упоминает о нем.
То , что вы ищете очень жесткие доказательства , которые могут, вероятно, быть достигнуты с такими вещами как Fitch доказательства . Таким образом, мы пытаемся вычесть вещи из наших данных. Есть много Fitch доказательств строителей , которые делают много работы для вас. Но некоторые упражнения просто не для доказательства.
Я не знаю , если пользователь должен делать расчеты. Если да, то знать о таких вещах , как 3SAT , которые невыполнимая задача для полиномиального времени.
Что касается структур данных , которые вы хотите использовать, я думаю , что вы хотите иметь какой - то Rule
класс. Правило может быть что угодно, в зависимости от типа. Есть не много правил в предикатных логик , так что это может быть преодолена путем наследования (если, тогда и только тогда, и, или, не ...). Эти правила должны быть оценены только. И единственное правило может сделать, это вернуть истинным или ложным. Потому что это то , что вы делаете с предикатных логик. В университете я рекомендовал читать эту книгу Джона Келли .
Возвращаясь к классам: вы должны увидеть эти проблемы, как если бы вы выполняли обычные вычисления с помощью математики. Что такое +
оператор? Она содержит два параметра, которые могут быть новое уравнение само по себе, или только номер. Я думаю, что у вас то же самое с правилами. Они могут иметь новые правила в качестве параметра или просто логическое значение (так называемый предикат).
Я надеюсь, что это вам очень поможет, особенно ссылки. Если вы хотите узнать больше, или если я иду в неправильном направлении, пожалуйста, скажите мне.