\section{Intro --- Verification with Dependent Types}

Specify and enforce rich data invariants.
\begin{itemize}
\item Higher-order logics, ie, Coq, F$\star$, Agda, 
expressive, but undecidable --- interactive proofs
\item Annotate program --- lower annotation burden \cite{OuTMW04} 
Static $\Rightarrow $ restrict expressiveness or dynamic checking
\end{itemize}
