Эквивалентные логические выражения с таблицей истинности в Java - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу убедиться, что одно логическое выражение математически эквивалентно другому.

Допустим, у нас есть 3 логические переменные: a, b, c. Выражение X = ((a || b) && !c). Затем я переписываю некоторый код, и получается, что Y = !(((!a && !b) || c) && true).

Мои вопросы :

  • Есть ли возможность проверить на лету, что выражения X и Y одинаковы для всех входных данных?
  • Есть ли возможность сжать выражения, чтобы Y упрощался?
  • Я хочу увидеть таблицу истинности для X, Y с входами a, b, c.

Отказ от ответственности : я знаю, что могу написать программу для разных входов переменных и выходов X и Y. Я подумал о синтаксическом синтаксическом анализаторе, который, вероятно, мог бы также анализировать другие переменные (например, n<100) вместо просто a, чтобы я мог вставить код операторов if в качестве ввода.

Привет и спасибо за ваши мысли!

...