aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/refman
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-02-21 16:39:39 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-02-21 16:39:39 +0000
commit9e1d18d33fd740e53962db4a5ea33ac485d8ba09 (patch)
tree545236359c90fafad2c9388f37e0c838ac9943db /doc/refman
parent760e1e8ae75b168183e56248e0f8ee1a59a09265 (diff)
Added missing documentation of Set Printing Existential Instances.
Also started a preliminary documentation about evars (where to have it in the doc is somehow open). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16234 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'doc/refman')
-rw-r--r--doc/refman/RefMan-ext.tex41
-rw-r--r--doc/refman/RefMan-pro.tex3
2 files changed, 43 insertions, 1 deletions
diff --git a/doc/refman/RefMan-ext.tex b/doc/refman/RefMan-ext.tex
index fa7c58de8..9c7e7d1df 100644
--- a/doc/refman/RefMan-ext.tex
+++ b/doc/refman/RefMan-ext.tex
@@ -1854,6 +1854,47 @@ printed in the DOT language, and can be processed by Graphviz
tools. The format is unspecified if {\str} doesn't end in
\texttt{.dot} or \texttt{.gv}.
+\section[Existential variables]{Existential variables\label{ExistentialVariables}}
+
+Coq terms can include existential variables. An existential variable
+is a placeholder intended to eventually be replaced by an actual
+subterm though which subterm it will be replaced by is still unknown.
+
+Existential variables are generated in place of unsolvable implicit
+arguments when using commands such as \texttt{Check} (see
+Section~\ref{Check}) or in place of unsolvable instances when using
+tactics such as \texttt{eapply} (see Section~\ref{eapply}). They can
+only appear as the result of a command displaying a term and they are
+represented by ``?'' followed by a number. They cannot be entered by
+the user (though they can be generated from ``\_'' when the
+corresponding implicit argument is unsolvable).
+
+A given existential variable name can occur several times in a term
+meaning the corresponding expected instance is shared. Each
+existential variable is relative to a context, as shown by {\tt Show
+ Existential} when in the process of proving a goal (see
+Section~\ref{ShowExistentials}). Henceforth, each occurrence of an
+existential variable in a term is subject to an instance of the
+variables of its context of definition which is specific to this
+occurrence.
+
+\subsection{Explicit displaying of existential instances for pretty-printing
+\comindex{Set Printing Existential Instances}
+\comindex{Unset Printing Existential Instances}}
+
+The command:
+\begin{quote}
+{\tt Set Printing Existential Instances}
+\end{quote}
+activates the display of how the context of an existential variable is
+instantiated on each of its occurrences.
+
+To deactivate the display of the instances of existential variables, use
+\begin{quote}
+{\tt Unset Printing Existential Instances.}
+\end{quote}
+
+
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "Reference-Manual"
diff --git a/doc/refman/RefMan-pro.tex b/doc/refman/RefMan-pro.tex
index 054a3261a..bf02991e0 100644
--- a/doc/refman/RefMan-pro.tex
+++ b/doc/refman/RefMan-pro.tex
@@ -378,7 +378,8 @@ In the case of a non-product goal, it prints nothing.
This command is similar to the previous one, it simulates the naming
process of an {\tt Intros}.
-\item{\tt Show Existentials}\comindex{Show Existentials}\\ It displays
+\item{\tt Show Existentials\label{ShowExistentials}}\comindex{Show Existentials}
+\\ It displays
the set of all uninstantiated existential variables in the current proof tree,
along with the type and the context of each variable.