27std::vector<std::unordered_map<std::string, bool>>
getTruthTableInputs(std::shared_ptr<Expression> lhs, std::shared_ptr<Expression> rhs);
37bool evaluateExpression(std::shared_ptr<Expression> expression, std::unordered_map<std::string, bool> inputs);
47bool isEquivalent(std::shared_ptr<Expression> lhs, std::shared_ptr<Expression> rhs);
Header file for expression class.
std::vector< std::unordered_map< std::string, bool > > getTruthTableInputs(std::shared_ptr< Expression > lhs, std::shared_ptr< Expression > rhs)
Generate the truth table inputs for the given expressions.
bool isEquivalent(std::shared_ptr< Expression > lhs, std::shared_ptr< Expression > rhs)
Check if two expressions are equivalent.
bool evaluateExpression(std::shared_ptr< Expression > expression, std::unordered_map< std::string, bool > inputs)
Evaluate the expression with the given inputs.