\section{Logical Algebra}

\definition{}
\textit{Logical operators} operate on the values $\{\texttt{true}, \texttt{false}\}$, \par
just like algebraic operators operate on numbers. \par
In this handout, we'll use the following operators:
\begin{itemize}
	\item $\lnot$: not
	\item $\land$: and
	\item $\lor$: or
	\item $\rightarrow$: implies
	\item $()$: parenthesis.
\end{itemize}

The function of these is defined by \textit{truth tables}:
\begin{center}
\begin{tabular}{ c | c | c }
	\multicolumn{3}{ c }{and} \\
	\hline
		$A$ & $B$ & $A \land B$ \\
	\hline
	\texttt{F} & \texttt{F} & \texttt{F} \\
	\texttt{F} & \texttt{T} & \texttt{F} \\
	\texttt{T} & \texttt{F} & \texttt{F} \\
	\texttt{T}& \texttt{T} & \texttt{T}
\end{tabular}
\hfill
\begin{tabular}{ c | c | c }
	\multicolumn{3}{ c }{or} \\
	\hline
		$A$ & $B$ & $A \lor B$ \\
	\hline
	\texttt{F} & \texttt{F} & \texttt{F} \\
	\texttt{F} & \texttt{T} & \texttt{T} \\
	\texttt{T} & \texttt{F} & \texttt{T} \\
	\texttt{T} & \texttt{T} & \texttt{T}
\end{tabular}
\hfill
\begin{tabular}{ c | c | c }
	\multicolumn{3}{ c }{implies} \\
	\hline
		$A$ & $B$ & $A \rightarrow B$ \\
	\hline
	\texttt{F} & \texttt{F} & \texttt{T} \\
	\texttt{F} & \texttt{T} & \texttt{T} \\
	\texttt{T} & \texttt{F} & \texttt{F} \\
	\texttt{T} & \texttt{T} & \texttt{T}
\end{tabular}
\hfill
\begin{tabular}{ c | c }
	\multicolumn{2}{ c }{not} \\
	\hline
		$A$ & $\lnot A$ \\
	\hline
	\texttt{T} & \texttt{F} \\
	\texttt{F} & \texttt{T} \\
	~ & ~ \\
	~ & ~ \\
\end{tabular}
\end{center}

\vspace{2mm}

$A \land B$ is \texttt{true} only if both $A$ and $B$ are \texttt{true}. $A \lor B$ is \texttt{true} if $A$ or $B$ (or both) are \texttt{true}. \par
$\lnot A$ is the opposite of $A$, which is why it looks like a \say{negative} sign. \par

\vspace{2mm}

$A \rightarrow B$ is a bit harder to understand. Read aloud, this is \say{$A$ implies $B$.} \par
The only time $\rightarrow$ produces \texttt{false} is when $\texttt{true} \rightarrow \texttt{false}$.
This fact may seem counterintuitive, but will make more sense as we progress through this handout. \par
\hint{
	Think about it---if event $\alpha$ implies $\beta$, it is impossible for $\alpha$ to occur without $\beta$. \par
	This is the only impossibility. All other variants are valid.
}

\problem{}
Evaluate the following.
\begin{itemize}
	\item $\lnot \texttt{T}$
	\item $\texttt{F} \lor \texttt{T}$
	\item $\texttt{T} \land \texttt{T}$
	\item $(\texttt{T} \land \texttt{F}) \lor \texttt{T}$
	\item $(\lnot (\texttt{F} \lor \lnot \texttt{T}) ) \rightarrow \lnot \texttt{T}$
	\item $(\texttt{F} \rightarrow \texttt{T}) \rightarrow (\lnot \texttt{F} \lor \lnot \texttt{T})$
\end{itemize}

\begin{solution}
	\texttt{F}
	\texttt{T}
	\texttt{T}
	\texttt{T}
	\texttt{F}
	\texttt{T}
\end{solution}

\vfill
\pagebreak












\begin{instructornote}
	We can also think of $[x \geq 0] \rightarrow b$ as follows:
	if $x$ isn't the kind of object we care about, we evaluate true and
	check the next one. If $x$ \textit{is} the kind of object we care about
	and $b$ is false, we have a counterexample to $[x \geq 0] \rightarrow b$,
	and thus $\texttt{T} \rightarrow \texttt{F}$ must be false.


	\vspace{2mm}

	Say we have the sentence $\forall x ~ (a \rightarrow b)$. \par
	For example, take $\varphi = \forall x ~ ([x \geq 0] \rightarrow [\exists y ~ y^2 = x])$. \par
	$\varphi$ holds whenever any positive $x$ has a square root.

	\vspace{2mm}

	If $(\text{F} \rightarrow *)$ returned false, statements like the above would be hard to write. \par
	If $x$ is negative, $\varphi$ doesn't care whether or not it has a root. In this case, $\text{F} \rightarrow *$ must be true to avoid making whole $\forall$ false.
\end{instructornote}


\problem{}
Evaluate the following.
\begin{itemize}
	\item $A \rightarrow \texttt{T}$ for any $A$
	\item $(\lnot (A \rightarrow B)) \rightarrow A$ for any $A, B$
	\item $(A \rightarrow B) \rightarrow (\lnot B \rightarrow \lnot A)$ for any $A, B$
\end{itemize}

\begin{instructornote}
	Note that the last formula is the contrapositive of $A \rightarrow B$.
\end{instructornote}

\begin{solution}
	All are true.
\end{solution}

\vfill

% Show that A -> B ^ B -> A = T iff A = B

\problem{}
Show that $\lnot (A \rightarrow \lnot B)$ is equivalent to $A \land B$. \par
That is, show that these expressions always evaluate to the same value given
the same $A$ and $B$. \par
\hint{Use a truth table}

\vfill

\problem{}
Write an expression equivalent to $A \lor B$ using only $\lnot$, $\rightarrow$, and $()$.

\begin{solution}
	$((\lnot A) \rightarrow B)$
\end{solution}

\vfill

Note that both $\land$ and $\lor$ can be defined using the other logical symbols. \par
The only logical symbols we \textit{need} are $\lnot$, $\rightarrow$, and $()$. \par
We include $\land$ and $\lor$ to simplify our expressions.

\pagebreak