\section{Structures}

\definition{}<def:language>
A \textit{language} is a set of meaningless symbols. Here are a few examples:
\begin{itemize}
	\item $\{a, b, ..., z\}$
	\item $\{0, 1\}$
	\item $\mathbb{Z}$, $\mathbb{R}$, etc.
\end{itemize}

Every language comes with the equality check $=$, which checks if two elements are the same.


\definition{}
A \textit{structure} over a language $\mathcal{L}$ consists of three sets:
\begin{itemize}
	\item A set of \textit{constant symbols} $\mathcal{C}$ \par
		Constant symbols let us specify specific elements of our language. \par
		$\mathcal{C}$ must thus be a subset of $\mathcal{L}$.
		\vspace{3mm}


	\item A set of \textit{function symbols} $\mathcal{F}$ \par
		Function symbols let us navigate between elements of our language. \par
		$+$, $-$ are functions, as are $\sin{x}$, $\cos{x}$, and $\sqrt{x}$ \par
		Functions take inputs in $\mathcal{L}$ and produce outputs in $\mathcal{L}$.
		\vspace{3mm}

	\item A set of \textit{relation symbols} $\mathcal{R}$ \par
		Relation symbols let us compare elements of our language. \par
		You are already familiar with this concept: $>$, $<$, and $\leq$ are relation symbols. \par
		$=$ is \textbf{not} a relational symbol. Why? \hint{See \ref{def:language}}

\end{itemize}

\vspace{2mm}

The purpose of a structure is to give a language meaning. This is best explained by example.

\vspace{3mm}


\example{}
\def\structgeneric{\ensuremath{}}

The first structure we'll look at is the following:
$$
	\Bigl(
		\mathcal{L} ~\big|~ \{\mathcal{C}, ~ \mathcal{F}, ~ \mathcal{R}\}
	\Bigr)
	=
	\Bigl( \mathbb{Z} ~\big|~ \{0, 1, ~ +, -, ~ <\} \Bigr)
$$

\vspace{2mm}

This is a structure over $\mathbb{Z}$ with the following symbols:
\begin{itemize}
	\item $\mathcal{C} = \{0, 1\}$   \tab \note{(constants)}
	\item $\mathcal{F} = \{+, -\}$   \tab \note{(functions)}
	\item $\mathcal{R} = \{<\}$      \tab \note{(relations)}
\end{itemize}

\vspace{2mm}

Let's look at $\mathcal{C}$, our set of constant symbols. The only integers we can directly refer to in this structure are 0 and 1. If we want any others, we must define them using the tools the structure offers.

\vspace{1mm}

Say we want the number 2. We could use the function $+$ to define it: $2 \coloneqq [x \text{ where } 1 + 1 = x]$ \par
We would write this as $2 \coloneqq [x \text{ where } +(1, 1) = x]$ in proper \say{functional} notation.


\problem{}
Can we define $-1$ in $\Bigl( \mathbb{Z} ~\big|~ \{0, 1, +, -, <\} \Bigr)$? If so, how?

\vfill

\problem{}
Can we define $-1$ in $\Bigl( \mathbb{Z} ~\big|~ \{0, +, -, <\} \Bigr)$? \par
\hint{In this problem, $1$ has been removed from the set of constant symbols.}

\vfill
\pagebreak

Let us formalize what we found in the previous two problems. \par

\definition{}
A \textit{formula} in a structure $S$ is a well-formed string of constants, functions, and relations. \par

\vspace{2mm}

You already know what a \say{well-formed} string is: $1 + 1$ is fine, $\sqrt{+}$ is nonsense. \par
For the sake of time, I will not provide a formal definition. It isn't particularly interesting.


\definition{Definable Elements}
Say $S$ is a structure over a language $\mathcal{L}$. \par
We say an element $e$ of $\mathcal{L}$ is \textit{definable in $S$} if we can write a formula that only $e$ satisfies.


\problem{}
Can we define 2 in the structure $\Bigl( \mathbb{Z^+} ~\big|~ \{4, \times \} \Bigr)$? \par
\hint{$\mathbb{Z}^+ = \{1, 2, 3, ...\}$}

\begin{solution}
	Yes! $-2$ no longer exists, so $2$ can be defined by $[x \text{ where } x \times x = 4]$.
\end{solution}

\vfill


\problem{}
Can we define 2 in the structure $\Bigl( \mathbb{Z} ~\big|~ \{4, \times \} \Bigr)$?

\begin{solution}
	No. We could try $[x \text{ where } x \times x = 4]$, but this is satisfied by both $2$ and $-2$. \\
	We have no way to distinguish between negative and positive numbers.
\end{solution}

\vfill


\problem{}
What is definable in the structure $\Bigl( \mathbb{R} ~\big|~ \{1, 2, \div \} \Bigr)$?

\begin{solution}
	All powers of two, positive and negative.
\end{solution}

\vfill
\pagebreak