sawine@13
|
1 |
\documentclass[a4paper, 10pt, pagesize, smallheadings]{article}
|
sawine@13
|
2 |
\usepackage{graphicx}
|
sawine@13
|
3 |
%\usepackage[latin1]{inputenc}
|
sawine@13
|
4 |
\usepackage{amsmath, amsthm, amssymb}
|
sawine@13
|
5 |
\usepackage{typearea}
|
sawine@13
|
6 |
\usepackage{algorithm}
|
sawine@13
|
7 |
\usepackage{algorithmic}
|
sawine@13
|
8 |
\usepackage{fullpage}
|
sawine@13
|
9 |
\usepackage{mathtools}
|
sawine@13
|
10 |
\usepackage[all]{xy}
|
sawine@13
|
11 |
\title{Theory I, Sheet 9 Solution}
|
sawine@13
|
12 |
\author{Eugen Sawin}
|
sawine@13
|
13 |
\renewcommand{\familydefault}{\sfdefault}
|
sawine@13
|
14 |
\newcommand{\Pos}{\mathcal{P}os}
|
sawine@13
|
15 |
\newcommand{\E}{\mathcal{E}}
|
sawine@13
|
16 |
\newcommand{\D}{\mathcal{D}}
|
sawine@13
|
17 |
\newcommand{\J}{\mathcal{J}}
|
sawine@13
|
18 |
\include{pythonlisting}
|
sawine@13
|
19 |
|
sawine@13
|
20 |
\pagestyle{empty}
|
sawine@13
|
21 |
\begin{document}
|
sawine@13
|
22 |
\maketitle
|
sawine@13
|
23 |
|
sawine@13
|
24 |
\section*{Exercise 9.1.3}
|
sawine@13
|
25 |
\begin{align*}
|
sawine@13
|
26 |
ADT_{bool} = &(\Sigma_{bool}, \E)\\
|
sawine@13
|
27 |
\Sigma_{bool} = &\{true^{(0)}, false^{(0)}, not^{(1)}, and^{(2)}, or^{(2)}\}\\
|
sawine@13
|
28 |
\E = &\{true \approx not(false),\\
|
sawine@13
|
29 |
& false \approx not(true),\\
|
sawine@13
|
30 |
& not(not(x)) \approx x\\
|
sawine@13
|
31 |
& and(x, y) \approx not(or(not(x), not(y))),\\
|
sawine@13
|
32 |
& or(x, y) \approx not(and(not(x), not(y)))\}\\
|
sawine@13
|
33 |
\end{align*}
|
sawine@13
|
34 |
|
sawine@13
|
35 |
\section*{Exercise 9.1.4}
|
sawine@13
|
36 |
\begin{align*}
|
sawine@13
|
37 |
\D_{bool} &= (M, \J)\\
|
sawine@13
|
38 |
M &= \{0, 1\}\\
|
sawine@13
|
39 |
\J(true) &= 1\\
|
sawine@13
|
40 |
\J(false) &= 0\\
|
sawine@13
|
41 |
\J(not)(x) &= 1 - x\\
|
sawine@13
|
42 |
\J(and)(x, y) &= min(x, y)\\
|
sawine@13
|
43 |
\J(or)(x, y) &= max(x, y)\\
|
sawine@13
|
44 |
\end{align*}
|
sawine@13
|
45 |
|
sawine@13
|
46 |
\end{document}
|