\documentclass{article}

\usepackage{fullpage,parskip}
\usepackage{amsmath,amssymb}
\usepackage{xcolor}

\newcommand{\XXX}{{\color{red} \textsf{\textbf{XXX}}}}

\begin{document}

\noindent
% fill in the XXXs below
{\Large CS054 Informal HW Lists \hfill Name: \XXX \qquad CAS ID: \XXX} \\[.5em]
% We encourage you to collaborate, but please list any other students
% you talked to about the homework. If you worked alone, please just
% remove the XXXs.
%
% NOTE: However much you work with other students, you must write your
% solution yourself.
Collaborators: \XXX

% Okay! Solve the problems below. please don't delete the problem
% statement after `\item` or the `enumerate' bracketing which provides
% the numbering. Make sure the `\clearpage` comes after your answer.

\begin{enumerate}

\item Define a function $zeros : nat -> natlist$ that, given a natural
    $n$, produces a list of $n$ zeroes. You can use either Coq
    notation or, if you're comfortable with it, mathematical notation.

    \textbf{Definition:} \XXX

    Prove the following therem about your function.

    \textbf{Theorem:} For all natural numbers $n$, we have $\texttt{sum\_natlist}(zeros(n)) = 0$.

    \textbf{Proof:} \XXX
    \clearpage

\item Consider the following inductive definition:

\begin{verbatim}
Inductive baz : Type :=
  | Baz1 (x : baz)
  | Baz2 (y : baz) (b : bool).
\end{verbatim}

  How \emph{many} elements does the type \texttt{baz} have? (Explain
  your answer in words, preferrably English.)

  \textbf{Answer:} \XXX
  \clearpage

\item Prove for all $n$ that $\sum_{i=0}^n 2^i = 2^{n+1} - 1$.

  % Please use the format below for all of your primitive inductive
  % proofs, changing variables as necessary. This format is also nice
  % for case analysis on natural numbers!
  \textbf{Proof:} By induction on $n$.
  %
  \begin{itemize}
  \item[($n=0$)] \XXX
  \item[($n=n'+1$)] \XXX
  \end{itemize}
  
\end{enumerate}
\end{document}
