\begin{section}{Semantics} \begin{subsection}{MiniImp} The semantic of the MiniImp language is implemented in the \href{../lib/miniImp/Semantics.mli}{Semantics.mli} and \href{../lib/miniImp/Semantics.ml}{Semantics.ml} file. A \texttt{reduce} function is provided that transforms an AST into the evaluated value or an error. The AST type is defined in \href{../lib/miniImp/Types.mli}{Types.mli} and in \href{../lib/miniImp/Types.ml}{Types.ml}. A program \texttt{p} is defined as follows: \begin{grammar}
\(\defeq\) `def main with input'