I have read two variations of Axiom Schema of Replacement:
The first one is from https://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_theory#6._Axiom_schema_of_replacement, and is stated as:
$\forall \vec{w} \forall A [ \forall x (x\in A \implies\exists ! y \varphi(x,y,\vec{w}, A)) \implies \exists B \forall x (x \in A \implies \exists y (y \in B \land \varphi(x,y,\vec{w}, A)))]$
The second one is from Definability and the Separation and Replacement Axiom Schemata, and is stated as:
$\forall \vec{w} \forall A ( (\forall x \in A \exists ! y \varphi(x,y,\vec{w}, A) \implies (\exists B \forall y (y \in B \iff \exists x \in A \varphi(x,y,\vec{w}, A))))$
I would like to ask a few questions:
Why we use relation $\color{red}{\implies}$ in formula $\exists B \forall x (x \in A \color{red}{\implies} \exists y (y \in B \land \varphi(x,y,\vec{w}, A)))$, but relation $\color{blue}{\iff}$ in formula $(\exists B \forall y (y \in B \color{blue}{\iff} \exists x \in A \varphi(x,y,\vec{w}, A))))$.
I know $\color{red}{\vec{w}}$ is the vector of parameters in $\varphi(x,y,\color{red}{\vec{w}}, A)$. But why do we include $\color{blue}{A}$ in $\varphi(x,y,\vec{w}, \color{blue}{A})$ while $x$ is already in $\varphi(x,y,\vec{w}, \color{blue}{A})$? So what is the role of $\color{blue}{A}$ in $\varphi(x,y,\vec{w}, \color{blue}{A})$?
Is it TRUE that set $B$ from the $\color{red}{first}$ one is the $\color{red}{CODOMAIN}$ of the function defined by $\varphi(x,y,\vec{w}, A)$, while set $B$ from the $\color{blue}{second}$ one is exactly the $\color{blue}{RANGE}$ or $\color{blue}{IMAGE}$ of the function defined by $\varphi(x,y,\vec{w}, A)$?
Is it WRONG to use symbols $\color{red}{\exists ! y}$ ? Since $\color{red}{\exists ! y}$ means $\color{red}{\text{there exists only one y}}$, while Axiom schema of replacement states that $\color{blue}{\text{there's AT MOST one y}}$?
If there is any other differences between these two variations, please let me know!
Many thanks for your help!