]> matita.cs.unibo.it Git - helm.git/commitdiff
notation intro
authorStefano Zacchiroli <zack@upsilon.cc>
Fri, 25 Nov 2005 11:11:27 +0000 (11:11 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Fri, 25 Nov 2005 11:11:27 +0000 (11:11 +0000)
helm/papers/matita/matita.tex

index d9a7a525f572972bb90800a547c1d25635a2a146..d4bfa8cb244cce5cf2c8dd87644ff0157fde9834 100644 (file)
@@ -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}