From: Stefano Zacchiroli Date: Fri, 25 Nov 2005 11:11:27 +0000 (+0000) Subject: notation intro X-Git-Tag: make_still_working~8110 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=787788af714dc5ca1bd80f036c149592d7dc0088;p=helm.git notation intro --- diff --git a/helm/papers/matita/matita.tex b/helm/papers/matita/matita.tex index d9a7a525f..d4bfa8cb2 100644 --- a/helm/papers/matita/matita.tex +++ b/helm/papers/matita/matita.tex @@ -749,10 +749,37 @@ can be found in~\cite{disambiguation}, where a formulation without backtracking \subsubsection{Disambiguation stages} -\subsection{notazione} +\subsection{notation} \label{sec:notation} \ASSIGNEDTO{zack} +Mathematical notation plays a fundamental role in mathematical practice: it +helps expressing in a concise symbolic fashion concepts of arbitrary complexity. +Its use in proof assistants like \MATITA{} is no exception. Formal mathematics +indeed often impose to encode mathematical concepts at a very high level of +details (e.g. Peano numbers, implicit arguments) having a restricted toolbox of +syntactic constructions in the calculus. + +Consider for example one of the point reached while proving the distributivity +of times over minus on natural numbers included in the \MATITA{} standards +library. (Part of) the reached sequent can be seen in \MATITA{} both using the +notation for various arithmetical and relational operator or without using it. +The sequent rendered without using notation would be as follows: +\sequent{ +\mathtt{H}: \mathtt{le} z y\\ +\mathtt{Hcut}: \mathtt{eq} \mathtt{nat} (\mathtt{plus} (\mathtt{times} x (\mathtt{minus} +y z)) (\mathtt{times} x z))\\ +(\mathtt{plus} (\mathtt{minus} (\mathtt{times} x y) (\mathtt{times} x z)) +(\mathtt{times} x z))}{ +\mathtt{eq} \mathtt{nat} (\mathtt{times} x (\mathtt{minus} y z)) (\mathtt{minus} +(\mathtt{times} x y) (\mathtt{times} x z))} +while the corresponding sequent rendered with notation enabled would be: +\sequent{ +H: z\leq y\\ +Hcut: x*(y-z)+x*z=x*y-x*z+x*z}{ +x*(y-z)=x*y-x*z} + + \subsection{mathml} \ASSIGNEDTO{zack}