I have to do a simple translation of a sentence in first-order logic to natural language. The sentence is $$\exists x \forall y (\text{soldier}(x) \land \text{general}(x,y)),$$
where $\text{soldier}(x) $ means "$x$ is a soldier" and $\text{general}(x,y)$ means "$x$ is the general of $y$".
Now this formula, as with a couple of minutes thinking, means in natural language $$\text{there is someone who is everyone's general.}$$
My question is: To what does that formula translate, if we replace $\land$ with $\rightarrow $ ?
Somehow it seems to me that in natural language it would mean the same, but that can't be, since $\exists x \forall y (\text{soldier}(x) \rightarrow \text{general}(x,y))$ is a different formula than the one above.
The sentence $$\exists x \forall y \; (\text{soldier}(x) \land \text{general}(x,y))$$ means there is someone who is everyone's general and also a soldier, while $$\exists x \forall y \; (\text{soldier}(x) \rightarrow \text{general}(x,y))$$ means if everyone is a soldier, one of them is everyone's general.
In the second case, if there is any $x$ who isn't a soldier, for every $y$ and this $x$ the formula under quantificators is true (since implication is true whenever the premise is false). So, your sentence is true whenever there is someone who is not a soldier; on the other hand, if everyone is a soldier, then sentence reduces to $$\exists x \forall y \; (\text{general}(x,y)).$$