\subsection{integers (part 2)} If we want to describe properties of the integers we need to extend the system with a symbol prop}, axioms and rules for this symbol. The new system is parameterized as follows: \begin{itemize} \item We add the special symbol prop} for propositions:
Specials} = $\{$ prop, type}$\}$ \item We add an axiom stating that prop} has type type}.
Axioms} = $\{$( int,type}),( prop,type})$\}$. \item We add rules for implication and quantification:
PiRules} = $\{$( prop,prop,prop}),( type,prop,prop}), ( type,type,type})$\}$. \item SigmaRules} = $\emptyset$. \end{itemize} Now we can add equality on integers eq}, with axioms eq\_refl, eq\_sym, eq\_trans} stating that eq} is an equivalence relation, to the context: \table mm\=mm\=mm\=mm\=mm\=mm\=mm\=mm\=mm\=mm\=\kill {\sf Declaration}(
\>{\tt subject=} eq},
\>{\tt type}={\sf PiType}(
\>\>{\tt domain=} int},
\>\>{\tt range=}{\sf PiType}(
\>\>\>{\tt domain=} int},
\>\>\>{\tt range=} prop}))),
{\sf Declaration}(
\>{\tt subject=} eq\_refl},
\>{\tt type=}{\sf PiType}(
\>\>{\tt local=}$x$,
\>\>{\tt domain=} int},
\>\>{\tt range=}{\sf Application}(
\>\>\>{\tt function=}{\sf Application}(
\>\>\>\>{\tt function=} eq},
\>\>\>\>{\tt argument=}$x$),
\>\>\>{\tt argument=}$x$))),
{\sf Declaration}(
\>{\tt subject=} eq\_sym},
\>{\tt type=}{\sf PiType}(
\>\>{\tt local=}$x$,
\>\>{\tt domain=} int},
\>\>{\tt range=}{\sf PiType}(
\>\>\>{\tt local=}$y$,
\>\>\>{\tt domain=} int},
\>\>\>{\tt range=}{\sf PiType}(
\>\>\>\>{\tt domain=}{\sf Application}(
\>\>\>\>\>{\tt function=}{\sf Application}(
\>\>\>\>\>\>{\tt function=} eq},
\>\>\>\>\>\>{\tt argument=}$x$),
\>\>\>\>\>{\tt argument=}$y$),
\>\>\>\>{\tt range=}{\sf Application}(
\>\>\>\>\>{\tt function=}{\sf Application}(
\>\>\>\>\>\>{\tt function=} eq},
\>\>\>\>\>\>{\tt argument=}$y$),
\>\>\>\>\>{\tt argument=}$x$))))),
{\sf Declaration}(
\>{\tt subject=} eq\_trans},
\>{\tt type}={\sf PiType}(
\>\>{\tt local=}$x$,
\>\>{\tt domain=} int},
\>\>{\tt range=}{\sf PiType}(
\>\>\>{\tt local=}$y$,
\>\>\>{\tt domain=} int},
\>\>\>{\tt range=}{\sf PiType}(
\>\>\>\>{\tt local=}$z$,
\>\>\>\>{\tt domain=} int},
\>\>\>\>{\tt range=}{\sf PiType}(
\>\>\>\>\>{\tt domain=}{\sf Application}(
\>\>\>\>\>\>{\tt function=}{\sf Application}(
\>\>\>\>\>\>\>{\tt function=} eq},
\>\>\>\>\>\>\>{\tt argument=}$x$),
\>\>\>\>\>\>{\tt argument=}$y$),
\>\>\>\>\>{\tt range=}{\sf PiType}(
\>\>\>\>\>\>{\tt domain=}{\sf Application}(
\>\>\>\>\>\>\>{\tt function=}{\sf Application}(
\>\>\>\>\>\>\>\>{\tt function=} eq},
\>\>\>\>\>\>\>\>{\tt argument=}$y$),
\>\>\>\>\>\>\>{\tt argument=}$z$),
\>\>\>\>\>\>{\tt range=}{\sf Application}(
\>\>\>\>\>\>\>{\tt function=}{\sf Application}(
\>\>\>\>\>\>\>\>{\tt function=} eq},
\>\>\>\>\>\>\>\>{\tt argument=}$x$),
\>\>\>\>\>\>\>{\tt argument=}$z$))))))) <\table> Now that equality has been added to the context, we can add properties to the context that the integers form a ring. We will give only one example, namely $0$ is a left-unit for $+$. \table mm\=mm\=mm\=mm\=mm\=mm\=mm\=mm\=mm\=mm\=\kill {\sf Declaration}(
\>{\tt subject=} left-unit\_$0\_+$},
\>{\tt type=}{\sf PiType}(
\>\>{\tt local=}$x$,
\>\>{\tt domain=} int}
\>\>{\tt range=}{\sf Application}(
\>\>\>{\tt function=}{\sf Application}(
\>\>\>\>{\tt function=} eq},
\>\>\>\>{\tt argument=}{\sf Application}(
\>\>\>\>\>{\tt function=}{\sf Application}(
\>\>\>\>\>\>{\tt function=}$+$
\>\>\>\>\>\>{\tt argument=}$0$)
\>\>\>\>\>{\tt argument=}$x$),
\>\>\>{\tt argument=}$x$)))) <\table>