Если в ваших выражениях есть только константы, вы должны быть в безопасности от неразрешимости (я думаю!). Проблемы возникают, как только вы можете выразить, например, общие утверждения о целых числах с + - * / (см. арифметика Пеано ).
Даже если вы остаетесь в области разрешимости, не существует алгоритма, который мог бы принимать произвольные операторы P (x) и Q (x) и вычислять оператор R (x), эквивалентный P (x) & Q (x) для всех x, где x может охватывать любой домен (целые числа, строки, матрицы, действительные числа, комплексные числа, логические операторы [упс, обратно в неразрешимую территорию!], ...). Вам нужны специфические для домена приемы и строго разграниченные языки , в которых сформулированы P, Q и R. Для определенных доменов существуют программные продукты - один из них называется Mathematica ...
Попытайтесь вернуться к основам: какую проблему вы пытаетесь решить?