aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authormsozeau2008-05-12 12:27:25 +0000
committermsozeau2008-05-12 12:27:25 +0000
commit7248f6cccfcca2b0d59b244e8789590794aefc45 (patch)
tree8979753245e2ff2ef183d37ba324f64c90b5d337 /doc
parentbba897d5fd964bef0aa10102ef41cee1ac5fc3bb (diff)
- Add -unicode flag to coqtop (sets Flags.unicode_syntax). Used to
change the default pretty-printing to use Π, λ instead of forall and fun (and allow "," as well as "=>" for "fun" to be more consistent with the standard forall and exists syntax). Parsing allows theses new forms too, even if not in -unicode, and does not make Π or λ keywords. As usual, criticism and suggestions are welcome :) Not sure what to do about "->"/"→" ? - [setoid_replace by] now uses tactic3() to get the right parsing level for tactics. - Type class [Instance] names are now mandatory. - Document [rewrite at/by] and fix parsing of occs to support their combination. - Backtrack on [Enriching] modifier, now used exclusively in the implementation of implicit arguments. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10921 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'doc')
-rw-r--r--doc/refman/RefMan-ltac.tex2
-rw-r--r--doc/refman/RefMan-tac.tex31
-rw-r--r--doc/refman/Setoid.tex4
3 files changed, 27 insertions, 10 deletions
diff --git a/doc/refman/RefMan-ltac.tex b/doc/refman/RefMan-ltac.tex
index fc5f4e4cb6..7ef9078db4 100644
--- a/doc/refman/RefMan-ltac.tex
+++ b/doc/refman/RefMan-ltac.tex
@@ -832,7 +832,7 @@ possible with the syntax:
{\tt with} {\ident}$_n$ {\ident}$_{n,1}$ ... {\ident}$_{n,m_n}$~~{\tt :=}
{\tacexpr}$_n$
\end{quote}
-
+\medskip
It is also possible to \emph{redefine} an existing user-defined tactic
using the syntax:
\begin{quote}
diff --git a/doc/refman/RefMan-tac.tex b/doc/refman/RefMan-tac.tex
index 5ccbaf1302..44c519e997 100644
--- a/doc/refman/RefMan-tac.tex
+++ b/doc/refman/RefMan-tac.tex
@@ -2008,16 +2008,18 @@ must have the form
\noindent where \texttt{eq} is the Leibniz equality or a registered
setoid equality.
-\noindent Then {\tt rewrite \term} replaces every occurrence of
-\term$_1$ by \term$_2$ in the goal. Some of the variables x$_1$ are
+\noindent Then {\tt rewrite \term} finds the first subterm matching
+\term$_1$ in the goal, resulting in instances \term$_1'$ and \term$_2'$
+and then replaces every occurrence of \term$_1'$ by \term$_2'$.
+Hence, some of the variables x$_i$ are
solved by unification, and some of the types \texttt{A}$_1$, \dots,
\texttt{A}$_n$ become new subgoals.
-\Rem In case the type of
-\term$_1$ contains occurrences of variables bound in the
-type of \term, the tactic tries first to find a subterm of the goal
-which matches this term in order to find a closed instance \term$'_1$
-of \term$_1$, and then all instances of \term$'_1$ will be replaced.
+% \Rem In case the type of
+% \term$_1$ contains occurrences of variables bound in the
+% type of \term, the tactic tries first to find a subterm of the goal
+% which matches this term in order to find a closed instance \term$'_1$
+% of \term$_1$, and then all instances of \term$'_1$ will be replaced.
\begin{ErrMsgs}
\item \errindex{The term provided does not end with an equation}
@@ -2056,6 +2058,21 @@ This happens if \term$_1$ does not occur in the goal.
Orientation {\tt ->} or {\tt <-} (or {\tt +} or {\tt -}) can be
inserted before the term to rewrite.
+\item {\tt rewrite {\term} at \textit{occurrences}}
+ \tacindex{rewrite \dots\ at}
+
+ Rewrite only the given occurrences of \term$_1'$. Occurrences are
+ specified from left to right as for \texttt{pattern} (\S
+ \ref{pattern}). The rewrite is always performed using setoid
+ rewriting, even for leibniz equality, so one has to
+ \texttt{Import Setoid} to use this variant.
+
+\item {\tt rewrite {\term} by {\tac}}
+ \tacindex{rewrite \dots\ by}
+
+ Use {\tac} to completely solve the side-conditions arising from the
+ rewrite.
+
\item {\tt rewrite $\term_1$, \ldots, $term_n$}\\
Is equivalent to the $n$ successive tactics {\tt rewrite $\term_1$}
up to {\tt rewrite $\term_n$}, each one working on the first subgoal
diff --git a/doc/refman/Setoid.tex b/doc/refman/Setoid.tex
index 8bdf6ab0a2..d2b6d11516 100644
--- a/doc/refman/Setoid.tex
+++ b/doc/refman/Setoid.tex
@@ -540,7 +540,7 @@ the prefixed tactics it is possible to pass additional arguments such as
The \texttt{using relation}
arguments cannot be passed to the unprefixed form. The latter argument
-tells the tactic what parametric relation should be used to replace
+tells the tactic what parametric relation should be used to replace
the first tactic argument with the second one. If omitted, it defaults
to the \texttt{DefaultRelation} instance on the type of the objects.
By default, it means the most recent \texttt{Equivalence} instance in
@@ -679,7 +679,7 @@ If a signature mentions a relation $R$ on the left of an arrow
is smaller than $R$, and the inverse applies on the right of an arrow.
One can then declare only a few morphisms instances that generate the complete set
of signatures for a particular constant. By default, the only declared
-subrelations is \texttt{iff}, which is a subrelation of \texttt{impl}
+subrelation is \texttt{iff}, which is a subrelation of \texttt{impl}
and \texttt{inverse impl} (the dual of implication). That's why we can
declare only two morphisms for conjunction:
\verb|Morphism (impl ==> impl ==> impl) and| and