summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/frege
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/frege
Initial commit
Diffstat (limited to 'macros/latex/contrib/frege')
-rw-r--r--macros/latex/contrib/frege/GNU.txt340
-rw-r--r--macros/latex/contrib/frege/INSTALL57
-rw-r--r--macros/latex/contrib/frege/README131
-rw-r--r--macros/latex/contrib/frege/frege.pdfbin0 -> 137784 bytes
-rw-r--r--macros/latex/contrib/frege/frege.sty1906
-rw-r--r--macros/latex/contrib/frege/frege.tex418
6 files changed, 2852 insertions, 0 deletions
diff --git a/macros/latex/contrib/frege/GNU.txt b/macros/latex/contrib/frege/GNU.txt
new file mode 100644
index 0000000000..eeb586b392
--- /dev/null
+++ b/macros/latex/contrib/frege/GNU.txt
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/macros/latex/contrib/frege/INSTALL b/macros/latex/contrib/frege/INSTALL
new file mode 100644
index 0000000000..836d9ac98d
--- /dev/null
+++ b/macros/latex/contrib/frege/INSTALL
@@ -0,0 +1,57 @@
+Unfortunately I am no computer expert and I don't know how to provide detailed
+installation instructions for every system out there (let alone create a script
+for that purpose). Instead I will provide what has worked for me using TeX Live
+as bundled for Ubuntu 10.04 LTS, as well as a reference to Stack Exchange.
+
+Note also that the frege package requires both the "amssymb" package and the
+"ifthen" package to be installed. These are both fairly common and will come
+with most versions of LaTeX. If you want to use the bguq option you will also
+need to install the "bguq" package, which may be found on ctan
+(http://www.ctan.org/pkg/bguq).
+
+To install I place the frege.sty file in either one of the following locations:
+
+ /usr/local/share/texmf/tex/latex/frege/
+ /usr/share/texmf-texlive/tex/latex/frege/
+
+One way to find the above paths on your system is to use the kpsewhich command in
+conjunction with a standard latex class. Enter the following into the terminal
+while in the root directory (get there by typing "cd /" and hitting enter):
+
+ kpsewhich article.cls
+ <hit enter>
+
+This should return something like:
+
+ /usr/share/texmf-texlive/tex/latex/base/article.cls
+
+of which you need everything up to the latex/
+
+copying the frege.sty file to one of these locations as well as creating a frege/
+directory will require sudo priveliges. Type the following into Terminal (adjusting
+the <path> as needed and hitting enter after each line):
+
+ sudo mkdir /usr/local/share/texmf/tex/latex/frege
+ <at this point you will need to enter your password>
+ sudo cp <path>/frege.sty /usr/local/share/texmf/tex/latex/frege/frege.sty
+
+once you have done that you will need to navigate to your ls-R file:
+
+ cd /usr/local/share/texmf
+
+this path may once again be found using the kpsewhich command as follows:
+
+ kpsewhich ls-R
+
+once you are in the directory containting the ls-R file type the following:
+
+ sudo mktexlsr
+
+the package is now installed and may be used by placing the following in the
+preamble of a tex file:
+
+ \usepackage{frege}
+
+In case this is completely unhelpful to you (for example because you are using some
+completely different version of LaTeX in a completely different operating system I
+suggest turning to Stack Exchange for help (http://tex.stackexchange.com/).
diff --git a/macros/latex/contrib/frege/README b/macros/latex/contrib/frege/README
new file mode 100644
index 0000000000..ee6c95c4a2
--- /dev/null
+++ b/macros/latex/contrib/frege/README
@@ -0,0 +1,131 @@
+frege.sty - a LaTeX2e package for typesetting begriffsschrift
+
+This package is based on begriff.sty released under the GNU General Public License.
+Copyright (C) 2003 by Josh Parsons
+
+Since version 1.3 this package also makes use of the bguq package by J.J. Green.
+
+Changes with respect to begriff.sty
+
+correct relative lengths of the content stroke with respect to other strokes
+attached to it;
+content strokes point at the middle of the following symbols, rather than the bottom;
+greater width for the assertion stroke as compared to the content stroke;
+a more intuitive structure for the conditional (arguments are now given in the same
+order as they appear on the left of a completed formula);
+the command for the conditional with empty arguments now results in a vertical line
+(conditional stroke) on it's own the other strokes are added as the arguments;
+the linewidth is properly accounted for so that things remain properly centered when
+scaled;
+
+frege.sty defines the following basic commands:
+\Fcontent[1] - plain content stroke
+\Fncontent[1] - negated content stroke
+\Fnncontent[1] - twice negated content stroke
+\Faconten[1] - asserted content stroke
+\Fancontent[1] - asserted negated content stroke
+\Fanncontent[1] - asserted twice negated content stroke
+\Fquant[1]{a} - content stroke with quantifier
+\Fnquant[1]{a} - negated quantifier
+\Fnnquant[1]{a} - twice negated quantifier
+\Fquantn[1]{a} - quantifier with negated content
+\Fquantnn[1]{a} - quantifier with twice negated content
+\Fnquantn[1]{a} - negated quantifier with negated content
+\Fnquantnn[1]{a} - negated quantifier with twice negated content
+\Fnnquantn[1]{a} - twice negated quantifier with negated content
+\Fnnquantnn[1]{a} - twice negated quantifier with twice negated content
+\Faquant[1]{a} - asserted content stroke with quantifier
+\Fanquant[1]{a} - asserted negated quantifier
+\Fannquant[1]{a} - asserted twice negated quantifier
+\Faquantn[1]{a} - asserted quantifier with negated content
+\Faquantnn[1]{a} - asserted quantifier with twice negated content
+\Fanquantn[1]{a} - asserted negated quantifier with negated content
+\Fanquantnn[1]{a} - asserted negated quantifier with twice negated content
+\Fannquantn[1]{a} - asserted twice negated quantifier with negated content
+\Fannquantnn[1]{a} - asserted twice negated quantifier with twice negated content
+
+while this may look like a daunting list think of it as just two commands:
+\Fcontent[1] - generates a content stroke
+\Fquant[1]{a} - generates a quantifier with variable a
+
+Adding an "a" after the "\F" adds an assertion stroke to the front of the command,
+this may be followed by one two or no "n" to add one two or no negations to the
+stroke. Next comes the name of the command either "content" or "quant". "quant" may
+then be followed by another one two or no "n" which will add one two or no negations
+after the quantifier to it's content stroke. All commands may be used in either text
+or math mode. All the above commands produce output of the same length and may be
+arbitrarly combined to produce longer composite formulas. Since version 1.1 each of
+the basic strokes also has an optional argument with default value one, that scales
+the total length of the stroke (\Fbaselength), so that an optional argument of [.5]
+will produce a stroke half as long. Warning: setting a length shorter than what is
+needed to fit all the options of a stroke leads to negative lengths and hence
+unpredictable results.
+
+Since version 1.3 it is also possible to call all the above commands without the
+word "content" for the content strokes and with just "q" instead of the word "quant"
+for the quantifiers.
+
+frege.sty defines the following more complex commands:
+\Fconditional[<option>]{<consequent>}{<antecedent>}
+\Fbox{<begriffsschrift formula with at least one conditional>}
+\Fbracket{<begriffsschrift formula with at least one conditional>}
+\Fargument[<premise 0>]{<premise 1>}{<premise 2>}{<conclusion>}
+\Fstrut[1]
+
+The final two have been added in version 1.2.
+
+The following shorthands for the above commands have been introduced in version 1.3:
+\Fcdt, \Fb, \Fbb, \Farg, \Fs;
+
+The "Fconditional" command requires a mixture of the commands defined by frege.sty
+and normal mathmode input to produce begriffsschrift. A implies B would be written
+like this:
+
+\Fconditional[\Facontent]{\Fcontent B}{\Fcontent A}
+
+This produces the two dimensional fregean conditional symbol with B lined up above
+A. In addition the "Fconditional" command may be arbitrarily nested to produce any
+begriffsschrift formula possible. All begriffsschrift symbol can be made without
+the use of the optional argument, it exists only for convenience.
+
+"Fbracket" is just the same as "\left(\Fbox\right)" everything said about "Fbox"
+applies equally to "Fbracket". A completed formula of begriffsschrift that includes
+at least one conditional, should always be placed in an "Fbox" this ensures it is
+given enough space in the output behaves correctly with respect to the text around
+it and works correctly within environments such as align*.
+
+"Fargument" arranges two begriffsschrift formulas above each other and seperates
+them from a third by a horizontal line. The option is for the name of a premise
+written elsewhere and will outout (name): to the left of the horizontal line.
+
+"Fstrut" is like a invisible content stroke. Like all other basic strokes, it may be
+scaled using it's optional argument. Fstrut is to be used in conjunction with
+Fargument to ensure the formulas line up properly.
+
+The final result may also be modified by changing the following lengths using the
+\setlength{<lengthname>}{<value>} command. The lengths and there default values are
+given as follows:
+
+length: default value: description:
+\Fbaselength 20pt the length of a single basic stroke
+\Flinewidth 0.5pt the width of all lines other than the assert stroke
+\Fspace 2pt seperation between begriffsschrift and text/formula
+\Fassertwidth 3\Flinewidth the width of the assert stroke
+\Fraiseheight 1ex-\Flinewidth the height of content strokes above the baseline
+\Fnegsep 3\Flinewidth the sepparation between a double negation
+\Fnegshort 2\Flinewidth the space between negation stroke and baseline
+\Fquantwidth 6pt width of the semi circular quantifier depression
+
+Since version 1.3 it is possible to load this package using the "bguq" option:
+\usepackage[bguq]{frege}
+
+if the bguq option is enabled all quantifiers will use the bguq character provided
+by the bguq package by J.J. Green rather than the qbezier used by this package.
+This means the bguq package must be installed to use the option. (It can be found
+on ctan: http://www.ctan.org/pkg/bguq).
+Warning: as it stands the bguq character scales with font while the rest of the
+symbols provided by this package do not. Also, the bguq character will not respond
+to a change in Flinewidth.
+
+For more examples and info see accompanying manual (frege.pdf or frege.tex)
+Everything released under GNU General Public License.
diff --git a/macros/latex/contrib/frege/frege.pdf b/macros/latex/contrib/frege/frege.pdf
new file mode 100644
index 0000000000..f81ec30a05
--- /dev/null
+++ b/macros/latex/contrib/frege/frege.pdf
Binary files differ
diff --git a/macros/latex/contrib/frege/frege.sty b/macros/latex/contrib/frege/frege.sty
new file mode 100644
index 0000000000..6aab127c03
--- /dev/null
+++ b/macros/latex/contrib/frege/frege.sty
@@ -0,0 +1,1906 @@
+% frege.sty - a LaTeX2e package for typesetting begriffsschrift
+% by Quirin Pamp <Quirin.Pamp.2009@my.bristol.ac.uk>
+%
+% based on begriff.sty released under GNU General Public License
+% Copyright (C) 2003 by Josh Parsons <josh@coombs.anu.edu.au>
+% with changes made in October 2004 by Richard Heck <heck@fas.harvard.edu>
+% and minor changes by Josh Parsons to fix problem with linespacing (May 2005)
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111,
+% USA (or just search for it online).
+
+%%% changes as compared to begriff.sty:
+% correct relative lengths of various content strokes;
+% content strokes at middle of line rather than bottom;
+% greater width for assertion stroke as compared to content stroke;
+% more intuitive structure of commands (arguments are now given in the same
+% order as they appear on the left of a completed formula);
+% the command conditional with empty arguments now only gives the conditional
+% stroke the other strokes are added as the arguments;
+% accounting for linewidth so that things remain properly centered even for
+% a greater linewidth;
+
+%%% changes in version 1.1:
+% added option to locally set \Fbaselength to all basic strokes;
+% simplified code for \Fbracket in terms of \Fbox;
+% rearranged code in a more logical order;
+
+%%% changes in version 1.2:
+% added new command \Fargument for typesetting arguments;
+% added new command \Fstrut to be used in conjunction with \Fargument;
+% changed \Fbaselength to be the full rather than half the unit length;
+% fixed a bug where the scalefactor introduced in 1.1 does not always reset;
+
+%%% changes in version 1.3:
+% made the (): in \Fargument user defined, so as to make the option properly
+% optional (note to self: don't code past midnight);
+% added a strut to \Fargument so as to produce optically correct centering;
+% added optional shorthands for all new commands for better flow of usage;
+% added option bguq for using bguq font (by J.J. Green) for the quantifier;
+
+%%% planned changes for future versions:
+% solving the problem of nested arguments;
+% the fregean conjunction;
+% a vertical shorthand stroke as I have seen in Begriffsschrift?!;
+% scaling with font size;
+% scaling of bguq character with \Flinewidth;
+
+%%% identification:
+\NeedsTeXFormat{LaTeX2e}%
+\ProvidesPackage{frege}[2012/08/04 v1.3]%
+\typeout{Fregean Begriffsschrift: 2012/08/04 v1.3}%
+
+%%% package dependencies:
+\RequirePackage{amssymb}%
+\RequirePackage{ifthen}%
+
+%%% options:
+% bguq option, if used package bguq must be installed:
+\newboolean{bguq}%
+\setboolean{bguq}{false}%
+\DeclareOption{bguq}{\setboolean{bguq}{true}}%
+\ProcessOptions\relax%
+\ifthenelse{\boolean{bguq}}{\RequirePackage[5]{bguq}}{}%
+
+%%% variable decleration:
+\newlength{\temp}%
+\newlength{\tempp}%
+\newlength{\Fbaselength}%
+\setlength{\Fbaselength}{20pt}% 20pt since v1.2
+\newlength{\Funitlength}%
+\newlength{\Flinewidth}%
+\setlength{\Flinewidth}{0.5pt}%
+\newlength{\Fspace}%
+\setlength{\Fspace}{2pt}%
+\newlength{\Fassertwidth}%
+\setlength{\Fassertwidth}{3\Flinewidth}%
+\newlength{\Fraiseheight}%
+\setlength{\Fraiseheight}{1ex}%
+\addtolength{\Fraiseheight}{-\Flinewidth}%
+\newlength{\Fnegsep}%
+\setlength{\Fnegsep}{3\Flinewidth}%
+\newlength{\Fnegshort}%
+\setlength{\Fnegshort}{2\Flinewidth}%
+\newlength{\Fquantwidth}%
+\setlength{\Fquantwidth}{6pt}%
+\newlength{\Fantecedentheight}%
+\newlength{\Fconsequentdepth}%
+\newsavebox{\Fantecedent}%
+\newsavebox{\Fconsequent}%
+\newlength{\Fantecedentwidth}%
+\newlength{\Fconsequentwidth}%
+\newlength{\Fblockwidth}%
+\newlength{\Fpremiselength}%
+\newlength{\Fthereforelength}%
+\newlength{\Fbguqwidth}% since v1.3
+\ifthenelse{\boolean{bguq}}{\setlength{\Fbguqwidth}{\bguqwidth}}{}%
+
+%%% shorthand commands since v1.3:
+\newcommand{\Fb}[1]{\Fbox{#1}}%
+\newcommand{\Fbb}[1]{\Fbracket{#1}}%
+\newcommand{\Fcdt}[3][]{\Fconditional[#1]{#2}{#3}}%
+\newcommand{\Farg}[4][]{\Fargument[#1]{#2}{#3}{#4}}%
+\newcommand{\Fs}[1][1]{\Fstrut[#1]}%
+\newcommand{\F}[1][1]{\Fcontent[#1]}%
+\newcommand{\Fn}[1][1]{\Fncontent[#1]}%
+\newcommand{\Fnn}[1][1]{\Fnncontent[#1]}%
+\newcommand{\Fa}[1][1]{\Facontent[#1]}%
+\newcommand{\Fan}[1][1]{\Fancontent[#1]}%
+\newcommand{\Fann}[1][1]{\Fanncontent[#1]}%
+\newcommand{\Fq}[1][1]{\Fquant[#1]}%
+\newcommand{\Fnq}[1][1]{\Fnquant[#1]}%
+\newcommand{\Fnnq}[1][1]{\Fnnquant[#1]}%
+\newcommand{\Fqn}[1][1]{\Fquantn[#1]}%
+\newcommand{\Fqnn}[1][1]{\Fquantnn[#1]}%
+\newcommand{\Fnqn}[1][1]{\Fnquantn[#1]}%
+\newcommand{\Fnnqn}[1][1]{\Fnnquantn[#1]}%
+\newcommand{\Fnqnn}[1][1]{\Fnquantnn[#1]}%
+\newcommand{\Fnnqnn}[1][1]{\Fnnquantnn[#1]}%
+\newcommand{\Faq}[1][1]{\Faquant[#1]}%
+\newcommand{\Fanq}[1][1]{\Fanquant[#1]}%
+\newcommand{\Fannq}[1][1]{\Fannquant[#1]}%
+\newcommand{\Faqn}[1][1]{\Faquantn[#1]}%
+\newcommand{\Faqnn}[1][1]{\Faquantnn[#1]}%
+\newcommand{\Fanqn}[1][1]{\Fanquantn[#1]}%
+\newcommand{\Fannqn}[1][1]{\Fannquantn[#1]}%
+\newcommand{\Fanqnn}[1][1]{\Fanquantnn[#1]}%
+\newcommand{\Fannqnn}[1][1]{\Fannquantnn[#1]}%
+
+%%% main body/new commands:
+% boxing complex expressions with a centered baseline:
+\newcommand{\Fbox}[1]{%
+ \settowidth{\temp}{\ensuremath{#1}}%
+ \settoheight{\tempp}{\ensuremath{#1}}%
+ \addtolength{\tempp}{3pt}% visual approximation may not scale right
+ \parbox{\temp}{\rule{0pt}{\tempp}\ensuremath{#1}}%
+}%
+
+% bracketed Fbox v1.1:
+\newcommand{\Fbracket}[1]{\ensuremath{\left(\Fbox{#1}\right)}}%
+
+% conditional stroke \Fconditional[content]{consequent}{antecedent}:
+\newcommand{\Fconditional}[3][]%
+{%
+ \unskip%
+ \sbox{\Fconsequent}{%
+ \rule[-0.3\baselineskip]{0pt}{0.3\baselineskip}% this is a strut
+ \ensuremath{#2}}%
+ \settodepth{\Fconsequentdepth}{%
+ \rule[-0.3\baselineskip]{0pt}{0.3\baselineskip}% this is a strut
+ \ensuremath{#2}}%
+ \sbox{\Fantecedent}{%
+ \rule{0pt}{\baselineskip}% this is a strut
+ \rule[-0.3\baselineskip]{0pt}{0.3\baselineskip}% this is a strut
+ \ensuremath{#3}}%
+ \settoheight{\Fantecedentheight}{%
+ \rule{0pt}{\baselineskip}%
+ \rule[-0.3\baselineskip]{0pt}{0.3\baselineskip}% this is a strut
+ \ensuremath{#3}}%
+ \setlength{\temp}{\lineskip}%
+ \addtolength{\temp}{\Fantecedentheight}%
+ \addtolength{\temp}{\Fconsequentdepth}%
+ \setlength{\tempp}{\temp}%
+ \addtolength{\tempp}{-\Fraiseheight}%
+ \mbox{%
+ \ensuremath{#1\unskip}%
+ \kern-\Flinewidth%
+ \rule[-\tempp]{\Flinewidth}{\temp}%
+ \settowidth{\Fconsequentwidth}{\usebox{\Fconsequent}}% find width
+ \settowidth{\Fantecedentwidth}{\usebox{\Fantecedent}}% find width
+ \settoheight{\temp}{\mbox{% compare and find longer of two widths
+ \rule{0pt}{\Fconsequentwidth}%
+ \rule{0pt}{\Fantecedentwidth}}}%
+ \parbox[t]{\temp}{\usebox{\Fconsequent}\\\usebox{\Fantecedent}}}%
+}%
+
+% argument presentation \Fargument[premise 0]{premise 1}{premise 2}{conclusion} v1.2
+\newcommand{\Fargument}[4][]%
+{%
+ \settowidth{\Fantecedentwidth}{\ensuremath{#2}}%
+ \settowidth{\Fconsequentwidth}{\ensuremath{#3}}%
+ \settoheight{\Fblockwidth}{\mbox{%
+ \rule{0pt}{\Fantecedentwidth}%
+ \rule{0pt}{\Fconsequentwidth}}}%
+ \setlength{\Fthereforelength}{\Fblockwidth}%
+ \addtolength{\Fthereforelength}{1em}%
+ \settowidth{\Fpremiselength}{\ensuremath{#1}}%
+ \mbox{%
+ \raisebox{.69\baselineskip}{\ensuremath{#1}}%
+ \hskip .5em%
+ \parbox[b]{\Fblockwidth}{%
+ \ensuremath{#2}\\%
+ \rule{0pt}{1\baselineskip}\ensuremath{#3}\\%
+ \makebox[\Fblockwidth]{%
+ \rule{0pt}{1.3\baselineskip}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{0.65\baselineskip}%
+ \addtolength{\temp}{0.5\lineskip}%
+ \rule[\temp]{\Fthereforelength}{\Flinewidth}}}%
+ \kern-\Fblockwidth%
+ \ensuremath{#4}%
+ \rule{0.5\Fpremiselength}{0pt}}%
+}%
+
+% strut (for use with argument) v1.2:
+\newcommand{\Fstrut}[1][1]%
+{%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \rule[\Fraiseheight]{\Fbaselength}{0pt}%
+ \setlength{\Fbaselength}{\Funitlength}%
+}%
+
+% content stroke:
+\newcommand{\Fcontent}[1][1]%
+{%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \rule[\Fraiseheight]{\Fbaselength}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+}%
+
+% negated content stroke:
+\newcommand{\Fncontent}[1][1]%
+{%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+}%
+
+% twice negated content stroke:
+\newcommand{\Fnncontent}[1][1]%
+{%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+}%
+
+% asserted content stroke:
+\newcommand{\Facontent}[1][1]%
+{%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{\Fbaselength}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+}%
+
+% asserted negated content stroke:
+\newcommand{\Fancontent}[1][1]%
+{%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+}%
+
+% asserted twice negated content stroke:
+\newcommand{\Fanncontent}[1][1]%
+{%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+}%
+
+% universal quantifier:
+\newcommand{\Fquant}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{0.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{0.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% negated universal quantifier
+\newcommand{\Fnquant}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% twice negated universal quantifier
+\newcommand{\Fnnquant}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% universal quantifier with negated content:
+\newcommand{\Fquantn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% universal quantifier with twice negated content:
+\newcommand{\Fquantnn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% negated universal quantifier with negated content
+\newcommand{\Fnquantn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% negated universal quantifier with twice negated content
+\newcommand{\Fnquantnn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% twice negated universal quantifier with negated content
+\newcommand{\Fnnquantn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% twice negated universal quantifier with twice negated content
+\newcommand{\Fnnquantnn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% asserted universal quantifier:
+\newcommand{\Faquant}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% asserted negated universal quantifier
+\newcommand{\Fanquant}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% asserted twice negated universal quantifier
+\newcommand{\Fannquant}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% asserted universal quantifier with negated content:
+\newcommand{\Faquantn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% asserted universal quantifier with twice negated content:
+\newcommand{\Faquantnn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% asserted negated universal quantifier with negated content:
+\newcommand{\Fanquantn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% asserted negated universal quantifier with twice negated content:
+\newcommand{\Fanquantnn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% asserted twice negated universal quantifier with negated content:
+\newcommand{\Fannquantn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{0.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-0.5\Flinewidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
+
+% asserted twice negated universal quantifier with twice negated content:
+\newcommand{\Fannquantnn}[2][1]%
+{%
+ \ifthenelse{\boolean{bguq}}%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fbguqwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}{\ensuremath{\bguq}}%
+ \kern-\Fbguqwidth%
+ \raisebox{\temp}%
+ {\makebox[\Fbguqwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fbguqwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+ {%
+ \setlength{\Funitlength}{\Fbaselength}%
+ \setlength{\Fbaselength}{#1\Fbaselength}%
+ \unskip%
+ \setlength{\temp}{2\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \rule{\Fassertwidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \addtolength{\temp}{-\Fassertwidth}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.25\Fbaselength}%
+ \addtolength{\temp}{-0.25\Fquantwidth}%
+ \addtolength{\temp}{-\Flinewidth}%
+ \addtolength{\temp}{-0.5\Fnegsep}%
+ \rule[\Fraiseheight]{\temp}{\Flinewidth}%
+ \setlength{\unitlength}{\Fquantwidth}%
+ \raisebox{\Fraiseheight}{%
+ \begin{picture}(1,0)(0,0)%
+ \linethickness{\Flinewidth}%
+ \qbezier(0,0)(0.5,-0.6666)(1,0)%
+ \end{picture}}%
+ \kern-\Fquantwidth%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \raisebox{\temp}%
+ {\makebox[\Fquantwidth]{\ensuremath{\scriptstyle\mathfrak{#2}}}}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \rule[\Fraiseheight]{\Fnegsep}{\Flinewidth}%
+ \setlength{\temp}{\Fraiseheight}%
+ \addtolength{\temp}{\Flinewidth}%
+ \addtolength{\temp}{-\Fnegshort}%
+ \rule[\Fnegshort]{\Flinewidth}{\temp}%
+ \setlength{\temp}{.5\Fbaselength}%
+ \addtolength{\temp}{-0.5\Fquantwidth}%
+ \addtolength{\temp}{-2\Flinewidth}%
+ \addtolength{\temp}{-\Fnegsep}%
+ \rule[\Fraiseheight]{0.5\temp}{\Flinewidth}%
+ \setlength{\Fbaselength}{\Funitlength}%
+ \hskip\Fspace%
+ }%
+}%
diff --git a/macros/latex/contrib/frege/frege.tex b/macros/latex/contrib/frege/frege.tex
new file mode 100644
index 0000000000..67758fc6d3
--- /dev/null
+++ b/macros/latex/contrib/frege/frege.tex
@@ -0,0 +1,418 @@
+\documentclass[12pt]{article}
+\usepackage[bguq]{frege}
+\usepackage{amsmath}
+
+%% For condensed itemize:
+\newcommand{\squishlist}{
+ \begin{list}{$\bullet$}{
+ \setlength{\itemsep}{0pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \setlength{\partopsep}{0pt}
+ \setlength{\leftmargin}{1em}
+ \setlength{\labelwidth}{1em}
+ \setlength{\parskip}{0pt}
+ \setlength{\partopsep}{0pt}
+ \setlength{\rightmargin}{0pt}
+ \setlength{\labelsep}{0.5em}}}
+\newcommand{\squishlistend}{\end{list}}
+
+\title{frege.sty \\ A \LaTeXe Package for Typesetting Begriffsschrift}
+\author{Quirin Pamp \\ \texttt{Quirin.Pamp.2009@my.bristol.ac.uk}}
+
+\begin{document}
+\maketitle
+\section{Background}
+\subsection{Motivation for this Package}
+ I recently decided to read Frege's \emph{Begriffsschrift} from 1879 and found that
+ the only copy I could find online was a rather poor quality scan of the original.
+ Since the copyright on german publications expires some 70 or so years after the
+ death of their author, I had the bright idea to combine reading the paper with
+ the making of an electronic copy. This required the typesetting of begriffsschrift.
+ A quick search on the internet assured me that there was a LaTeX package for just
+ this purpose, and off I went. However I quickly noticed that it would be very
+ difficult to achieve a typesetting I deemed sufficiently close to the original
+ using only the package \emph{begriff} by Josh Parsons. Despite the fact that I
+ have never written a LaTeX package before, a quick look at the source file (only
+ some 300 or so lines with plenty of comments) along with some head scratching
+ convinced me to embark on this further project.
+
+ With the help of the begriff package and the good people on Stack-Exchange, I
+ eventually produced a package that was able to do everything that the original
+ begriff package can, albeit with a few changes I consider an improvement. Further
+ versions largely reflect additional features I added as I continue to type up
+ Frege's original paper, as well as bug fixes and input by members of the LaTeX
+ community. Once I am done I will add the tex file for Fege's paper as the
+ definitive example for the usage of this package.
+
+\subsection{The \emph{begriff} Package}
+ This package is based on begriff.sty released under the GNU General Public
+ License.
+ Copyright (C) 2003 by Josh Parsons (josh@coombs.anu.edu.au) with changes made in
+ October 2004 by Richard Heck (heck@fas.harvard.edu) and minor changes by Josh
+ Parsons to fix a problem with linespacing made in May 2005.
+
+ While I could not have done so without the aforementioned work, I have reworked the
+ package from the ground up, to the point where some of the underlying approaches
+ have changed. On the downside this means there is no simple way of converting
+ anything typeset using begriff.sty to use this package instead. I felt this was
+ necessary to achieve an end result I was happy with.
+
+\subsection{The \emph{bguq} Package}
+ Since version 1.3 I added the option to use the bguq character for all
+ quantifiers. This character is provided by the bguq package by J.J. Green.
+
+\section{Version History}
+\subsection{Changes as Compared to begriff.sty}
+ \squishlist
+ \item correct (closer to the original typesetting) relative lengths of the
+ content stroke with respect to other strokes attached to it;
+ \item content strokes point at the middle of the following symbols, rather
+ than the bottom;
+ \item greater width for the assertion stroke as compared to the content stroke;
+ \item a more intuitive structure for the conditional (arguments are now given in
+ the same order as they appear on the left of a completed formula);
+ \item the command for the conditional with empty arguments now results in a
+ vertical line (conditional stroke) on it's own the other strokes are added as
+ the arguments;
+ \item the linewidth is properly accounted for so that things remain properly
+ centered when scaled;
+ \squishlistend
+
+\subsection{Changes in Version 1.1}
+ \squishlist
+ \item added an optional scale factor to all basic strokes;
+ \item simplified the code for Fbracket in terms of that for Fbox;
+ \item rearranged the code in the style file in a more logical way;
+ \squishlistend
+
+\subsection{Changes in Version 1.2}
+ \squishlist
+ \item added a new command ``Fargument'' for typesetting arguments;
+ \item added a new command ``Fstrut'' to be used in conjunction with Fargument;
+ \item changed Fbaselength to be equal to the full length of a basic stroke (20pt);
+ \item fixed a bug where the scale factor introduced in version 1.1 does not reset
+ after all uses;
+ \squishlistend
+
+\subsection{Changes in Version 1.3}
+ \squishlist
+ \item made the ``():'' used in the Fargument command introduced in version 1.2
+ user defined so as to make the option properly optional;
+ \item added a strut to Fargument so as to produce visually correct centering;
+ \item added optional shorthands for all commands for a better flow of usage;
+ \item added the option ``bguq'' to the package which uses the bguq font by J.J.
+ Green for all quantifiers;
+ \squishlistend
+
+\subsection{Changes and Features yet to come}
+ \squishlist
+ \item a way to display nested arguments;
+ \item the fregean conjunction (it exists);
+ \item a vertical shorthand stroke such as used by Frege for typesetting arguments
+ in his original paper;
+ \item scaling symbols automatically with changes in font size;
+ \item scaling of the bguq character with changes in Flinewidth;
+ \squishlistend
+
+\section{Features and Usage}
+\subsection{Commands}
+\subsubsection{Basic Commands}
+ The following is a list of the basic commands provided by this package along with
+ accompanying output and the optional shorthand for the command.
+ \begin{flalign*}
+ &\mbox{Command:} & &\mbox{Output:} & &\mbox{Shorthand:}\\
+ &\mbox{\textbackslash Fcontent[1]} & &\Fcontent
+ & &\mbox{\textbackslash F[1]}\\
+ &\mbox{\textbackslash Fncontent[1]} & &\Fncontent
+ & &\mbox{\textbackslash Fn[1]}\\
+ &\mbox{\textbackslash Fnncontent[1]} & &\Fnncontent
+ & &\mbox{\textbackslash Fnn[1]}\\
+ &\mbox{\textbackslash Facontent[1]} & &\Facontent
+ & &\mbox{\textbackslash Fa[1]}\\
+ &\mbox{\textbackslash Fancontent[1]} & &\Fancontent
+ & &\mbox{\textbackslash Fan[1]}\\
+ &\mbox{\textbackslash Fanncontent[1]} & &\Fanncontent
+ & &\mbox{\textbackslash Fann[1]}\\
+ &\mbox{\textbackslash Fquant[1]\{a\}} & &\Fquant{a}
+ & &\mbox{\textbackslash Fq[1]}\\
+ &\mbox{\textbackslash Fnquant[1]\{a\}} & &\Fnquant{a}
+ & &\mbox{\textbackslash Fnq[1]\{a\}}\\
+ &\mbox{\textbackslash Fnnquant[1]\{a\}} & &\Fnnquant{a}
+ & &\mbox{\textbackslash Fnnq[1]\{a\}}\\
+ &\mbox{\textbackslash Fquantn[1]\{a\}} & &\Fquantn{a}
+ & &\mbox{\textbackslash Fqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fquantnn[1]\{a\}} & &\Fquantnn{a}
+ & &\mbox{\textbackslash Fqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Fnquantn[1]\{a\}} & &\Fnquantn{a}
+ & &\mbox{\textbackslash Fnqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fnquantnn[1]\{a\}} & &\Fnquantnn{a}
+ & &\mbox{\textbackslash Fnqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Fnnquantn[1]\{a\}} & &\Fnnquantn{a}
+ & &\mbox{\textbackslash Fnnqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fnnquantnn[1]\{a\}} & &\Fnnquantnn{a}
+ & &\mbox{\textbackslash Fnnqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Faquant[1]\{a\}} & &\Faquant{a}
+ & &\mbox{\textbackslash Faq[1]\{a\}}\\
+ &\mbox{\textbackslash Fanquant[1]\{a\}} & &\Fanquant{a}
+ & &\mbox{\textbackslash Fanq[1]\{a\}}\\
+ &\mbox{\textbackslash Fannquant[1]\{a\}} & &\Fannquant{a}
+ & &\mbox{\textbackslash Fannq[1]\{a\}}\\
+ &\mbox{\textbackslash Faquantn[1]\{a\}} & &\Faquantn{a}
+ & &\mbox{\textbackslash Faqn[1]\{a\}}\\
+ &\mbox{\textbackslash Faquantnn[1]\{a\}} & &\Faquantnn{a}
+ & &\mbox{\textbackslash Faqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Fanquantn[1]\{a\}} & &\Fanquantn{a}
+ & &\mbox{\textbackslash Fanqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fanquantnn[1]\{a\}} & &\Fanquantnn{a}
+ & &\mbox{\textbackslash Fanqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Fannquantn[1]\{a\}} & &\Fannquantn{a}
+ & &\mbox{\textbackslash Fannqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fannquantnn[1]\{a\}} & &\Fannquantnn{a}
+ & &\mbox{\textbackslash Fannqnn[1]\{a\}}\\
+ \end{flalign*}
+ This may seem like a daunting list, but there is an exceedingly simple way to think
+ about it. In a sense there are only two commands \textbackslash Fcontent[1] and
+ \textbackslash Fquant[1]\{\}. These two commands can be augmented with a
+ combination of as and ns so as to add assertion and negation strokes respectively.
+ Any stroke that is asserted (has a fat vertical line at the start) starts with
+ `\textbackslash Fa'. This may be followed by either one or two or no `n' to add one
+ or two or no negation strokes (the small vertical lines below the content
+ stroke). Next comes the name of the main command, either `quant' or `content'.
+ Finally the quantifiers may be followed by either one or two `n' to add one or two
+ negation strokes to the content stroke after the quantifier's depression.
+
+ Consider also that many of these commands are only really present for completeness
+ sake. It is difficult to imagine a situation where a twice negated quantifier with
+ twice negated content would ever be needed.
+
+ Since version 1.1 all basic strokes also have an optional scaling factor. A command
+ followed by [.5], for example would produce a stroke exactly half the default
+ length while [2] produces a stroke twice the default length. (The default length
+ is given by \textbackslash Fbaselength which is set to 20pt. Scaling allows for
+ greater control in the total length of formula as well as for a shorter syntax.
+ (We can replace expressions like \textbackslash Facontent \textbackslash Fcontent
+ with \textbackslash Facontent[2].) Care must be taken not to set a length that is
+ shorter than what is needed to fit all the parts of some basic stroke. This will
+ lead to negative lengths and hence unpredictable output.
+
+ All quantifiers also have a mandatory argument that specifies the variable
+ associated with the quantifier. (Mandatory arguments are contained in a set of
+ curly brackets \{ and \}). This argument should be a single small letter and
+ will be typeset above the semi circular depression in the assertion stroke in
+ mathfrak font which is provided by tha amssymb package. This font can be used in
+ maths mode by using the command `\textbackslash mathfrak\{\}'. Note that all the
+ commands provided by this package may be used in both math and text mode. (Though
+ math mode usually results in better formatting.)
+
+ Finally one may combine the above commands in arbitrary combinations which will
+ result in gapless longer strokes. (Eg.: $\Faquant[0.6]{a}\Fnquantn[1.4]{b}A$)
+ which may be roughly translated into english as ``for all $\mathfrak{a}$ there
+ exists a $\mathfrak{b}$ such that $A$''. (The commands I used for this expression
+ are \$\textbackslash Faquant\{a\}\textbackslash Fnquantn\{b\}A\$).
+
+\subsubsection{Conditional}
+ The conditional is the most important command in this package since it gives
+ Frege's Begriffsschrift it's two dimensional structure.\\
+ The syntax for the Fconditional command is as follows:
+
+ \textbackslash Fconditional[\textless option\textgreater]
+ \{\textless consequent\textgreater\}\{\textless antecedent\textgreater\}\\
+ The shorthand version (since version 1.3) is given by ``\textbackslash Fcdt''.
+
+ The arguments may in principle be anything, but you will only get a begriffschrift
+ formula if the arguments are themselves given by appropriate commands from the list
+ of basic commands given earlier. As an example, an asserted conjunction between $A$
+ and $B$ would be given as follows:
+
+ \$\textbackslash Fconditional[\textbackslash Fancontent]\{\textbackslash Fncontent
+ A\}\{\textbackslash Fcontent B\}\$ \\
+ and produce the following output:
+ \begin{align*}
+ \Fbox{\Fconditional[\Fancontent]{\Fncontent A}{\Fcontent B}}
+ \end{align*}
+ In addition Fconditional may be nested as it's own argument to arbitrary depth.
+ Nesting in the option is not recommended. \\
+ A conditional with nested consequent may be given as follows:
+
+ \$\textbackslash Fconditional[\textbackslash Facontent]\{\textbackslash
+ Fcontent\textbackslash Fconditional\{\textbackslash Fcontent A\}\{\textbackslash
+ Fcontent B\}\}\{\textbackslash Fcontent\textbackslash Fcontent C\}\$\\
+ and produces the following output:
+ \begin{align*}
+ \Fbox{\Fconditional[\Facontent]{\Fcontent\Fconditional{\Fcontent A}
+ {\Fcontent B}}{\Fcontent[2] C}}
+ \end{align*}
+ A conditional with nested antecedent may be given as follows:
+
+ \$\textbackslash Fconditional[\textbackslash Facontent]\{\textbackslash Fcontent
+ \textbackslash Fcontent A\}\{\textbackslash Fcontent\textbackslash Fconditional
+ \{\textbackslash Fcontent B\}\{\textbackslash Fcontent C\}\}\$\\
+ and produces the following output:
+ \begin{align*}
+ \Fbox{\Fconditional[\Facontent]{\Fcontent[2] A}{\Fcontent\Fconditional%
+ {\Fcontent B}{\Fcontent C}}}
+ \end{align*}
+ Each section of a content stroke may thus be replaced with any of the strokes given
+ by the list of basic commands. Note that it is up to the user to place the
+ appropriate number of strokes in each argument to ensure that the content strokes
+ all line up on the right hand side.
+
+\subsubsection{Brackets and Boxes}
+ There are two more commands to be considered:
+
+ \textbackslash Fbox\{\textless complex expression\textgreater\}\\
+ The shorthand version (since version 1.3) is given by \textbackslash Fb\{\}
+
+ \textbackslash Fbracket\{\textless complex expression\textgreater\}\\
+ The shorthand version (since version 1.3) is given by \textbackslash Fbb\{\}
+
+ Both Fbox and Fbracket take what I have called a `complex expression' for their
+ argument. A `complex expression' is any formula in begriffsschrift that has at
+ least one conditional in it. It is generally a good idea to put all complex
+ expressions into either a Fbox or a Fbracket. It is never necessary to place a
+ complex expressions into both an Fbox and an Fbracket since an Fbox simply is a
+ Fbracket without the actual brackets. Fbracket exists only for convenience with
+ the same effect being achieved by \textbackslash left(\textbackslash Fbox\{\}
+ \textbackslash right).
+
+ The reason why the Fbox is a good idea, is that the baseline is very near the top of
+ a complex expression of Begriffsschrift, which can make for some odd formatting
+ effects. In addition to placing the baseline at the middle of a complex expression
+ an Fbox ensures the expression is treated by LaTeX as a single object and given
+ enough space.
+
+ Finally a complex expression may not format correctly in some environments (like
+ the align* environment for example) unless it is placed in an Fbox. In short,
+ always use an Fbox (or Fbracket).
+
+\subsubsection{Arguments and Struts}
+ Since version 1.2 two commands have been added that allow for the typesetting of
+ arguments. The syntax for the argument command is as follows:
+
+ \textbackslash Fargument[\textless premise 0\textgreater]\{\textless premise
+ 1\textgreater\}\{\textless premise 2\textgreater\}\{\textless conclusion
+ \textgreater\}\\
+ The shorthand version (since version 1.3) is given by \textbackslash Farg
+
+ In the following esample the optional argument for premise 0 (an absent premise
+ takes the value `$(X):$' the premises are the two formulas above the therfore line
+ and the conclusion is the formula below the therefore line. The Begriffschrift
+ expressions in the arguments of the Fargument command do not need to be placed in
+ an Fbox, since the Fargument command works by boxing it's arguments allready.
+ \begin{align*}
+ \Fargument[(X):]
+ {\Fconditional[\Facontent]
+ {\Fcontent[2] A}
+ {\Fcontent\Fconditional{\Fcontent B}{\Fcontent C}}}
+ {\Fstrut[2]\Facontent C}
+ {\Fstrut[2]\Facontent A}
+ \end{align*}
+ where $X=\Facontent B$; (this is typeset seperately from the Fargument command);
+
+ The three begriffsschrift formulas above are in fact aligned leftbound. To make
+ them appear rightbound no matter what the relative lengths of $A$, $B$, and $C$,
+ the command ``Fstrut'' has been used in front of $\Facontent C$ and $\Facontent A$.
+ The command ``\textbackslash Fstrut[1]'' works exactly like an invisible content
+ stroke, that is it inserts space of length Fbaselength. Like all basic strokes it
+ can be scaled via an optional scale factor. Since version 1.3 it may be called by
+ the optional shorthand ``\textbackslash Fs''
+
+\subsection{Lengths}
+ In theory all the dimensions in this package can be changed with the command
+ \textbackslash setlength\{\textless name of length\textgreater\}\{\textless new
+ value\textgreater\}, though I have not done a great deal of testing and recommend
+ sticking to the default values. The following then is a table of all lengths: \\
+ \begin{tabular}{|l|l|l|}
+ \hline
+ name & default value & description \\
+ \hline
+ \textbackslash Fbaselength & 20pt & the length of the basic strokes \\
+ \textbackslash Flinewidth & 0.5pt & the line width \\
+ \textbackslash Fspace & 2pt & seperation between lines and text/formula \\
+ \textbackslash Fassertwidth & 3\textbackslash Flinewidth & width of assert
+ stroke \\
+ \textbackslash Fraiseheight & 1ex-\textbackslash Flinewidth & height of content
+ lines above baseline \\
+ \textbackslash Fnegsep & 3\textbackslash Flinewidth & seperation between a
+ double negation \\
+ \textbackslash Fnegshort & 2\textbackslash Flinewidth & space between negation
+ stroke and baseline \\
+ \textbackslash Fquantwidth & 6pt & width of the semi-circular quantifier
+ depression \\
+ \hline
+ \end{tabular}
+ the height of the conditional stroke is determined by the size of the contents of
+ the conditionals argument, as well as the baselineskip of the surrounding text. It
+ cannot be changed manually.
+
+\subsection{The \emph{bguq} Option}
+ Since version 1.3 this package may be called with the option ``bguq'' as follows: \\
+ \textbackslash usepackage[bguq]\{frege\}\\
+ If the option is enabled all quantifiers will be typeset using the bguq font
+ provided by the bguq package by J.J. Green. (This document is typeset using the
+ option). This means that the bguq package must be installed if the option is
+ enabled. (It can be found on ctan).
+
+ Warning: At present the bguq character scales with font size while the rest of the
+ symbols provided by this package do not. Also the bguq character does not respond
+ to a change in Flinewidth.
+
+\subsection{Final Example}
+ The Geach-Kaplan sentance (with thanks to Marcus Rossberg):
+ \begin{align*}
+ \Fbox%
+ {%
+ \Fconditional[{\Facontent[.2]\Fnquant{F}\Fcontent[.2]}]%
+ {%
+ \Fcontent%
+ \Fconditional%
+ {%
+ \Fcontent[3]%
+ \Fbox%
+ {%
+ f\Fbracket%
+ {%
+ \Fconditional[\Faquant{a}]%
+ {\Fcontent C\mathfrak{(a)}}%
+ {\Fcontent \mathfrak{F(a)}}%
+ }%
+ }%
+ }%
+ {\Fcontent\Fnquantn{b}\Fcontent\mathfrak{F(b)}}%
+ }%
+ {%
+ \Fcontent[0.4]%
+ \Fquant[0.6]{c}%
+ \Fquant[0.6]{d}%
+ \Fcontent[0.4]%
+ \Fconditional%
+ {%
+ \Fncontent%
+ \Fconditional{\Fcontent\mathfrak{c=d}}{\Fcontent\mathfrak{F(d)}}%
+ }%
+ {%
+ \Fncontent%
+ \Fconditional{\Fncontent\mathfrak{F(c)}}{\Fcontent A\mathfrak{(c,d)}}%
+ }%
+ }%
+ }%
+ \end{align*}
+ And that is all. \\
+ For comments, suggestions, identified errors, email me at \\
+ \textless Q.Pamp.2009@my.bristol.ac.uk\textgreater.
+\end{document}
+
+\section{GNU General Public License}
+ This package and all accompanying documentation is released under the GNU General
+ Public License. It is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with this
+ program; if not, write to the Free Software Foundation, Inc., 59 Temple Place -
+ Suite 330, Boston, MA 02111, USA. (Or just search for it online.)