X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fpapers%2Fmatita%2Fmatita.tex;h=d4bfa8cb244cce5cf2c8dd87644ff0157fde9834;hb=ffbef6329458347da5805b12c98819cc0ce4ab73;hp=d9a7a525f572972bb90800a547c1d25635a2a146;hpb=57f5d19fdce7c88486fe834d1150c519007d205d;p=helm.git 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}