aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/RefMan-com.tex
diff options
context:
space:
mode:
authorGravatar filliatr <filliatr@85f007b7-540e-0410-9357-904b9bb8a0f7>2000-12-12 22:36:15 +0000
committerGravatar filliatr <filliatr@85f007b7-540e-0410-9357-904b9bb8a0f7>2000-12-12 22:36:15 +0000
commitb6018c78b25da14d4f44cf10de692f968cba1e98 (patch)
treec152b9761b70cbc554efdc2f05f3a995444ed259 /doc/RefMan-com.tex
parent88e2679b89a32189673b808acfe3d6181a38c000 (diff)
Initial revision
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@8143 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'doc/RefMan-com.tex')
-rwxr-xr-xdoc/RefMan-com.tex251
1 files changed, 251 insertions, 0 deletions
diff --git a/doc/RefMan-com.tex b/doc/RefMan-com.tex
new file mode 100755
index 000000000..88cf650a1
--- /dev/null
+++ b/doc/RefMan-com.tex
@@ -0,0 +1,251 @@
+\chapter{The \Coq~commands}\label{Addoc-coqc}
+\ttindex{coqtop}
+\ttindex{coqc}
+
+There are two \Coq~commands:
+
+\bigskip
+\begin{tabular}{l@{\quad:\quad}l}
+ -- {\tt coqtop} & The \Coq\ toplevel (interactive mode) ; \\[1em]
+ -- {\tt coqc} & The \Coq\ compiler (batch compilation).
+\end{tabular}
+\bigskip
+
+The options are (basically) the same for the two commands, and
+roughly described below. You can also look at the \verb!man! pages of
+\verb!coqtop! and \verb!coqc! for more details.
+
+
+\section{Interactive use ({\tt coqtop})}
+In the interactive mode, also known as the \Coq~toplevel, the user can develop his theories and proofs
+step by step. The \Coq~toplevel is ran by the
+command {\tt coqtop}. This toplevel is based on a Caml toplevel (to
+allow the dynamic link of tactics). You can switch to the Caml
+toplevel with the command \verb!Drop.!, and come back to the
+\Coq~toplevel with the command \verb!Coqtoplevel.go();;!.
+
+\index{byte-code}
+\index{native code}
+\label{binary-images}
+They are three different binary images of \Coq: the byte-code one,
+the native-code one and the full native-code one. When invoking
+\verb!coqtop!, the byte-code version of the system is used. The
+command \verb!coqtop -opt! runs a native-code version of the
+\Coq~system, and the command \verb!coqtop -full! a native-code version
+with the implementation code of all the tactics (that is with the code
+of the tactics \verb!Linear!, \verb!Ring! and \verb!Omega! which then
+can be required by \verb=Require=) and tools (\verb!Extraction! and
+\verb!Natural! which again become available through the command
+\verb=Require=). Those toplevels are significantly faster than the
+byte-code one. Notice that it is no longer possible to access the
+Caml toplevel, neither to load tactics.
+
+The command \verb!coqtop -searchisos! runs the search tool {\sf
+Coq\_SearchIsos} (see section~\ref{coqsearchisos},
+page~\pageref{coqsearchisos}) and, as the \Coq~system, can be combined with the
+option \verb!-opt!.
+
+\section{Batch compilation ({\tt coqc})}
+The {\tt coqc} command takes a name {\em file} as argument. Then it
+looks for a vernacular file named {\em file}{\tt .v}, and tries to
+compile it into a {\em file}{\tt .vo} file (See ~\ref{compiled}).
+With the \verb!-i! option, it compiles the specification module {\em
+file}{\tt .vi}.
+
+\Warning The name {\em file} must be a regular {\Coq} identifier, as
+defined in the section \ref{lexical}. It
+must only contain letters, digits or underscores
+(\_). Thus it can be \verb+/bar/foo/toto.v+ but not
+\verb+/bar/foo/to-to+ .
+
+Notice that the \verb!-opt! and \verb!-full! options are still
+available with \verb!coqc! and allow you to compile \Coq\ files with
+an efficient version of the system.
+
+
+\section{Resource file}
+\index{Resource file}
+
+When \Coq\ is launched, with either {\tt coqtop} or {\tt coqc}, the
+resource file \verb:$HOME/.coqrc.6.2.4: is loaded, where \verb:$HOME: is
+the home directory of the user. If this file is not found, then the
+file \verb:$HOME/.coqrc: is searched. You can also specify an
+arbitrary name for the resource file (see option \verb:-init-file:
+below), or the name of another user to load the resource file of
+someone else (see option \verb:-user:).
+
+This file may contain, for instance, \verb:AddPath: commands to add
+directories to the load path of \Coq. You can use the environment
+variable \verb:$COQLIB: which refer to the \Coq\
+library. Remember that the
+default load path already contains the following directories:
+\begin{verbatim}
+ .
+ $CAMLP4LIB
+ $COQLIB/tactics/tcc
+ $COQLIB/tactics/programs/EXAMPLES
+ $COQLIB/tactics/programs
+ $COQLIB/tactics/contrib/polynom
+ $COQLIB/tactics/contrib/omega
+ $COQLIB/tactics/contrib/natural
+ $COQLIB/tactics/contrib/linear
+ $COQLIB/tactics/contrib/extraction
+ $COQLIB/tactics/contrib/acdsimpl/simplify_rings
+ $COQLIB/tactics/contrib/acdsimpl/simplify_naturals
+ $COQLIB/tactics/contrib/acdsimpl/acd_simpl_def
+ $COQLIB/tactics/contrib/acdsimpl
+ $COQLIB/tactics/contrib
+ $COQLIB/theories/ZARITH
+ $COQLIB/theories/TREES
+ $COQLIB/theories/TESTS
+ $COQLIB/theories/SORTING
+ $COQLIB/theories/SETS
+ $COQLIB/theories/RELATIONS/WELLFOUNDED
+ $COQLIB/theories/RELATIONS
+ $COQLIB/theories/LOGIC
+ $COQLIB/theories/LISTS
+ $COQLIB/theories/INIT
+ $COQLIB/theories/DEMOS/PROGRAMS
+ $COQLIB/theories/DEMOS/OMEGA
+ $COQLIB/theories/DEMOS
+ $COQLIB/theories/BOOL
+ $COQLIB/theories/REALS
+ $COQLIB/theories/ARITH
+ $COQLIB/tactics
+ $COQLIB/states
+\end{verbatim}
+
+It is possible to skip the loading of the resource file with the
+option \verb:-q:.
+
+\section{Environment variables}
+\label{EnvVariables}
+\index{Environment variables}
+
+There are 3 environment variables used by the \Coq\ system.
+\verb:$COQBIN: for the directory where the binaries are,
+\verb:$COQLIB: for the directory whrer the standard library is, and
+\verb:$COQTOP: for the directory of the sources. The latter is useful
+only for developpers that are writing there own tactics using
+\texttt{do\_Makeffile} (see \ref{Makefile}). If \verb:$COQBIN: or
+\verb:$COQLIB: are not defined, \Coq\ will use the default values
+(choosen at installation time). So these variables are useful onlt if
+you move the \Coq\ binaries and library after installation.
+
+\section{Options}
+\index{Options of the command line}
+
+The following command-line options are recognized by the commands {\tt
+ coqc} and {\tt coqtop}:
+
+\begin{description}
+\item[{\tt -opt}]\ \\
+ Run the native-code version of \Coq{} (or {\sf Coq\_SearchIsos} for {\tt
+coqtop}).
+
+\item[{\tt -full}]\ \\
+ Run a native-code version of {\Coq} with all tactics.
+
+\item[{\tt -I} {\em directory}, {\tt -include} {\em directory}]\ \\
+ Add {\em directory} to the searched directories when looking for a
+ file.
+
+\item[{\tt -R} {\em directory}]\ \\
+ Add recursively {\em directory} to the searched directories when looking for
+ a file.
+
+\item[{\tt -is} {\em file}, {\tt -inputstate} {\em file}]\ \\
+ Cause \Coq~to use the state put in the file {\em file} as its input
+ state. The default state is {\em tactics.coq}.
+ Mainly useful to build the standard input state.
+
+\item[{\tt -nois}]\ \\
+ Cause \Coq~to begin with an empty state. Mainly useful to build the
+ standard input state.
+
+\item[{\tt -notactics}]\ \\
+ Forbid the dynamic loading of tactics, and start on the input state
+ {\em state.coq}.
+
+\item[{\tt -init-file} {\em file}]\ \\
+ Take {\em file} as resource file, instead of {\tt \$HOME/.coqrc.6.2.4}.
+
+\item[{\tt -q}]\ \\
+ Cause \Coq~not to load the resource file.
+
+\item[{\tt -user} {\em username}]\ \\
+ Take resource file of user {\em username} (that is
+ \verb+~+{\em username}{\tt /.coqrc.6.2.4}) instead of yours.
+
+\item[{\tt -load-ml-source} {\em file}]\ \\
+ Load the Caml source file {\em file}.
+
+\item[{\tt -load-ml-object} {\em file}]\ \\
+ Load the Caml object file {\em file}.
+
+\item[{\tt -load-vernac-source} {\em file}]\ \\
+ Load \Coq~file {\em file}{\tt .v}
+
+\item[{\tt -load-vernac-object} {\em file}]\ \\
+ Load \Coq~compiled file {\em file}{\tt .vo}
+
+%\item[{\tt -preload} {\em file}]\ \\
+%Add {\em file}{\tt .vo} to the files to be loaded and opened
+%before making the initial state.
+%
+\item[{\tt -require} {\em file}]\ \\
+ Load \Coq~compiled file {\em file}{\tt .vo} and import it ({\tt
+ Require} {\em file}).
+
+\item[{\tt -batch}]\ \\
+ Batch mode : exit just after arguments parsing. This option is only
+ used by {\tt coqc}.
+
+\item[{\tt -debug}]\ \\
+ Switch on the debug flag.
+
+\item[{\tt -emacs}]\ \\
+ Tells \Coq\ it is executed under Emacs.
+
+\item[{\tt -db}]\ \\
+ Launch \Coq\ under the Objective Caml debugger (provided that \Coq\
+ has been compiled for debugging; see next chapter).
+
+\item[{\tt -image} {\em file}]\ \\
+ This option sets the binary image to be used to be {\em file}
+ instead of the standard one. Not of general use.
+
+\item[{\tt -bindir} {\em directory}]\ \\
+ It is equivalent to do \texttt{export COQBIN=}{\em directory}
+ before lauching \Coq.
+
+\item[{\tt -libdir} {\em file}]\ \\
+ It is equivalent to do \texttt{export COQLIB=}{\em directory}
+ before lauching \Coq.
+
+
+\item[{\tt -where}]\ \\
+ Print the \Coq's standard library location and exit.
+
+\item[{\tt -v}]\ \\
+ Print the \Coq's version and exit.
+
+\item[{\tt -h}, {\tt --help}]\ \\
+ Print a short usage and exit.
+\end{description}
+
+{\tt coqtop} owns an additional option:
+
+\begin{description}
+\item[{\tt -searchisos}]\ \\
+ Launch the {\sf Coq\_SearchIsos} toplevel
+ (see section~\ref{coqsearchisos}, page~\pageref{coqsearchisos}).
+\end{description}
+
+See the manual pages for more details.
+% $Id$
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "Reference-Manual"
+%%% End: