1) testCondition should refer to current problem, not top-level function 2) In match, we should not add values to the eb of the problem if we don't add variables 3) When only input variables are involved, substitute them in the problem