# Difference between conditional and biconditional statement

So, I can see the difference between something like:

A. A car is green if it is made in England.

and

B. A car is green if and only if it is made in England.

Then, if you had a Russian-made green car, it would be true for A. but not for B. So B is a stricter form of A. I'm trying to see how I can apply this logic to the statement

A function $f: A \to B$ is surjective if and only if for all $b \in B$, there exists an $a \in A$ such that $f(a) = b$.

I think what this means that if it were just normally implied (if x then y), you could have a surjection without the property: $\forall b \in B, \exists a \in A: f(a) = b$; i.e. there could be another property that allows a function to be surjective. But in saying if and only if, we are ensuring that a function can only be surjective if it has this property?

-

You may find, however, that people take this distinction less literally in definitions than in theorems. That is, if a theorem says "If a function from $\mathbb R$ to $\mathbb R$ is continuous, it takes on all values between any two of its function values", it really means only that and leaves open the possibility that the "only if" statement doesn't hold; however, in definitions (and what you're quoting is the definition of "surjective"), "if" is often used to mean "if and only if"; that is, you may find definitions like "a number is said to be even if it is divisible by $2$", intended to mean "a number is said to be even if and only if it is divisible by $2$".