In our book, first order logical structures are defined as pairs $\mathfrak A = (A,(Z^{\mathfrak A})_{Z\in L})$, where $L$ is a signature, and A is the underlying set/carrier of $\mathfrak A$. ($Z^{\mathfrak A}$ can either be a constant, a function or a relation on $A$.)
Now I have to show, that for every nonempty subset $X$ of $\mathfrak {B}$ there exists a substructure [...].
Since $\mathfrak B$ is a tuple, how can I form a subset?
Side question: What does "$\upharpoonleft$" in $~~f^{\mathfrak A}= f^{\mathfrak B}\upharpoonleft A^n~$ mean? It's included in the definition for substructure, yet I can't find it anywhere else.
You're quite right that this doesn't quite make sense. "Subset of $\mathfrak{B}$" is shorthand for "subset of the domain of $\mathfrak{B}$" - that is, subset of $A$. This is an abuse of notation, but it's a fairly common one as it doesn't usually conflict with anything else.
Re: your side question, that just means "restricted to" (and usually points the other way - $\upharpoonright$ (upharpoonright) instead of $\upharpoonleft$ (upharpoonleft). $f\upharpoonright X$ is the same function as $f$, but with domain $X$ instead of whatever the domain of $f$ was.