]> matita.cs.unibo.it Git - helm.git/commitdiff
line breaking
authorStefano Zacchiroli <zack@upsilon.cc>
Wed, 1 Feb 2006 09:18:14 +0000 (09:18 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Wed, 1 Feb 2006 09:18:14 +0000 (09:18 +0000)
helm/papers/matita/matita2.tex

index 4883fa4ad1b04802b7f8c8ba16dc161d026067e0..5262e151b6a16c2d463f346a37cbf948ad48a5d1 100644 (file)
@@ -9,35 +9,23 @@
 \newcommand{\component}{component}
 \newcommand{\components}{components}
 
-\newcommand{\AUTO}{\textsc{Auto}}
 \newcommand{\BOXML}{BoxML}
 \newcommand{\COQ}{Coq}
-\newcommand{\COQIDE}{CoqIde}
-\newcommand{\ELIM}{\textsc{Elim}}
 \newcommand{\GDOME}{Gdome}
 \newcommand{\GTK}{GTK+}
 \newcommand{\GTKMATHVIEW}{\textsc{GtkMathView}}
 \newcommand{\HELM}{Helm}
 \newcommand{\HINT}{\textsc{Hint}}
-\newcommand{\IN}{\ensuremath{\dN}}
-\newcommand{\INSTANCE}{\textsc{Instance}}
-\newcommand{\IR}{\ensuremath{\dR}}
-\newcommand{\IZ}{\ensuremath{\dZ}}
-\newcommand{\LIBXSLT}{LibXSLT}
+% \newcommand{\IN}{\ensuremath{\dN}}
 \newcommand{\LEGO}{Lego}
-\newcommand{\LOCATE}{\textsc{Locate}}
-\newcommand{\MATCH}{\textsc{Match}}
 \newcommand{\MATHML}{MathML}
 \newcommand{\MATITA}{Matita}
 \newcommand{\MATITAC}{\texttt{matitac}}
 \newcommand{\MATITADEP}{\texttt{matitadep}}
 \newcommand{\MOWGLI}{MoWGLI}
 \newcommand{\MOWGLIIST}{IST-2001-33562}
-\newcommand{\NAT}{\ensuremath{\mathit{nat}}}
-\newcommand{\NATIND}{\mathit{nat\_ind}}
 \newcommand{\NUPRL}{NuPRL}
 \newcommand{\OCAML}{OCaml}
-\newcommand{\PROP}{\mathit{Prop}}
 \newcommand{\REF}[3]{\ensuremath{\mathit{Ref}_{#1}(#2,#3)}}
 \newcommand{\REWRITEHINT}{\textsc{RewriteHint}}
 \newcommand{\TEXMACRO}[1]{\texttt{\char92 #1}}
@@ -274,7 +262,7 @@ assistants. Among them, the advanced indexing tools over the library and
 the parser for ambiguous mathematical notation.
 
 The size and complexity improvements over \COQ{} must be understood
-historically. \COQ{}\cite{CoqArt} is a quite old
+historically. \COQ~\cite{CoqArt} is a quite old
 system whose development started 20 years ago. Since then,
 several developers have took over the code and several new research ideas
 that were not considered in the original architecture have been experimented
@@ -890,7 +878,7 @@ Consider the following command that states a theorem over integer numbers:
 
 \begin{grafite}
 theorem Zlt_compat:
-  \forall x, y, z. x < y \to y < z \to x < z.
+  \forall x,y,z. x < y \to y < z \to x < z.
 \end{grafite}
 
 The symbol \OP{<} is likely to be overloaded in the library
@@ -921,7 +909,7 @@ disambiguation of the command above, the script is altered as follows:
 \begin{grafite}
 alias symbol "lt" = "integer 'less than'".
 theorem Zlt_compat:
-  \forall x, y, z. x < y \to y < z \to x < z.
+  \forall x,y,z. x < y \to y < z \to x < z.
 \end{grafite}
 
 The ``alias'' command in the example sets the preferred alias for the
@@ -955,7 +943,7 @@ the disambiguator cannot always respect the user preferences.
 Consider, for example:
 \begin{grafite}
 theorem Zlt_mono:
-  \forall x, y, k. x < y \to x < y + k.
+  \forall x,y, k. x < y \to x < y + k.
 \end{grafite}
 
 No refinable partially specified term corresponds to the preferences:
@@ -984,7 +972,7 @@ have more chances of success.
 Consider now the following theorem:
 \begin{grafite}
 theorem lt_to_Zlt_pos_pos:
-  \forall n, m: nat. n < m \to pos n < pos m. 
+  \forall n,m: nat. n < m \to pos n < pos m. 
 \end{grafite}
 and assume that there exist in the library aliases for \OP{<} over natural
 numbers and over integer numbers. None of the passes described above is able to
@@ -1024,7 +1012,7 @@ the script.
 Consider the following theorem about derivation:
 \begin{grafite}
 theorem power_deriv:
-  \forall n: nat, x: R. d x ^ n dx = n * x ^ (n - 1).
+  \forall n: nat, x: R. d x^n dx = n * x^(n - 1).
 \end{grafite}
 and assume that in the library there is an alias mapping \OP{\^} to a partially
 specified term having type: \texttt{R \TEXMACRO{to} nat \TEXMACRO{to} R}. In
@@ -1197,7 +1185,7 @@ The basic tactic merely iterates the use of the \TAC{apply} tactic
 main parameters: the \emph{depth} (whit the obvious meaning), and the 
 \emph{width} that is the maximum number of (new) open goals allowed at
 any instant. \MATITA{} has only one notion of metavariable, corresponding
-to the so called existential variables of Coq; so, \MATITA's \TAC{auto}
+to the so called existential variables of \COQ; so, \MATITA's \TAC{auto}
 tactic should be compared with \COQ's \TAC{EAuto} tactic.
 
 Recently we have extended automation with paramodulation based 
@@ -1242,7 +1230,7 @@ qed.
 
 \begin{grafite}
 theorem example2: 
-  \forall x, y: nat. (x+y)*(x+y) = x*x + 2*x*y + y*y.
+  \forall x,y: nat. (x+y)*(x+y) = x*x + 2*x*y + y*y.
 intros; demodulate; reflexivity
 qed.
 \end{grafite}
@@ -1286,7 +1274,7 @@ Possible legal names are: \texttt{plus\_n\_O}, \texttt{plus\_O},
 
 Similarly, consider the statement
 \begin{grafite}
-\forall n, m: nat. n < m to n \leq m
+\forall n,m: nat. n < m to n \leq m
 \end{grafite}
 In this case \texttt{lt\_to\_le} is a legal name, 
 while \texttt{lt\_le} is not.
@@ -1298,7 +1286,7 @@ in this case, is the following. You should start with defining the
 symmetric property for relations:
 \begin{grafite}
 definition symmetric \def
-  \lambda A: Type. \lambda R. \forall x, y: A.
+  \lambda A: Type. \lambda R. \forall x,y: A.
     R x y \to R y x.
 \end{grafite}
 Then, you may state the symmetry of equality as:
@@ -1325,10 +1313,10 @@ The other special case is that of statements whose conclusion is a
 match expression. 
 A typical example is the following:
 \begin{grafite}
-\forall n, m: nat. 
+\forall n,m: nat. 
   match (eqb n m) with
   [ true  \Rightarrow n = m 
-  | false \Rightarrow n \neq m]
+  | false \Rightarrow n \neq m ]
 \end{grafite}
 where \texttt{eqb} is boolean equality.
 In this cases, the name can be build starting from the matched
@@ -1577,7 +1565,7 @@ command:
 \begin{grafite}
   pattern n at 2 in H
 \end{grafite}
-would have resulted in this sequent:
+would have resulted in the sequent:
 \sequent{n: nat\\m : nat\\H: (fun n0: nat => m + n = n0) n}{m = 0}
 where \texttt{H} is $\beta$-expanded over the second \texttt{n}
 occurrence. 
@@ -1658,8 +1646,8 @@ structuring the proof using the branching tactical.
 
 However, authoring a proof structured with tacticals is annoying.
 Consider for example a proof by induction, and imagine you
-are using one of the state of the art graphical interfaces for proof assistant:
-Proof General. After applying the induction principle you have to choose:
+are using one of the state of the art graphical interfaces for proof assistant
+like Proof General. After applying the induction principle you have to choose:
 immediately structure the proof or postpone the structuring.
 If you decide for the former you have to apply the branching tactical and write
 at once tactics for all the cases. Since the user does not even know the