I often write my notes as logical statements and constantly wonder why people use only the "if" direction in the definitions instead of the "if and only if". Consider:
"A homomorphism $\phi$ is said to be an isomorphism if it is an injection and a surjection." would translate to:
$homomorphism(\phi) \wedge injection(\phi) \wedge surjection(\phi) \implies isomorphism(\phi)$
By adding the following statement consistent with the previous one:
$homomorphism(\phi) \wedge \neg injection(\phi) \wedge surjection(\phi) \implies isomorphism(\phi)$
we could deduce
$homomorphism(\phi) \wedge surjection(\phi) \implies isomorphism(\phi)$
which is obviously not what we intended to express in the definition, however the intention does not imply the deed.
From the strict logical perspective do you agree that all definitions of this form are "flawed" owing to the lack of the attention to details? Or is there some reason which I have not managed to observe that explains why "if" is used in lieu of "if and only if"? Would you accept if I write in papers definitions in the iff version? I.e. "A homomorphism $\phi$ is an isomorphism if and only if it is an injection and a surjection."