Confused on negation? My textbook has the following (see Page 8 of Eccles's An Introduction to Mathematical Reasoning):

Consider the following statement about a polynomial $f(x)$ with real coefficients, such as $x^2 + 3$ or $x^3 - x^2 - x$.

*

*For real numbers $a$, if $f(a) = 0$ then $a$ is positive (i.e. $a > 0$). Let us call this statement (*).

The negation of this statement is as follows.

*

*For some non-positive real number $a$, $f(a) = 0$. Let us call this statement (**).


However, this link tells me that the negation of a statement of the form "if $p$ then $q$" is "$p$ and not $q$." This seems  different to what my textbook is telling me. Are these two the same thing? Or are they not? Much thanks in advance.
 A: They are the same thing, but there is a universal quantifier that you have to take care of also. The original statement, the one named $(\ast)$, is not of the form
$$\textsf{if P, then Q}$$
It is of the form
$$\textsf{for all $a\in\mathbb{R}$:}\;\;\textsf{ if P($a$), then Q($a$)}$$
Thus, to negate it, you first negate the universal quantifier:
$$\textsf{there exists $a\in\mathbb{R}$:}\;\;{\Large\textsf{[}}\textsf{if P($a$), then Q($a$)}{\Large\textsf{]}}\textsf{ is false}$$
and you now apply the rule that you referenced:
$$\textsf{there exists $a\in\mathbb{R}$:}\;\;\textsf{P($a$) and not Q($a$)}$$
A: $p$ in your example would match with $f(a) = 0$, and $q$ with $(a > 0)$.
Think through both $(*)$ and $(**)$.
"If $p$ then $q$" translates to "If $f(a) = 0$ then $(a > 0)$". $(*)$
"$p$ and $¬q$" translates to "$f(a) = 0$ and not $(a > 0)$". $(**)$
Here you've recovered the natural language/mathematical statement of your each case by substituting each logical constant with its associated statement.
