Arché home Arché TWiki > Main > BegriffsschriftLaTeX Arché TWiki webs:
Main | Arché | Dept | TWiki | Sandbox
Main . { Changes | Search | Go }

Begriffsschrift in LaTeX

Description

I have installed my LaTeX style file for writing in GottlobFrege's Begriffsschrift on this system. That means that you can use it from in conjunction with the MathModePlugin.

The style file defines eight new LaTeX math mode commands:

(The following three command were introduced in version 1.5)

The operation of BGterm and BGstem is not self-explanatory. However, their only function is to control Alignment, and if you don't need that you can ignore them.

You also have the normal resources of LaTeX math mode with AMS symbols at your disposal; so, you can use mathfrak{v} to get a fraktur character, acute{v} to get a character with a slanting hat, and alpha (etc.) to get greek letters.

The BGbracket command is not perfectly reliable.

The style file is hereby placed under the GNU General Public License.

Alignment

For reasons of readability it's often desirable to have the terminal nodes of a begriffsschrift diagram aligned along the right margin of the diagram, with the extra space needed taken up by extending the strokes that lead to them. This can be done by enclosing every terminal node in a BGterm{...} command. BGterm draws a horizontal stroke of just the right length so that its argument will be typeset against the right margin.

Another advantage of typesetting begriffsschrift in this way is that successive diagrams can be ensured to be the same width. The width of a diagram is controlled by the BGlinewidth length.

There is one little complication. Typical begriffsschrift sentences contain pieces of ordinary LaTeX maths only as terminal nodes. If you need to typeset ordinary maths outside of a terminal node, and are using alignment, you need to wrap it up in a BGstem{...} command, so that LaTeX can keep track of where the right margin is correctly. BGstem has no visible effects.

This should be a lot clearer if you look at the examples below.

Examples

The examples below assume you are using TWiki MathModePlugin; to use them in LaTeX, remove the percent signs.

Simple conditional example

You type:

%$\BGassert\BGconditional{p}{q}$%

You get:

\BGassert\BGconditional{p}{q}

More complicated example

You type:

%$\BGassert (\acute{\epsilon}f(\epsilon) = \acute{\alpha}g(\alpha)) = \BGquant{\mathfrak{a}} \BGconditional{\BGnot \BGconditional{\BGnot \mathfrak{a} = \acute{\alpha}g(\alpha)}{\mathfrak{a} = \acute{\epsilon}f(\epsilon)}}{f(\mathfrak{a}) = g(\mathfrak{a})}$%

You get:

\BGassert (\acute{\epsilon}f(\epsilon) = \acute{\alpha}g(\alpha)) = \BGquant{\mathfrak{a}} \BGconditional{\BGnot \BGconditional{\BGnot \mathfrak{a} = \acute{\alpha}g(\alpha)}{\mathfrak{a} = \acute{\epsilon}f(\epsilon)}}{f(\mathfrak{a}) = g(\mathfrak{a})}

Alignment example

Same as the above, with alignment. You type:

%$\setlength{\BGlinewidth}{3in}\BGassert \BGstem{(\acute{\epsilon}f(\epsilon) = \acute{\alpha}g(\alpha)) =} \BGquant{\mathfrak{a}} \BGconditional{\BGnot \BGconditional{\BGnot \BGterm{\mathfrak{a} = \acute{\alpha}g(\alpha)}} {\BGterm{\mathfrak{a} = \acute{\epsilon}f(\epsilon)}}}{\BGterm{f(\mathfrak{a}) = g(\mathfrak{a})}}$%

You get:

\setlength{\BGlinewidth}{3in}\BGassert \BGstem{(\acute{\epsilon}f(\epsilon) = \acute{\alpha}g(\alpha)) =} \BGquant{\mathfrak{a}} \BGconditional{\BGnot \BGconditional{\BGnot \BGterm{\mathfrak{a} = \acute{\alpha}g(\alpha)}} {\BGterm{\mathfrak{a} = \acute{\epsilon}f(\epsilon)}}}{\BGterm{f(\mathfrak{a}) = g(\mathfrak{a})}}

The Geach-Kaplan Sentence

This is MarcusRossberg's rendering of the GeachKaplanSentence. It is a relatively complicated formula, and uses the Alignment feature discussed above.

