public virtual Formula Visit(NotEqualFormula formula)
 {
     Visit((BinaryFormula)formula);
     return visitor.Visit(formula);
 }
 public Formula Visit(NotEqualFormula formula)
 {
     return formula;
 }
 public static void EvalNotEqual(BinaryExpression exp, ExpressionToFormulaState state)
 {
     EvalExpression(exp.Left, state);
     var left = state.CurrentBlock.Formulas.Pop();
     EvalExpression(exp.Right, state);
     var right = state.CurrentBlock.Formulas.Pop();
     var notEqual = new NotEqualFormula() { Left = left, Right = right };
     state.CurrentBlock.Formulas.Push(notEqual);
 }