\documentclass[11pt]{article}
\usepackage{fullpage}
\usepackage{pslatex}
\usepackage{amsmath,amsthm,amssymb}

%% part of a problem
\newcommand{\task}[2]
  {\bigskip \noindent
   {\bf Task #1} (#2 pts).}

\newcommand{\ectask}[1]
  {\bigskip \noindent
   {\bf Task #1} (Extra Credit).}

\newcommand{\dsd}[1]{\ensuremath{\mathsf{#1}}}
\newcommand{\irl}[1]{\texttt{#1}}

\newcommand{\true}[1]{\ensuremath{#1 \, \dsd{true}}}

\title{Assignment 4: \\
       Classical Logic}
\author{15-317: Constructive Logic}
\date{Out: Thursday, September 25, 2008 \\
Due: Thursday, October 2, 2008, before class}

\begin{document}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}[theorem]{Lemma}

\maketitle

This week's homework is a little shorter than usual, to leave you time
to prepare for the midterm on Thursday, October 2.  If you hand the
homework in in class on Tuesday, we will return it in recitation on
Wednesday, so you can get feedback before the exam.

\section{Classical and Constructive Proofs}

For each proposition $A$:
\begin{enumerate}
\item[i)] Give a proof in classical logic.  You may present your proof
  as either a natural deduction tree or as a proof term.
\item[ii)]  Compute the double-negation translation $A^*$.  
\item[iii)] Give a proof of $A^*$ in constructive logic.  You may
present your proof either as a natural deduction tree, as a proof term,
or in Tutch.
\end{enumerate}

\noindent See the Lecture 9 and 10 notes on classical logic and
the double-negation translation.  

\begin{enumerate}
\item $P \vee \neg P$
\item $((P \supset Q) \supset P) \supset P$
\item $\neg (P \wedge Q) \supset (\neg P \vee \neg Q)$
\item $(P \supset Q) \supset (\neg P \vee Q)$
\item $(P \supset (Q \vee R)) \supset ((P \supset Q) \vee (P \supset R))$
\item $(P \supset Q) \vee (Q \supset P)$
\end{enumerate}

\end{document}
