summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/principia/principia.tex
blob: 86d5ce3a223913380e45d5f136697d02dfb31639 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
\documentclass[12pt]{article}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{principia}[2021/04/19 principia package version 1.3] %This is the principia package is for representing notations in Whitehead and Russell's ``Principia Mathematica" close to their appearance in the original.
%Version 1.0 (superseded by Version 1.1): Covers typesetting of notation through Volume I. 2020/10/24
%Version 1.1 (superseded by Version 1.2) minor updates: fixed the spacing of scope dots around parentheses; fixed spacing of theorem sign; fixed spacing around primitive proposition and definition signs. 2020/10/25
%Licensed under LaTeX Project Public License 1.3c. 
%Version 1.2 (superseded by Version 1.3) (minor updates): boldfaced (`thickened') the truth-functional connectives, existential quantifier, set and relation symbols; added numerous commands for typesetting brackets and substitutions into theorems. 2021/02/25
%Version 1.3 (minor update): removes package dependency on marvosym; updates Section A and Section B notations. 2021/04/19
%Licensed under LaTeX Project Public License 1.3c. 
%Copyright Landon D. C. Elkind, 2021.  (https://landondcelkind.com/contact/).

\usepackage{fullpage}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{setspace}

%Principia package requirements
\usepackage{amssymb} %This loads the relation domain and converse domain limitation symbols.
\usepackage{amsmath} %This loads the circumflex, substitution into theorems, \text{}, \mathbf{}, \boldsymbol{}, \overleftarrow{}, \overrightarrow{}, etc.
\usepackage{pifont} %This loads the eight-pointed asterisk.
\usepackage{graphicx} %This loads commands that flip iota for definite descriptions, Lambda for the universal class, and so on. The (superseded) graphics package should also work here, but is not recommended.

%Volume I
%Mathematical logic
%The theory of deduction
%Meta-logical symbols
\newcommand{\pmfd}{\begin{center} \rule{5cm}{.5pt} \end{center}} %Dividing line between introductory remarks in a starred number and the formal deductions.
\newcommand{\pmdem}{\textit{Dem}.} %This notation begins a proof.
\newcommand{\pmdemi}{\indent \pmdem} %This idents the notation that begins a proof.
\newcommand{\pmhp}{\text{Hp}} %This typesets Hp (short for antecedent), which occurs at the beginning of a proof.
\newcommand{\pmprop}{\text{Prop}} %This occurs at the end of a proof.
\newcommand{\pmithm}{\pmimp\;\pmthm} %This occurs when a meta-theoretic implication is asserted.
\newcommand{\pmbr}[1]{\bigg \lbrack \normalsize #1 \bigg \rbrack} %These are larger brackets for substitution.
\newcommand{\pmsub}[2]{\bigg \lbrack \small \begin{array}{c} #1 \\ \hline #2 \end{array} \bigg \rbrack} %This is the substitution command.
\newcommand{\pmsubb}[4]{\bigg \lbrack \small \begin{array}{c c} #1, & #3 \\ \hline #2, & #4 \end{array}  \bigg \rbrack} %This is the substitution command.
\newcommand{\pmsubbb}[6]{\bigg \lbrack \small \begin{array}{c c c} #1, & #3, & #5 \\ \hline #2, & #4, & #6 \end{array}  \bigg \rbrack} %This is the substitution command.
\newcommand{\pmsubbbb}[8]{\bigg \lbrack \small \begin{array}{c c c c} #1, & #3, & #5, & #7 \\ \hline #2, & #4, & #6, & #8 \end{array}  \bigg \rbrack} %This is the substitution command.
\newcommand{\pmSub}[3]{\bigg \lbrack \normalsize #1 \text{ } \small \begin{array}{c} #2 \\ \hline #3 \end{array}  \bigg \rbrack} %This is the substitution command.
\newcommand{\pmSubb}[5]{\bigg \lbrack \normalsize #1 \text{ } \small \begin{array}{c c} #2, & #4 \\ \hline #3, & #5 \end{array}  \bigg \rbrack} %This is the substitution command.
\newcommand{\pmSubbb}[7]{\bigg \lbrack \normalsize #1 \text{ } \small \begin{array}{c c c} #2, & #4, & #6 \\ \hline #3, & #5, & #7 \end{array}  \bigg \rbrack} %This is the substitution command.
\newcommand{\pmSubbbb}[9]{\bigg \lbrack \normalsize #1 \text{ } \small \begin{array}{c c c c} #1, & #3, & #5, & #7 \\ \hline #2, & #4, & #6, & #8 \end{array} \bigg \rbrack} %This is the substitution command.
\newcommand{\pmsUb}[2]{\small \begin{array}{c} #1 \\ \hline #2 \end{array}} %This is the substitution command.
\newcommand{\pmsUbb}[4]{\small \begin{array}{c c} #1, & #3 \\ \hline #2, & #4 \end{array}} %This is the substitution command.
\newcommand{\pmsUbbb}[6]{\small \begin{array}{c c c} #1, & #3, & #5 \\ \hline #2, & #4, & #6 \end{array}} %This is the substitution command.
\newcommand{\pmsUbbbb}[8]{\small \begin{array}{c c c c} #1, & #3, & #5, & #7 \\ \hline #2, & #4, & #6, & #8 \end{array}} %This is the substitution command.
\newcommand{\pmSUb}[3]{\normalsize #1 \text{ } \small \begin{array}{c} #2 \\ \hline #3 \end{array}} %This is the substitution command.
\newcommand{\pmSUbb}[5]{\normalsize #1 \text{ } \small \begin{array}{c c} #2, & #4 \\ \hline #3, & #5 \end{array}} %This is the substitution command.
\newcommand{\pmSUbbb}[7]{\normalsize #1 \text{ } \small \begin{array}{c c c} #2, & #4, & #6 \\ \hline #3, & #5, & #7 \end{array}} %This is the substitution command.
\newcommand{\pmSUbbbb}[9]{\normalsize #1 \text{ } \small \begin{array}{c c c c} #1, & #3, & #5, & #7 \\ \hline #2, & #4, & #6, & #8 \end{array}} %This is the substitution command.
\newcommand{\pmthm}{\mathpunct{\text{\scalebox{.5}[1]{$\boldsymbol\vdash$}}}} %This is the theorem sign.
\newcommand{\pmast}{\text{\resizebox{!}{.75\height}{\ding{107}}}} %This is the sign introducing a theorem number.
\newcommand{\pmcdot}{\text{\raisebox{.05cm}{$\boldsymbol\cdot$}}} %This is a sign introducing a theorem sub-number.
\newcommand{\pmiddf}{\mathbin{=}}
\newcommand{\pmdf}{\quad \text{Df}}
\newcommand{\pmpp}{\quad \text{Pp}}

%Square dots for scope, defined for up to six dots
\newcommand{\pmdot}{\mathrel{\hbox{\rule{.3ex}{.3ex}}}}
\newcommand{\pmdott}{\mathrel{\overset{\pmdot}{\pmdot}}}
\newcommand{\pmdottt}{\pmdott\hspace{.1em}\pmdot}
\newcommand{\pmdotttt}{\pmdott\hspace{.1em}\pmdott}
\newcommand{\pmdottttt}{\pmdott\hspace{.1em}\pmdott\hspace{.1em}\pmdot}
\newcommand{\pmdotttttt}{\pmdott\hspace{.1em}\pmdott\hspace{.1em}\pmdott}

%Logical connectives
\newcommand{\pmnot}{\mathord{\ooalign{$\boldsymbol{\sim}\mkern.5mu$\hidewidth\cr$\boldsymbol{\sim}$\cr\hidewidth$\mkern.5mu\boldsymbol{\sim}$}}}
\newcommand{\pmor}{\mathbin{\ooalign{$\boldsymbol{\vee}\mkern.5mu$\hidewidth\cr$\boldsymbol{\vee}$\cr\hidewidth$\mkern.5mu\boldsymbol{\vee}$}}}
\newcommand{\pmimp}{\mathbin{\ooalign{$\boldsymbol{\supset}\mkern.5mu$\hidewidth\cr$\boldsymbol{\supset}$\cr\hidewidth$\mkern.5mu\boldsymbol{\supset}$}}} %1.01
\newcommand{\pmand}{\mathrel{\hbox{\rule{.3ex}{.3ex}}}} %3.01
\newcommand{\pmandd}{\overset{\pmand}{\pmand}}
\newcommand{\pmanddd}{\pmandd\hspace{.1em}\pmand}
\newcommand{\pmandddd}{\pmandd\hspace{.1em}\pmandd}
\newcommand{\pmanddddd}{\pmandd\hspace{.1em}\pmandd\hspace{.1em}\pmand}
\newcommand{\pmandddddd}{\pmandd\hspace{.1em}\pmandd\hspace{.1em}\pmandd}
\newcommand{\pmprod}{\mathbin{\ooalign{$\boldsymbol{\wedge}\mkern.5mu$\hidewidth\cr$\boldsymbol{\wedge}$\cr\hidewidth$\mkern.5mu\boldsymbol{\wedge}$}}} %Not in Principia, but added here as a dual of its symbol for disjunction.
\newcommand{\pmiff}{\mathbin{\ooalign{$\boldsymbol{\equiv}\mkern.5mu$\hidewidth\cr$\boldsymbol{\equiv}$\cr\hidewidth$\mkern.5mu\boldsymbol{\equiv}$}}} %4.01

%The theory of apparent variables
\newcommand{\pmall}[1]{(#1)}
\newcommand{\pmsome}[1]{(\text{\raisebox{.5em}{\rotatebox{180}{\textbf{E}}}}#1)} %10.01
\newcommand{\pmSome}{\text{\raisebox{.5em}{\rotatebox{180}{\textbf{E}}}}}

%Additional defined logic signs
\newcommand{\pmhat}[1]{\mathbf{\hat{\text{$#1$}}}}
\newcommand{\pmbreve}[1]{\mathbf{\breve{\text{$#1$}}}}
\newcommand{\pmcirc}[1]{\mathbf{\dot{\text{$#1$}}}}
\newcommand{\pmpf}[2]{#1#2} %for propositional functions of one variable
\newcommand{\pmpff}[3]{#1(#2, #3)} %for propositional functions of two variables
\newcommand{\pmpfff}[4]{#1(#2, #3, #4)} %for propositional functions of three variables
\newcommand{\pmshr}{\textbf{!}} %*12.1 and *12.11, used for predicative propositional functions
\newcommand{\pmpred}[2]{#1\pmshr#2} %for predicates (``predicative functions'') of one variable
\newcommand{\pmpredd}[3]{#1\pmshr(#2, #3)} %for predicates (``predicative functions'') of two variables
\newcommand{\pmpreddd}[4]{#1\pmshr(#2, #3, #4)} %for predicates (``predicative functions'') of three variables
\newcommand{\pmnid}{\mathrel{\ooalign{$=$\cr\hidewidth\footnotesize\rotatebox[origin=c]{210}{\textbf{/}}\hidewidth\cr}}} %*13.02
\newcommand{\pmiota}{\ooalign{\rotatebox[origin=c]{180}{$\mathbf{\iota}$}\cr\hidewidth\raisebox{.0125em}{\rotatebox[origin=c]{180}{$\mathbf{\iota}$}}\cr\hidewidth\raisebox{.025em}{\rotatebox[origin=c]{180}{$\mathbf{\iota}$}}\cr\hidewidth\raisebox{.0375em}{\rotatebox[origin=c]{180}{$\mathbf{\iota}$}}\cr\hidewidth\raisebox{.05em}{\rotatebox[origin=c]{180}{$\mathbf{\iota}$}}}} %the rotated Greek iota used in definite descriptions
\newcommand{\pmdsc}[1]{(\pmiota#1)} %*14.01
\newcommand{\pmDsc}{\pmiota} 
\newcommand{\pmexists}{\textbf{E}\hspace{.1em}\pmshr} %*14.02

\title{\texttt{principia.sty}\\ A \LaTeXe \space Package for Typesetting Whitehead and Russell's \textit{Principia Mathematica} (Version 1.3)}
\author{Landon D. C. Elkind \texttt{elkind@ualberta.ca}}
\date{\today}

\begin{document}
\maketitle
\onehalfspacing
The \texttt{principia} package is designed for typesetting the Peanese notation of \textit{Principia Mathematica}. ``Peanese'' is something of a misnomer: Whitehead and Russell invented much of the notations used in \textit{Principia Mathematica} even while borrowing from many others.

\texttt{principia}'s style has antecedents in Kevin C. Klement's excellent \textit{Tractatus} typesetting, to which we owe the device of adding `d's and `t's to typeset further square dots. The device of beginning all \texttt{principia} commands with `\texttt{$\backslash$pm}' is owed to the \texttt{begriff} package, a style that was mimicked in both the \texttt{frege} package and the \texttt{Grundgesetze} package. 

In \textit{Principia Mathematica} some symbols occur with an argument and sometimes that same symbol occurs without an argument. For example, `$\pmsome{x}$' occurs in some formulas, but sometimes `$\pmSome$' occurs in the text when they talk about the symbol itself. \texttt{principia} is designed to accommodate these different occurrences of symbols. When a symbol is to occur without an argument, capitalize the first letter following the `\texttt{$\backslash$pm}' part of the command. E.g. \verb|\pmsome{x}| produces $\pmsome{x}$ and \verb|\pmSome| produces `$\pmSome$'. Note the former command requires an argument and the latter command does not. Not all commands in the \texttt{principia} package admit of such dual use because some symbols in \textit{Principia Mathematica} never occur without an argument or do not take an argument in the usual sense. For example, the propositional connectives do not take an `argument' in the way singular or plural descriptions do.

Version 1.3 of \texttt{principia} is adequate to typeset all notations throughout Sections A and B of \textit{Principia}'s Volume I and includes some minor fixes. See the package documentation for details. 

\texttt{principia}'s dependencies are \texttt{amsmath}, \texttt{amssymb}, \texttt{pifont}, and \texttt{graphicx}. Make sure to load these package by typing \texttt{$\backslash$usepackage\{graphicx\}}, etc., into the document preamble. 

To load \texttt{principia}, type \texttt{$\backslash$usepackage\{principia\}} in the document's preamble.

\noindent \begin{tabular}{@{}p{3cm} | p{5cm} | p{8.25cm}}
	\textbf{Symbol} & \textbf{\LaTeX command} & \textbf{Notes} \\ \hline
	$\pmthm$ & \verb|\pmthm| & Theorem. \\
	$\pmast$ & \verb|\pmast| & As in $\pmast1$.  \\ 
	$\pmcdot$ & \verb|\pmcdot| & As in, $\pmast1\pmcdot1$. \\
	$\pmpp$ & \verb|\pmpp| & Primitive proposition. Note the indentation. \\
	$\pmiddf$ & \verb|\pmiddf| & Identity for definitions (`$=$' differs in spacing).  \\
	$\pmdf$ & \verb|\pmdf| & Definition. Note the indentation.  \\
	$\pmdem$ & \verb|\pmdem| & This symbol begins a proof. \\  
	$\pmsub{p}{q}$, $\pmsubb{p}{q}{r}{s}$, $\pmsubbb{p}{q}{r}{s}{t}{u}$, ... $\pmSub{\text{Add}}{p}{q}$, ... & \verb|\pmsub{p}{q}|, \verb|\pmsubb{p}{q}{r}{s}|, \verb|\pmsubbb{p}{q}| \par \hfill \verb|{r}{s}{t}{u}|, ... \verb|\pmSub{\text{Add}{p}{q}| & Substitution into theorems. Add `b's to the end of \verb|\pmsub| to increase the number of substitutions (up to four `b's). Each extra `b' adds two arguments. To substitute and specify the theorem as well, capitalize the `s' in \verb|\pmsub|. \\
	$\pmdot$, $\pmdott$, $\pmdottt$, $\pmdotttt$, $\pmdottttt$, $\pmdotttttt$ & \verb|\pmdot|, \verb|\pmdott|, \verb|\pmdottt|, ... & Add `t's to the end of \verb|\pmdot| to increase the number of dots (up to six `t's). \\ 
	$\pmand$, $\pmandd$, $\pmanddd$, $\pmandddd$, $\pmanddddd$, $\pmandddddd$ & \verb|\pmand|, \verb|\pmandd|, \verb|\pmanddd|, ...& Add `d's to the end of \verb|\pmand| command to increase the number of dots (up to six `d's). \\ 
	$\pmor$ & \verb|\pmor| & Disjunction. \\
	$\pmnot$ & \verb|\pmnot| & Negation. Note its spacing differs from \verb|\sim|. \\
	$\pmimp$ & \verb|\pmimp| & Material implication. \\
	$\pmiff$ & \verb|\pmiff| & Material biconditional. \\
	$\pmimp_x, \pmimp_{x,y}$ & \verb|\pmimp_x|, \verb|\pmimp_{x,y}| & And so on for more subscripts. \\
	$\pmiff_x, \pmiff_{x,y}$ & \verb|\pmiff_x|, \verb|\pmiff_{x,y}| & And so on for more subscripts. \\
	$\pmhat{x}$ & \verb|\pmhat{x}| & This command requires one argument. It can be embedded in other commands. E.g., \verb|\pmpf{\phi}{\pmhat{x}}| renders `$\pmpf{\phi}{\pmhat{x}}$'. \\
	$\pmpf{\phi}{x}$ & \verb|\pmpf{\phi}{x}| & This command requires two arguments. \\
	$\pmpff{\phi}{x}{y}$ & \verb|\pmpff{\phi}{x}{y}| & This command requires three arguments. \\
	$\pmpfff{\phi}{x}{y}{z}$ & \verb|\pmpfff{\phi}{x}{y}{z}| & This command requires four arguments. \\
	$\pmall{x}$ &\verb|\pmall{x}| & Universal quantifier. \\
	$\pmsome{x}$, $\pmSome$ & \verb|\pmsome{x}|, \verb|\pmSome| & Existential quantifier. \\
	$\pmshr$ & \verb|\pmshr| & The predicative propositional functions. \\
	$\pmpred{\phi}{x}$ & \verb|\pmpred{\phi}{x}| & This command requires two arguments. \\
	$\pmpredd{\phi}{x}{y}$ & \verb|\pmpredd{\phi}{x}{y}| & This command requires three arguments. \\
	$\pmpreddd{\phi}{x}{y}{z}$ & \verb|\pmpreddd{\phi}{x}{y}{z}| & This command requires four arguments.
\end{tabular}

\noindent \begin{tabular}{@{}p{3cm} | p{5cm} | p{8.25cm}}
	$=$, $\pmnid$ & \verb|=|, \verb|\pmnid| & Identity and its negation. \\
	$\pmdsc{x}$ & \verb|\pmdsc{x}| & Definite description. \\
	$\pmexists$ & \verb|\pmexists| & Existence. 
\end{tabular}

\end{document}