Very Simple Model Theory

I'm working through the fifth edition of Dirk van Dalen's 'Logic and Structure' and got stuck in section 4.3 on model theory.

Let a structure (of some type) be a tuple $\mathfrak{A} = (A; R_1, \ldots, R_n; f_1, \ldots f_m; \lbrace a_i : i \in I \rbrace)$, where the $R_j, f_k$ are relations and functions on the set $A$ and $a_i \in A$. Let $\hat{\mathfrak{A}} = (\mathfrak{A}, A)$. As usual, let the diagram of $\mathfrak{A}$ be the set of closed atoms and negated closed atoms true in $\mathfrak{A}$.

Now, I got to understand the proof of (part of) some very simple lemmas. Here's the first one (in van Dalen's numbering it appears as 4.3.8):

$\mathfrak{A}$ is isomorphic to some substructure of $\mathfrak{B} \Rightarrow \hat{\mathfrak{B}}$ is a model of the diagram of $\mathfrak{A}$

The proof offered is clear to me with the exception of the very first step: From the assumption it's supposed to follow (or so it seems to me) that $\mathfrak{A}, \mathfrak{B}$ are isomorphic. But why is that so?

Here's the second one (it is numbered as 4.3.9):

$\hat{\mathfrak{B}}$ is a model of the theory of $\hat{\mathfrak{A}} \Rightarrow \mathfrak{A}$ is isomorphic to some elementary substructure of $\mathfrak{B}$

It's evident how to show that $\mathfrak{A}$ is a substructure of $\mathfrak{B}$. But I have a hard time seeing how to prove that the two structures have the same true sentences with parameters in $\mathfrak{A}$, i.e. that for all $a_1, \ldots, a_n \in A, \mathfrak{A} \models \varphi(\bar{a_1}, \ldots, \bar{a_n})$ iff $\mathfrak{B} \models \varphi(\bar{a_1}, \ldots, \bar{a_n})$.

Any help would be appreciated.

Hint

For 4.3.8, we have that :

$$\mathfrak{A}$$ is isomorphic to some substructure of $$\mathfrak{B}$$.

We call this substructure $$\mathfrak{B}^*$$ and we have that : $$\mathfrak{A} \cong \mathfrak{B}^*$$ and this means [page 111] (considering the case of relations and simplifying the formula) that :

there is a function $$f$$ which is bijective and satisfies :

$$a\in P^{\mathfrak{A}}$$ iff $$\ f(a) \in P^{\mathfrak{B}^{*}}$$, for all $$P$$.

This is the same as :

$$\mathfrak A \vDash P(a) \$$ iff $$\mathfrak B^* \vDash P(f(a))$$.

Now the issue is : how to "move" from $$\mathfrak B^* \vDash P(f(a))$$ to $$\mathfrak B \vDash P(f(a))$$ ? This is ensured by the condition of embedding or substructure; see Definition 4.3.4 [page 112] and :

Notation $$\mathfrak{A} \subseteq \mathfrak{B}$$. Note that it is not sufficient for $$\mathfrak{A}$$ to be contained in $$\mathfrak{B}$$ “as a set”; the relations and functions of $$\mathfrak{B}$$ have to be extensions of the corresponding ones on $$\mathfrak{A}$$, in the specific way indicated above.

The "closure" of relations and functions in $$\mathfrak{B}^*$$ holds also for $$\mathfrak{B}$$.

The same argument applies to 4.3.9 : we have to take into account that $$\mathfrak{A} \subseteq \mathfrak{B}$$ means not only that $$|\mathfrak{A}| \subseteq |\mathfrak{B}|$$, but also that relations and functions in $$\mathfrak{B}$$ defined on elements in $$|\mathfrak{A}|$$ must be "closed" in $$|\mathfrak{A}|$$.