summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/gene-logic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-10-03 23:10:26 +0000
committerKarl Berry <karl@freefriends.org>2008-10-03 23:10:26 +0000
commit425881b562f2bbf12c3d8fd24db155db11aabad1 (patch)
tree82877c7926229cc2d483a2379134ccb111d42876 /Master/texmf-dist/doc/latex/gene-logic
parent9993ebd073ee23f1d055fd398b472deaeb147f5b (diff)
split out gene-logic, cfrees 3 Oct 2008 00:10:49
git-svn-id: svn://tug.org/texlive/trunk@10847 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/gene-logic')
-rw-r--r--Master/texmf-dist/doc/latex/gene-logic/gn-logic14.pdfbin0 -> 92535 bytes
-rw-r--r--Master/texmf-dist/doc/latex/gene-logic/gn-logic14.tex394
2 files changed, 394 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/gene-logic/gn-logic14.pdf b/Master/texmf-dist/doc/latex/gene-logic/gn-logic14.pdf
new file mode 100644
index 00000000000..cbca95f1c18
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gene-logic/gn-logic14.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/gene-logic/gn-logic14.tex b/Master/texmf-dist/doc/latex/gene-logic/gn-logic14.tex
new file mode 100644
index 00000000000..1ad9ff0e158
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gene-logic/gn-logic14.tex
@@ -0,0 +1,394 @@
+%*****************************************************************************/
+%* */
+%* Version: 1.00 Date: 21/04/92 File: gn-logic14.tex */
+%* Last Version: File: */
+%* Changes: */
+%* 30/12/90 First version of documentation. */
+%* 21/04/92 new properties */
+%* */
+%* Title: */
+%* Author: Gerd Neugebauer */
+%* */
+%* Usage: latex gn-logic14.tex */
+%* */
+%*****************************************************************************/
+
+\documentstyle[11pt,dina4,gn-logic14]{article}
+
+\setlength{\unitlength}{1pt}
+
+
+\begin{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newlength{\Width} \Width=\textwidth \advance\Width by -1.5em \divide\Width by 2
+
+\section{The {\tt gn-logic} style option}
+Description of Version 1.4 (5/95) by Gerd Neugebauer \bigskip
+
+The {\tt gn-logic} style option provides a facility to typeset logical
+formulas of a certain kind. This style option provides an environment like
+\verb|eqnarray|, an extended {\tt newtheorem} environment and several macros.
+
+
+
+\subsection{Mathematical Symbols}
+
+The following marcos provide better usage of the junctors and quantifiers.
+Especially the spacing is improved.
+
+
+\noindent\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}*{4}{l}}
+\multicolumn{1}{c}{\small Symbol}
+ & \multicolumn{1}{c}{\small Macro}
+ & \multicolumn{2}{c}{\small Example} \\
+ & & & \\
+$\AND$ & \verb|\AND| & \verb$A\AND B$ & $A\AND B$ \\
+$\OR$ & \verb|\OR| & \verb$A\OR B$ & $A\OR B$ \\
+$\XOR$ & \verb|\XOR| & \verb$A\XOR B$ & $A\XOR B$ \\
+$\IMPLIES$ & \verb|\IMPLIES| & \verb$A\IMPLIES B$ & $A\IMPLIES B$ \\
+$\IMPL$ & \verb|\IMPL| & \verb$A\IMPL B$ & $A\IMPL B$ \\
+$\IF$ & \verb|\IF| & \verb$A\IF B$ & $A\IF B$ \\
+$\IFF$ & \verb|\IFF| & \verb$A\IFF B$ & $A\IFF B$ \\
+$\IFFdef$ & \verb|\IFFdef| & \verb$A\IFFdef B$ & $A\IFFdef B$ \\
+$\ANDdots$ & \verb|\ANDdots| & \verb$A_1\ANDdots A_n$ & $A_1\ANDdots A_n$ \\
+$\ORdots$ & \verb|\ORdots| & \verb$A_1\ORdots A_n$ & $A_1\ORdots A_n$ \\
+$\is$ & \verb|\is| & \verb$x\is y$ & $x\is y$ \\
+$\Nat$ & \verb|\Nat| & \verb$n\in\Nat$ & $n\in\Nat$ \\
+$\Forall$ & \verb|\Forall| & \verb$\Forall x P(x)$ & $\Forall x P(x)$ \\
+$\Exists$ & \verb|\Exists| & \verb$\Exists y P(x)$ & $\Exists y P(x)$ \\
+\end{tabular*}
+
+
+\newcommand{\bs}{{\tt\char"5C}}
+\newcommand{\mac}[1]{The {\tt\char92 #1} Macro}
+\newcommand{\macs}[2]{The {\tt\char92 #1} and the {\tt\char92 #2} Macros}
+\newenvironment{compare}%
+{\noindent\begin{center}%
+ \begin{tabular}{@{}l@{\hspace*{1.5em}produces\hspace*{1.5em}}l@{}}}%
+{\end{tabular}\end{center}}
+
+\subsubsection*{\mac{AND}}
+This macro can be used for the logical conjunction. In addition to the
+\verb|\wedge| macro it adds more space and the formulas tend to be better
+readable. Compare
+
+\begin{compare}
+\verb$x=1\AND y=x$ & $x=1\AND y=x$ \\
+\verb$x=1\wedge y=x$ & $x=1\wedge y=x$ \\
+\verb$x=1\land y=x$ & $x=1\land y=x$
+\end{compare}
+
+\subsubsection*{\mac{OR}}
+This macro can be used for the logical disjunction. In addition to the
+\verb|\vee| macro it adds more space. Compare
+
+\begin{compare}
+\verb$x=1\OR y=x$ & $x=1\OR y=x$ \\
+\verb$x=1\vee y=x$ & $x=1\vee y=x$ \\
+\verb$x=1\lor y=x$ & $x=1\lor y=x$
+\end{compare}
+
+
+\subsubsection*{\mac{XOR}}
+This macro can be used for the exclusive disjunction. It has no common
+counterpart. The spacing is like in in all junctor macros.
+
+\begin{compare}
+\verb$x=1\XOR y=x$ & $x=1\XOR y=x$
+\end{compare}
+
+
+\subsubsection*{\macs{IMPL}{IMPLIES}}
+These macros can be used for the logical implication. In addition to the
+\verb|\rightarrow| macro it adds more space. Compare
+
+\begin{compare}
+\verb$x=1\IMPL y=x$ & $x=1\IMPL y=x$ \\
+\verb$x=1\IMPLIES y=x$ & $x=1\IMPLIES y=x$ \\
+\verb$x=1\rightarrow y=x$ & $x=1\rightarrow y=x$
+\end{compare}
+
+
+\subsubsection*{\mac{IF}}
+ This macro can be used for the logical implication written in reverse order.
+In addition to the \verb|\leftarrow| macro it adds more space. Compare
+
+\begin{compare}
+\verb$x=1\IF y=x$ & $x=1\IF y=x$ \\
+\verb$x=1\lefttarrow y=x$ & $x=1\leftarrow y=x$
+\end{compare}
+
+\subsubsection*{\mac{IFF}}
+ This macro can be used for the logical equivalence.
+In addition to the \verb|\leftrightarrow| macro it adds more space. Compare
+
+\begin{compare}
+\verb$x=1\IFF y=x$ & $x=1\IFF y=x$ \\
+\verb$x=1\leftrighttarrow y=x$ & $x=1\leftrightarrow y=x$
+\end{compare}
+
+\subsubsection*{\mac{IFFdef}}
+ Like above but with a small ``def'' above the arrow.
+
+\begin{compare}
+\verb$x=1\IFFdef y=x$ & $x=1\IFFdef y=x$
+\end{compare}
+
+\subsubsection*{\mac{is}}
+ This macro is for typesetting unifiers. In this case the predefined
+\verb|\setminus| produces to much space.
+
+\begin{compare}
+\verb$\{y\setminus x, z\setminus 4\}$ & $\{y\setminus x, z\setminus 4\}$ \\
+\verb$\{y\is x, z\is 4\}$ & $\{y\is x, z\is 4\}$ \\
+\verb$\{y\backslash x, z\backslash 4P}$ & $\{y\backslash x, z\backslash 4\}$
+\end{compare}
+
+\ifx\AmSTeX\undefined
+\def\AmSTeX{$\cal A$\kern-.1667em\lower.5ex\hbox
+ {$\cal M$}\kern-.125em$\cal S$-\kern-.1em\TeX}
+\fi
+
+\subsubsection*{The Number Macros}
+This are macros for those who have no access to the \AmSTeX{} fonts. It makes
+the symbols for the natural numbers, integers, rationals, reals and complex
+numbers. The usual magnification commands apply to it aswell.
+
+
+\def\BB#1{\csname bb#1\endcsname}
+\def\Line#1{\LINE{#1}\(\BB{#1}_{\BB{#1}}\)}
+\def\LINE#1{{\tt \char92bb#1}&%
+ {\tiny\BB{#1}}&%
+ {\scriptsize\BB{#1}}&%
+ {\footnotesize\BB{#1}}&%
+ {\small\BB{#1}}&%
+ {\normalsize\BB{#1}}&%
+ {\large\BB{#1}}&%
+ {\Large\BB{#1}}&%
+ {\LARGE\BB{#1}}&%
+ {\huge\BB{#1}}&%
+ {\Huge\BB{#1}}&%
+ }
+\begin{center}
+ \begin{tabular}{c|cccccccccc|c}
+ &\multicolumn{10}{|c|}{{\tt \char92tiny \hfill...\hfill\char92normalsize \hfill...\hfill\char92Huge}}&\verb|X_X|
+ \\\hline
+ \Line B\\
+ \verb|\Complex|\Line C\\
+ \Line D\\
+ \Line E\\
+ \Line F\\
+ \Line G\\
+ \Line H\\
+ \Line I\\
+ \Line J\\
+ \Line K\\
+ \Line L\\
+ \Line M\\
+ \verb|\Nat| \Line N\\
+ \Line O\\
+ \Line P\\
+ \verb|\Rat| \Line Q\\
+ \verb|\Real| \Line R\\
+ \verb|\Int| \Line Z\\
+ \Line{One}
+ \end{tabular}
+\end{center}
+
+Unfortunately the macros \verb|\bbC|, \verb|\bbG|, \verb|\bbO|, and
+\verb|\bbQ| do not scale properly when used in subscripts or superscripts of
+formulae. The following examples shows how the sizing can be achieved manually
+
+\noindent\begin{compare}
+\verb$\bbQ_{\mbox{\scriptsize \bbQ}}$ & $\bbQ_{\mbox{\scriptsize \bbQ}}$
+\end{compare}
+
+
+
+\subsubsection*{\macs{Forall}{Exists}}
+ The general problem with quantifies is that after the quantified variable the
+following formula is not automatically seperated with a small space. This can
+be overcome by the following macros.
+
+The \verb|\Forall| and the \verb|\Exists| macros take one argument. They
+typeset the respective quantifier followed by the argument (i.e.\ the variable)
+and finally a small space. As usual the argument has to be enclosed in braces
+if it consists of more than one character. Otherwise the braces can be omitted.
+This allows a elegant notation of short quantified formulas.
+
+\noindent\begin{compare}
+\verb$\Forall x P(x)$ & $\Forall x P(x)$\\
+\verb$\Forall{x_1,\ldots,x_n}P(x_1,\ldots,x_n)$%
+&$\Forall{x_1,\ldots,x_n}P(x_1,\ldots,x_n)$\\
+\verb$\Exists x P(x)$ & $\Exists x P(x)$\\
+\verb$\Exists{x_1,\ldots,x_n}P(x_1,\ldots,x_n)$%
+& $\Exists{x_1,\ldots,x_n}P(x_1,\ldots,x_n)$
+\end{compare}
+
+
+
+\subsection{The {\tt Formula} Environment}
+
+This environment allows to typeset logical formulas. The main problem with the
+\verb|eqnarray| environment was the numbering. In multiline formulas my
+intention was to have the number in the middle of the formula. Inside this
+environment several macros are valid.
+
+\begin{description}
+ \item[{\tt\bs begin\{Formula\}[{\em label}] \bs end\{Formula\}}] \ \\
+ Start the list of formulas. Optionally a label can be given. This label
+ is used to reference the first formula.
+ \item[{\tt\bs =}] \ \\
+ Start a new line.
+ \item[{\tt\bs >}{\em level}] \ \\
+ Start a new line and indent to the given {\em level}. This indentation
+ is done in quantities of \verb|\FormulaIndent| which can be set with
+ the \verb|\setlength| command. The default value is {\tt 3em}.
+ \item[{\tt\bs Form[{\em label}]}] \ \\
+ Start a new formula. Optionally a {\em label} can be given. This {\em
+ label} can be used to reference to the formula (see \verb|\ref|).
+\end{description}
+
+Now lets have a look at some examples. First, we see a single two-line formula.
+Note that the number at the right side is centered between the two lines.
+\medskip
+
+\noindent
+\begin{minipage}{\Width}
+\small\begin{verbatim}
+\begin{Formula}
+ P(X) \IMPL
+\= Q(X) \IFF R_1(X) \OR R_2(X)
+\end{Formula}
+\end{verbatim}
+\end{minipage}
+\hfill
+\begin{minipage}{\Width}
+\begin{Formula}
+ P(X) \IMPL
+\= Q(X) \IFF R_1(X) \OR R_2(X)
+\end{Formula}
+\end{minipage}\medskip
+
+Next we will see an example of several formulas. The first formula is split to
+three lines and the third line is indented to level 1. Remark: \verb|\=| is in
+reality an abbrevation for \verb|\>0|.
+\medskip
+
+\noindent
+\begin{minipage}{\Width}
+\small\begin{verbatim}
+\begin{Formula}[form:1]
+ P(X) \IMPL
+\= Q(X) \IFF R_1(X)
+\>1 \OR R_2(X)
+\Form[form:2]
+ S(X) \IMPL
+\= \neg Q(X) \IFF R_1(X) \OR R_2(X)
+\end{Formula}
+\end{verbatim}
+\end{minipage}
+\hfill
+\begin{minipage}{\Width}
+\begin{Formula}[form:1]
+ P(X) \IMPL
+\= Q(X) \IFF R_1(X)
+\>1 \OR R_2(X)
+\Form[form:2]
+ S(X) \IMPL
+\= \neg Q(X) \IFF R_1(X) \OR R_2(X)
+\end{Formula}
+\end{minipage}\medskip
+
+
+\subsection{The {\tt NewTheorem} Environment}
+
+My experience with the {\tt newtheorem} environment was that I had a certain
+scheme to use it. First, every theorem got a label. Thus, every {\em theorem}
+was followed by a {\tt label} command. Optionally a {\em theorem} may have a
+name. This name is typeset right after the number. The body of the {\em
+ theorem} allways started in the next line. This let to the definition of an
+extended {\tt NewTheorem} environment. The arguments are the same as those of
+the {\tt newtheorem} environment. But the environment defined by this extended
+command take two optional arguments. The first optional argument is a label to
+be assigned to the {\em theorem}. This argument has to be enclosed in
+parentheses. The second type of optional argument has to be enclosed in
+brakets. It is typeset in \verb|\small| after the title text. The third
+optional argument is enclosed in \verb|<>|. It is typeset in \verb|\small\bf|
+and surrounded by parentheses.
+\medskip
+
+\noindent\begin{minipage}{\Width}
+\small\begin{verbatim}
+
+\NewTheorem{guess}{Conjecture}
+
+\begin{guess}[Fermat](thm:fermat)
+ There do not exist integers $n>2$,
+ $x$, $y$, and $z$ such that
+ $x^n+y^n=z^n$.
+\end{guess}
+\end{verbatim}
+\end{minipage}
+\hfill
+\begin{minipage}{\Width}
+\NewTheorem{guess}{Conjecture}
+
+\begin{guess}[Fermat](thm:fermat)
+ There do not exist integers $n>2$,
+ $x$, $y$, and $z$ such that
+ $x^n+y^n=z^n$.
+\end{guess}
+\end{minipage}
+\medskip
+
+The commands used to typeset some of the optional argument can be customized
+in the following way. The macros \verb|\TheoremTitle| and \verb|\TheoremName|
+are used to typeset their argument in \verb|\small| and \verb|\small\bf| and
+enclosed in parentheses respectively. This macros can be redefined using
+\verb|\renewcommand| as shown in the following example:
+\medskip
+
+\noindent\begin{minipage}{\Width}
+\footnotesize\begin{verbatim}
+\NewTheorem{theorem}{Theorem}
+\renewcommand{\TheoremTitle}[1]{{\sf [#1]}}
+\renewcommand{\TheoremName}[1]{{\small(#1)}}
+\begin{theorem}[Fermat]<conjecture>(thm:f2)
+ There do not exist integers ...
+\end{theorem}
+\end{verbatim}
+\end{minipage}
+\hfill
+\begin{minipage}{\Width}
+\NewTheorem{theorem}{Theorem}
+\renewcommand{\TheoremTitle}[1]{{\sf #1}}
+\renewcommand{\TheoremName}[1]{{\small(#1)}}
+\begin{theorem}[Fermat]<conjecture>(thm:f2)
+ There do not exist integers $n>2$,
+ $x$, $y$, and $z$ such that
+ $x^n+y^n=z^n$.
+\end{theorem}
+\end{minipage}
+
+\end{document}
+
+
+
+\newcommand{\ENTRY}[1]{{#1 \Nat}& {#1 \Int}& {#1 \Rat}&{#1 \Real}& {#1 \Complex}}
+
+\begin{center}
+\begin{tabular}{l|ccccc}
+&\verb|\Nat|&\verb|\Int|&\verb|\Rat|&\verb|\Real|&\verb|\Complex|\\
+&&\\\hline&&\\
+\verb$\tiny$ & \ENTRY{\tiny} \\
+\verb$\scriptsize$ & \ENTRY{\scriptsize} \\
+\verb$\footnotesize$ & \ENTRY{\footnotesize} \\
+\verb$\small$ & \ENTRY{\small} \\
+\verb$\normalsize$ & \ENTRY{\normalsize} \\
+\verb$\large$ & \ENTRY{\large} \\
+\verb$\Large$ & \ENTRY{\Large} \\
+\verb$\LARGE$ & \ENTRY{\LARGE} \\
+\verb$\huge$ & \ENTRY{\huge} \\
+\verb$\Huge$ & \ENTRY{\Huge}
+\end{tabular}\end{center}