public void And(LPSTerm term, InequalityType inequality)
 {
     constraints_.Add(new LPSConstraint {
         Inequality = inequality, Term = term
     });
     constraintCount_++;
 }
        // (left `binop` right), equivalently: (left - right `binop` 0)
        // NB: Allocates, does not overwrite the left or right term.
        public void And(LPSTerm left, InequalityType inequality, LPSTerm right)
        {
            LPSTerm t = LPSTerm.Const(0.0);

            t.Add(left);
            t.AddMul(right, -1.0);
            And(t, inequality);
        }