\setlength{\BGlinewidth}{.8in} \BGnot \BGquant{\mathfrak{F}} \BGconditional{\BGquant{\mathfrak{c}} \BGquant{\mathfrak{d}} \BGconditional {\BGnot \BGconditional {\BGterm{A(\mathfrak{c},\mathfrak{d})}} {\BGnot \BGterm{\mathfrak{F}(\mathfrak{c})}}} {\BGnot \BGconditional {\BGterm{\mathfrak{F}(\mathfrak {d})}} {\BGterm{\mathfrak{c}=\mathfrak{d}}}}} {\BGconditional{\BGnot \BGquant{\mathfrak{b}} \BGnot \BGterm{\mathfrak{F}(\mathfrak{b})}}{\BGquant{\mathfrak{a}} \BGconditional {\BGterm{\mathfrak{F}(\mathfrak{a})}} {\BGterm{C(\mathfrak{a})}}} }

Advanced usage

You can also tweak the appearance of the resulting material by modifying the values of the following lengths:

(and in version 1.5 or later)

For example:

You type:

%$\setlength{\BGthickness}{1pt}\BGassert\BGconditional{p}{q}$%

You get:

\setlength{\BGthickness}{1pt}\BGassert\BGconditional{p}{q}

Revision history

Links to similar projects

-- JoshParsons - 18 Apr 2003

Converting back to peano-esque notation

Nothing clever here, but if you've got a document with Josh's Begriffsschrift typesetting, and want to convert every formula back into arrow/inverted-A/tilde type notation, you can just add the following to the preamble:

\renewcommand{\BGnot}{\neg}
\renewcommand{\BGconditional}[2]{(#1\rightarrow#2)}
\renewcommand{\BGquant}[1]{\forall #1}
\renewcommand{\BGassert}{\vdash}
\renewcommand{\BGcontent}[1]{v(#1)}

Issues about the ContentStroke Also see BasicLaws for a formulation of Frege's axioms.

- RobertWilliams - 22 Apr 2003

Example for the superiority of Modern Notation over Begriffsschrift

Philip and I translated Theorems 71 from FregeBegriffsschrift (p. 59) into Modern Notation. It is obvious how much easier it is to read the peano-esque notation...

Frege's Notation:

\BGassert\BGconditional{\BGconditional{\BGquant{\mathfrak{a}}\BGconditional{f(x, \mathfrak{a})}{F(\mathfrak{a})}}{\BGconditional{f(x,y)}{F(y)}}}{\BGconditional{\BGquant{\mathfrak{b}}\BGconditional{F(\mathfrak{b})}{\BGquant{\mathfrak{a}}\BGconditional{f(\mathfrak{b, a})}{F(\mathfrak{a})}}}{\BGconditional{F(x)}{\BGconditional{f(x,y)}{F(y)}}}}

Modern Notation:

[\forall{a}(f(x,a) \supset F(a)) \supset (f(x,y) \supset F(y))]\supset [\forall{b}[F(b) \supset \forall{a}(f(b,a) \supset F(a))]\supset [F(x) \supset (f(x,y) \supset F(y))]]

-- MarcusRossberg - 05 May 2003

However, look at the LaTeX file of Frege's formalism:

\BGassert\BGconditional{\BGconditional{\BGquant{\mathfrak{a}}\BGconditional{f(x, \mathfrak{a})}{F(\mathfrak{a})}}{\BGconditional{f(x,y)}{F(y)}}}{\BGconditional{\BGquant{\mathfrak{b}}\BGconditional{F(\mathfrak{b})}{\BGquant{\mathfrak{a}}\BGconditional{f(\mathfrak{b, a})}{F(\mathfrak{a})}}}{\BGconditional{F(x)}{\BGconditional{f(x,y)}{F(y)}}}}

and the much easier modern version:

[\forall{a}(f(x,a) \supset F(a)) \supset (f(x,y) \supset F(y))] $\supset [\forall{b}[F(b) \supset \forall{a}(f(b,a) \supset F(a))]$\supset [F(x) \supset (f(x,y) \supset F(y))]]

-- PhilipAEbert - 05 May 2003

Attachment Action Size Date Who Comment
begriff.sty manage 6.8 K 23 May 2005 - 14:27 PhilipAEbert Version 1.6
COPYING manage 17.6 K 23 May 2005 - 14:27 PhilipAEbert GNU Public License
README manage 2.2 K 23 May 2005 - 14:28 PhilipAEbert  

Topic BegriffsschriftLaTeX . { Edit | Attach | Ref-By | Print | Diffs | r1.25 | > | r1.24 | > | r1.23 | More }
Revision r1.25 - 30 Mar 2009 - 22:10 - MarcusRossberg Copyright © 1999-2003 by the contributing authors.

Main.BegriffsschriftLaTeX moved from Main.BegriffsscriftLaTeX on 18 Apr 2003 - 15:44 by JoshParsons - put it back