Це насправді дуже глибоко. Дивно, що Вікіпедія ніколи про це не згадує.
Те, що ви шукаєте, - дуже важкі докази, які, ймовірно, можуть бути досягнуті за допомогою таких речей, як доказів Fitch . Тож ми намагаємось вирахувати речі з наших даних. Є багато будівельників Fitch доказів, які роблять для вас багато роботи. Але деякі вправи просто не підтверджують.
Я не знаю, чи повинен користувач робити розрахунки. Якщо це так, пам’ятайте про такі речі, як 3SAT , які є невід’ємними проблемами для поліноміального часу.
Щодо структур даних, які ви хочете використовувати, я думаю, ви хочете мати якийсь Rule
клас. Правило може бути будь-яким, залежно від типу. У логіці предикатів не так багато правил , тому це можна подолати шляхом успадкування (if, iff, and, or, not ...). Ці правила лише повинні бути оцінені. І єдине, що може зробити правило, - це повернути справжнє або хибне. Тому що це ви робите з логікою предикатів. В університеті мені рекомендували прочитати цю книгу Джона Келлі .
Повернення до класів: Ви повинні побачити ці проблеми, як, наприклад, реалізацію звичайних обчислень з математики. Що таке +
оператор? Він містить два параметри, які можуть бути новим рівнянням самі по собі, або просто число. Я думаю, у вас те ж саме з Правилами. Вони можуть мати нові правила як параметр або просто булеві (так званий предикат).
Я сподіваюся, що це вам дуже допоможе, особливо посилання. Якщо ви хочете дізнатися більше, або якщо я йду в неправильному напрямку, будь ласка, скажіть мені.