summaryrefslogtreecommitdiff
path: root/fonts
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-07-07 03:03:32 +0000
committerNorbert Preining <norbert@preining.info>2021-07-07 03:03:32 +0000
commit4747884efc69f5b8ad51cc818467f7bbf428b815 (patch)
treed05568e0369ce16288bc105806553f717c194a1c /fonts
parent109a435244c29109322bcd46386301f6c62d4061 (diff)
CTAN sync 202107070303
Diffstat (limited to 'fonts')
-rw-r--r--fonts/logix/CHANGELOG52
-rw-r--r--fonts/logix/README16
-rw-r--r--fonts/logix/doc/logix.pdfbin462783 -> 477713 bytes
-rw-r--r--fonts/logix/doc/logix.tex417
-rw-r--r--fonts/logix/fonts/logix.eotbin411069 -> 433883 bytes
-rw-r--r--fonts/logix/fonts/logix.ttfbin1174964 -> 1183464 bytes
-rw-r--r--fonts/logix/fonts/logix.woffbin497756 -> 525668 bytes
-rw-r--r--fonts/logix/fonts/logix.woff2bin338580 -> 345252 bytes
-rw-r--r--fonts/logix/fonts/logixMono.eotbin29958 -> 32701 bytes
-rw-r--r--fonts/logix/fonts/logixMono.ttfbin69572 -> 69588 bytes
-rw-r--r--fonts/logix/fonts/logixMono.woffbin36120 -> 34284 bytes
-rw-r--r--fonts/logix/fonts/logixMono.woff2bin31884 -> 33980 bytes
-rw-r--r--fonts/logix/opentype/logix.otfbin550812 -> 564584 bytes
-rw-r--r--fonts/logix/opentype/logixMono.otfbin63800 -> 68416 bytes
-rw-r--r--fonts/logix/source/logix.vfcbin4893441 -> 4921426 bytes
-rw-r--r--fonts/logix/source/logixMono.vfcbin546215 -> 546299 bytes
-rw-r--r--fonts/logix/tex/logix.sty448
17 files changed, 653 insertions, 280 deletions
diff --git a/fonts/logix/CHANGELOG b/fonts/logix/CHANGELOG
index c7a75b3fd0..aa703db329 100644
--- a/fonts/logix/CHANGELOG
+++ b/fonts/logix/CHANGELOG
@@ -1,3 +1,55 @@
+2021-07-06 v.09
+
+ 1. Corrected \Tild to point to non-monospace version of character.
+
+ 2. Added \Cpyrght for non-monospace version of character.
+
+ 3. Reverted change from /OpnTurn and /ClsTurn to /OpnForce and /ClsForce since the
+ change is non-intuitive and the use as "force" does not appear to be widespread.
+
+ 4. Corrected outline for RplcEquvRight.
+
+ 5. Added \RplcAllBnd, \RplcAll, \RplcFree, \RplcEquv, \RplcAny, \RplcAnyRight,
+ and \RplcAnyLeft.
+
+ 6. \EmptyBunch renamed to \VoidBunch.
+
+ 7. The modal operator names were shifted around, with two new sets of modal operators
+ added.
+
+ 8. Added Sheffer's stroke (\Shfr), logical nand (\Lnand) and logical nor (Lnor).
+
+ 9. Added zero width space (\NoSpace) as glyph, whereas \KntZZ is not an actual glyph.
+
+ 10. Exported \Lxor for logical XOR symbol.
+
+ 11. Added \Vmeet and \Vjoin, respectively as up and down hooked arrow.
+
+ 12. Added \NtExists, \HdnExists and \HdnForAll, \BnchNtExists, \BnchHdnExists and
+ \BnchHdnForAll.
+
+ 13. Added \SbNd, \SbOr, \SbNand, \SbNor, \SbXor, \SbLs, \SbNotLs, \SbLse, \SbNotLse,
+ \SbGre, \SbNoteGre, \SbGr and \SbNotGr.
+
+ 14. The LogixProof and LogixSequent environments now use braces for justification
+ references rather than brackets.
+
+ 15. Added \Cover.
+
+ 16. The \Defn symbol sidebearings tweaked to improve readability and the LogixDefn
+ environment modified to provide alignment on the definition symbol, which is now
+ incorporated into the environment. The LogixAxiom environment has been added to
+ provide formatted axioms or postulates.
+
+ 17. The LogixTable environment was added to provide a consistent appearance for
+ semantic maps and tableau.
+
+ 18. The LgcCohrnc and BncCohrnc symbols were renamed to LgcBistab and BncBistab.
+
+ 19. The mathtools package is now included automatically.
+
+ 20. The Blnk line option was added for the LogixProof and LogixSeqnt environment.
+
2021-01-17 v1.08
1. The \OpnTurn and \ClsTurn symbols have been renamed to \OpenForce and \ClsForce,
diff --git a/fonts/logix/README b/fonts/logix/README
index 8a79e7cee9..00a500924d 100644
--- a/fonts/logix/README
+++ b/fonts/logix/README
@@ -1,6 +1,6 @@
The logix package.
-This is the README for the logix package, version 2021-01-17 v1.08.
+This is the README for the logix package, version 2021-07-06 v1.09.
This package provides supplemental symbols for use in logic and mathematics
which are largely not present in Unicode. Some symbols are in Unicode but
@@ -10,8 +10,8 @@ more general mathematics, but has different requirements for readability.
This font is intended to supplement, but not replace the AMS STIX2 fonts.
However, it may used with any mathematical font since it does not replace or
redefine any symbols. This package also provides an environment for drawing
-knots using the \Knt drawing symbols and three environments for Hilbert style
-logic definitions and theorems.
+knots using the \Knt drawing symbols and several environments for Hilbert
+style logic definitions, axioms and theorems.
This is an OpenType font where all of the symbols (more than 4,000) other than
the ASCII codepage are in the private use area. As such, the package requires
@@ -27,14 +27,14 @@ stretchy up to 5 times the original size. Some of the delimiters are present
in Unicode, but their design in STIX2 does not work as well for logic. In
particular, STIX2 delimiters tend to not extend as far below the baseline
and above the baseline as would be desirable. Also, some STIX2 delimiters
-take more horizontal space than is necessary.
+take more horizontal space than necessary.
There are twenty one scripts, each of which (except for the two Greek scripts)
have matching numeric, lower case and upper case glyphs. All symbols in this
font are designed to be compatible with the STIX2 mathematical font by AMS.
Some of these scripts overlap the Unicode math scripts, but are not intended
to be replacements for those. Unicode does not include everything for a specific
-script -- digits or lower case may be missing, or even individual letters
+script -- digits or lower case letters may be missing, or even individual letters
(although that may have changed). That is an issue when using a script for
variable naming. Some script variants are omitted. Many of those variants are
useful in logic. The scripts included are sans serif, slab serif, normal serif
@@ -134,12 +134,12 @@ For example:
\setmainfont{STIX Two Text} % AMS STIX2 used for main font.
\setmathfont{STIX Two Math} % AMS STIX2 used for math font.
- \setmonofont{Logix} % Only if using Logix for listings.
+ \setmonofont{Logix Mono} % Only if using Logix for listings.
This distribution also contains logix.vfc and logixMono.vfc, which are the master
font files used to build the actual font files. It is not needed for LaTeX usage,
-but is provided should I become unable to maintain the package, and it is picked
-up by another maintainer. This is a FontLab (currently version 7.1.4) source file.
+but is provided should I become unable to maintain the package, and is picked up
+by another maintainer. This is a FontLab (currently version 7.2.0) source file.
As briefly mentioned above, the various web font files (.eot, .ttf, .woff and
.woff2) are provided so that any user who wishes to use the font on a web page
diff --git a/fonts/logix/doc/logix.pdf b/fonts/logix/doc/logix.pdf
index c3c2751ce7..38184ad7ae 100644
--- a/fonts/logix/doc/logix.pdf
+++ b/fonts/logix/doc/logix.pdf
Binary files differ
diff --git a/fonts/logix/doc/logix.tex b/fonts/logix/doc/logix.tex
index a59d5bb939..c4a60c4098 100644
--- a/fonts/logix/doc/logix.tex
+++ b/fonts/logix/doc/logix.tex
@@ -5,14 +5,13 @@
\usepackage[margin=0.5in]{geometry}
\setlength{\parskip}{0.5em}
- \usepackage{mathtools}
\usepackage{array}
\usepackage{logix}
\setmainfont{STIX Two Text}[NFSSFamily=mainfont,BoldFont={STIX Two Text Bold},ItalicFont={STIX Two Text Italic},BoldItalicFont={STIX Two Text Bold Italic}]
\setmathfont{STIX Two Math}[NFSSFamily=mathfont,BoldFont={},ItalicFont={},BoldItalicFont={}]
- \setmonofont{Logix}[NFSSFamily=monofont,BoldFont={},ItalicFont={},BoldItalicFont={}]
+ \setmonofont{Logix Mono}[NFSSFamily=monofont,BoldFont={},ItalicFont={},BoldItalicFont={}]
\usepackage{scrextend}
\usepackage{csquotes}
@@ -26,6 +25,8 @@
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{0.01pt}
+ \hyphenation{tableaux tab-leaux}
+
\newcommand \testFrac {\frac{\frac{\frac{\frac{1}{1}}{\frac{1}{1}}}{\frac{\frac{1}{1}}{\frac{1}{1}}}}{\frac{\frac{\frac{1}{1}}{\frac{1}{1}}}{\frac{\frac{1}{1}}{\frac{1}{1}}}}}
\newcommand \delEnd {\rule[-5em]{0pt}{10.0em}}
@@ -90,7 +91,7 @@
\newgeometry{left=1.5in,right=1.5in,bottom=1.00in,top=0.75in}
- \section{Introduction: logix 2021-01-17 v1.08}
+ \section{Introduction: logix 2021-07-06 v1.09}
The logix package provides the logix Unicode font and must be used either with
\LuaLaTeX\ or \XeLaTeX. There are no available options. The Logix font contains
@@ -99,12 +100,12 @@
Unicode's Private Use Area. This package does not replace either the text font or the
math font but may be used to replace the monospace font.
- The logix package includes, in turn, the iftex, unicode-math and arydshln packages. The
- unicode-math package is passed the \enquote{bold-style=ISO} parameter and includes the
- fontspec package. The arydsln package conflicts with several packages. Known conflicts
- are the array, longtable, colortab and colortbl packages, all of which must be loaded
- before the logix package when they are used. Typical use of the logix package in a
- \LaTeX\ source file is:
+ The logix package includes, in turn, the iftex, mathtools, unicode-math and arydshln
+ packages. The unicode-math package is passed the \enquote{bold-style=ISO} parameter
+ and includes the fontspec package. The arydsln package conflicts with several packages.
+ Known conflicts are the array, longtable, colortab and colortbl packages, all of which
+ must be loaded before the logix package when they are used. Typical use of the logix
+ package in a \LaTeX\ source file is:
\begin{addmargin}[0.25in]{0.em}
\begin{FontSize}{9}{11}
@@ -187,7 +188,7 @@
since there is no real consensus for their use \textemdash\ although some are most
frequently associated with classical logic. Various flavors of turnstiles (and their
negations) are also provided. There is more of a consensus for their usage although the
- author has only seen two publications with the very useful sequent ({\textbackslash}Seq
+ author has only seen a few publications with the very useful sequent ({\textbackslash}Seq
$\Seq$) symbol. Additional arrows are provided as an alternative to the slash typically
used for replacement in quantification and arrows are provided for shift operators.
@@ -505,43 +506,46 @@
\end{tabular}
\clearpage
- \section{Logic Proofs}
+ \section{Logic Definitions, Axioms and Proofs}
\LaTeX\ has more than adequate support for traditional mathematical proofs.
Conversely, in logic, object proofs are written either as a linear sequence
(usually Hilbert style proofs) or as a tree (usually Natural Deduction or Gentzen
systems), but linear proofs can be used with most systems of logic. Tree style
- proofs have support in several other packages. However, linear proofs do not.
- This package supplies three environments to support linear proofs to alleviate
- this deficiency.
+ proofs have support in several other packages. However, Hilbert style proofs do not.
+ This package supplies several environments to support Hilbert style definitions,
+ axioms and proofs to alleviate this deficiency.
Logic definitions typically have a name with an optional number (e.g. \enquote{Ax. 3}
- or \enquote{Conjunction}), an expression and, optionally, a brief comment. A definition
- may stand alone or multiple definitions may be grouped. The LogixDefn environment
- provides structured formatting for logic definitions, either singly or as a group.
- The LogixDefn environment does not have required parameters, but does have an
- optional parameter. That parameter must be a horizontal length. If present, all of
- the definition expressions must fit within that length and its presence indicates
+ or \enquote{Conjunction}), a left expression, a right expression and, optionally, a
+ brief comment. A definition may stand alone or multiple definitions may be grouped.
+ The LogixDefn environment provides structured formatting for logic definitions, either
+ singly or as a group. The LogixDefn environment does not have required parameters, but
+ does have an optional parameter. That parameter must be a horizontal length. If present,
+ all of the definition expressions must fit within that length and its presence indicates
that a comment may optionally follow each expression. The length should be sufficient
to allow adequate space between the longest expression and the start of the comments,
and to avoid the expressions overlapping the comments.
- The LogixDefn environment defines the nested Line macro, which has three parameters
- if the optional LogixDefn parameter is not present, and otherwise four. The
- fourth parameter may not be omitted if the length parameter is present and contains
+ The LogixDefn environment defines the nested Line macro, which has four parameters
+ if the optional LogixDefn parameter is not present, and otherwise five. The
+ fifth parameter may not be omitted if the length parameter is present and contains
a possibly empty comment to be placed at the end of the line following the
expression. The basic three parameters for the Line macro are the definition's name,
- optional number (the empty argument must be present if there is no number) and
- the definition expression, which is typeset in math mode. Two examples of its use
- follow. Expressions in most examples are meaningless and only serve to show the
- presence of an expression.
+ optional number (the empty argument must be present if there is no number), the left
+ side of the definition and the right side of the definition, the latter two of which
+ are typeset in math mode. The left expression is right aligned and the right expression
+ is left aligned. The left and right sides of a definition are separated by the
+ definition symbol ($\Defn$), which is aligned when grouping expressions. Two examples
+ of its use follow. Expressions in most examples are meaningless and only serve to show
+ the presence of an expression.
\begin{addmargin}[0.25in]{0.em}
\begin{FontSize}{9}{11}
\begin{verbatim}
\begin{LogixDefn}
- \Line{Neg} {1}{\symsau{p} \Equv \symsau{q}}
- \Line{Conj}{} {\symsau{p} \Equv \symsau{q}}
+ \Line{Neg} {1}{\symsau{p}}{\symsau{q}}
+ \Line{Conj}{} {\symsau{p}}{\symsau{q}}
\end{LogixDefn}
\end{verbatim}
\end{FontSize}
@@ -551,8 +555,8 @@
\begin{FontSize}{9}{11}
\begin{verbatim}
\begin{LogixDefn}[5em]
- \Line{Df}{1}{\symsau{p} \Equv \symsau{q}}{Some comment}
- \Line{Df}{2}{\symsau{p} \Equv \symsau{q}}{Yet another comment}
+ \Line{Df}{1}{\symsau{p}}{\symsau{q}}{Some comment}
+ \Line{Df}{2}{\symsau{p}}{\symsau{q}}{Yet another comment}
\end{LogixDefn}
\end{verbatim}
\end{FontSize}
@@ -565,54 +569,106 @@
\begin{addmargin}[0.25in]{0.em}
\begin{LogixDefn}
- \Line{Neg} {1}{\symsau{p} \Equv \symsau{q}}
- \Line{Conj}{} {\symsau{p} \Equv \symsau{q}}
+ \Line{Neg} {1}{\symsau{p}}{\symsau{q}}
+ \Line{Conj}{} {\symsau{p}}{\symsau{q}}
\end{LogixDefn}
\begin{LogixDefn}[5em]
- \Line{Df}{1}{\symsau{p} \Equv \symsau{q}}{Some comment}
- \Line{Df}{2}{\symsau{p} \Equv \symsau{q}}{Yet another comment}
+ \Line{Df}{1}{\symsau{p}}{\symsau{q}}{Some comment}
+ \Line{Df}{2}{\symsau{p}}{\symsau{q}}{Yet another comment}
\end{LogixDefn}
\end{addmargin}
\end{flushleft}
\vspace{-0.50em}
- Environments defined in this package do not affect the indentation level.
- The LogixDefn environment would also be used to state axioms or theorems without
- associated proofs. In this document, the addmargin environment provided by the
- scrextend package is used to provide indentation.
+ Environments defined in this package do not affect the indentation level. In this
+ document, the addmargin environment provided by the scrextend package is used to
+ provide indentation.
+ \clearpage
- A linear logical theorem typically has a name (including any number), a possibly
- empty set of postulates and the theorem's expression. The LogixProof environment
- provides structured formatting for linear logic theorems. The LogixProof environment
- has four arguments with the first one optional. The optional argument is a horizontal
- length, and provides a width for the expression in each proof line which is followed
- by a comment when the length argument is present. The other three arguments are the
- name (and any associated number) of the theorem, a possibly empty set of postulates
- which are assumed only for the purpose of the proof (e.g. assuming the Axiom of
- Choice (AC) for a specific theorem when working in ZF instead of ZFC).
+ The LogixAxiom environment is very similar to the LogixDefn environment, except
+ that there is only one expression, which is left aligned. Two examples of its use
+ are shown below. The first example is two replacement rules with required
+ meta-conditions. One for sequents and one for an equivalence operator. The second
+ example is similar, but without the required meta-conditions.
- \clearpage
- Postulates are distinguished from axioms. An axiom is assumed to hold for all
- theorems in a system whereas a postulate is only assumed to hold for a specific
- proof. The third parameter is the statement (the theorem's expression) of the proof.
-
- The LogixProof environment defines the Dash and Line nested macros. These are
- identical except that the Dash macro is followed by a dashed line separator and
- the Line macro is followed by a solid line separator. Each line of the proof is
- represented by an occurrence of one of these macros. The last line of the proof
- is normally represented by a Line macro. Each of these macros has four parameters
- (five when the optional length argument of the LogixProof environment is present).
- There are two typical styles for each line of a linear logical proof. The first
- is commonly used in short examples and in introductory texts. It starts with a
- line number, the expression for the proof line and an optional comment which
+\begin{addmargin}[0.25in]{0.em}
+\begin{FontSize}{9}{11}
+\begin{verbatim}
+\begin{LogixAxiom}
+ \Line{Rp} {12} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q}
+ \ClsParn, \symsau{p} \WkEquv \symsau{q}, \symsau{e} \Seq
+ \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p}
+ \ClsBrkt }
+ \Line{Rp} {2} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q}
+ \ClsParn, \symsau{p} \WkEquv \symsau{q} \Seq \symsau{e}
+ \WkEquv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p}
+ \ClsBrkt }
+ \end{LogixAxiom}
+
+\begin{LogixAxiom}[10em]
+ \Line{Ax} {1} {\symsau{p} \Equv \symsau{q}, \symsau{e} \Seq \symsau{e}
+ \OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+ { Sequent replacement rule. }
+ \Line{Ax} {2} {\symsau{p} \Equv \symsau{q} \Seq \symsau{e} \Equv \symsau{e}
+ \OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+ { Equivalence replacement rule. }
+ \end{LogixAxiom}
+\end{verbatim}
+\end{FontSize}
+\end{addmargin}
+
+ \begin{flushleft}
+ These examples are typeset as shown below.
+ \vspace{0.25em}
+
+ \begin{addmargin}[0.25in]{0.em}
+ \begin{LogixAxiom}
+ \Line{Rp} {12} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q} \ClsParn, \symsau{p} \WkEquv \symsau{q}, \symsau{e} \Seq \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+ \Line{Rp} {2} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q} \ClsParn, \symsau{p} \WkEquv \symsau{q} \Seq \symsau{e} \WkEquv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+ \end{LogixAxiom}
+
+ \begin{LogixAxiom}[10em]
+ \Line{Ax} {1} {\symsau{p} \Equv \symsau{q}, \symsau{e} \Seq \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt } {Sequent replacement rule.}
+ \Line{Ax} {2} {\symsau{p} \Equv \symsau{q} \Seq \symsau{e} \Equv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt } {Equivalence replacement rule.}
+ \end{LogixAxiom}
+ \end{addmargin}
+ \end{flushleft}
+ \vspace{-0.50em}
+
+ A Hilbert style logical theorem typically has a name (including any number), a possibly
+ empty set of postulates and the theorem's expression. The LogixProof environment
+ provides structured formatting for Hilbert style logic theorems. The LogixProof
+ environment has four arguments with the first one optional. The optional argument
+ is a horizontal length, and provides a width for the expression in each proof line
+ which is followed by a comment when the length argument is present. The other three
+ arguments are the name (and any associated number) of the theorem, a possibly empty
+ set of postulates which are assumed only for the purpose of the proof (e.g. assuming
+ the Axiom of Choice (AC) for a specific theorem when working in ZF instead of ZFC).
+
+ Postulates are distinguished from axioms (however, formulas, rules and meta-rules are
+ not distinguished for axioms, postulates or theorems). An axiom is assumed to hold for
+ all theorems in a system whereas a postulate is only assumed to hold in the context
+ of a specific proof. The third parameter is the statement (the theorem's expression)
+ of the proof.
+
+ The LogixProof environment defines the Blnk, Dash and Line nested macros. These
+ are identical except that the Dash macro is followed by a dashed line separator
+ and the Line macro is followed by a solid line separator. Each line of the proof
+ is represented by an occurrence of one of these macros. The last line of the proof
+ is normally represented by a Dash or Line macro. Each of these macros has four
+ parameters (five when the optional length argument of the LogixProof environment
+ is present). There are two typical styles for each line of a linear logical proof.
+ The first is commonly used in short examples and in introductory texts. It starts
+ with a line number, the expression for the proof line and an optional comment which
justifies the proof step in some manner. The second style starts with a line
number, then the justifying theorem or axiom name, then a list of previous line
numbers of the proof that justify the proof step, followed by the expression for
the proof line and finally, an optional comment.
+ \clearpage
- The Dash and Line macros accommodate both proof styles. The first parameter for each
- of these macros is the line number. It is typeset in math mode so that subscripts
+ The Blnk, Dash and Line macros accommodate both proof styles. The first parameter for
+ each of these macros is the line number. It is typeset in math mode so that subscripts
may be used (sometimes useful in meta proofs). The second parameter is the name
of the justifying axiom or previous theorem (including any number). The third
parameter is the list of previous lines of the proof used to justify the proof,
@@ -628,8 +684,8 @@
\begin{FontSize}{9}{11}
\begin{verbatim}
\begin{LogixProof} {Th 46} {AC} {\prop{p} \Nd \prop{q}}
- \Dash {1} {Th 41} {} {\prop{p} \Impl \prop{q}}
- \Line {2} {Cn 2} {} {\prop{p} \Impl \prop{q}}
+ \Blnk {1} {Th 41} {} {\prop{p} \Impl \prop{q}}
+ \Dash {2} {Cn 2} {} {\prop{p} \Impl \prop{q}}
\end{LogixProof}
\end{verbatim}
\end{FontSize}
@@ -660,14 +716,15 @@
\vspace{-0.75em}
\begin{flushleft}
- These exampls are typeset as shown below. The first example assumes that the
+ These examples are typeset as shown below. The first example assumes that the
Axiom of Choice holds within the context of the proof.
\vspace{0.25em}
\begin{addmargin}[0.25in]{0.em}
+
\begin{LogixProof} {Th 46} {AC} {\prop{p} \Nd \prop{q}}
- \Dash {1} {Th 41} {} {\prop{p} \Impl \prop{q}}
- \Line {2} {Cn 2} {} {\prop{p} \Impl \prop{q}}
+ \Blnk {1} {Th 41} {} {\prop{p} \Impl \prop{q}}
+ \Dash {2} {Cn 2} {} {\prop{p} \Impl \prop{q}}
\end{LogixProof}
\begin{LogixProof}[5em] {Th 46} {} {\prop{p} \Nd \prop{q}}
@@ -683,7 +740,6 @@
\end{addmargin}
\end{flushleft}
- \clearpage
A more realistic example of using the LogixProof environment is shown below.
(Note the use of arrow lengths to indicate depth of expression nesting.
This is not automatic.)
@@ -691,16 +747,17 @@
\begin{flushleft}
\begin{addmargin}[0.25in]{0.em}
\begin{LogixProof} {Th 43} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
- \Dash{1} {Th 14} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Impl \OpnParn\prop{p} \SImpl \prop{q}\ClsParn}
- \Dash{2} {Im 3} {} {\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn}
- \Dash{3} {Im 3} {2} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
- \Dash{4} {Cn 2} {1,3} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Impl \OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Nd \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
- \Dash{5} {Im 2} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Nd \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
- \Line{6} {Im 2} {4,5} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
+ \Blnk{1} {Th 14} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Impl \OpnParn\prop{p} \SImpl \prop{q}\ClsParn}
+ \Blnk{2} {Im 3} {} {\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn}
+ \Blnk{3} {Im 3} {2} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
+ \Blnk{4} {Cn 2} {1,3} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Impl \OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Nd \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
+ \Blnk{5} {Im 2} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Nd \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
+ \Dash{6} {Im 2} {4,5} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
\end{LogixProof}
\end{addmargin}
\end{flushleft}
\vspace{-0.25em}
+ \clearpage
In addition to the LogixProof environment, the LogixSeqnt environment is
also provided. It is identical to the LogixProof environment with the exception
@@ -725,8 +782,8 @@
\begin{FontSize}{9}{11}
\begin{verbatim}
\begin{LogixSeqnt}[3em] {Th 46} {} {\prop{p} \Seq \prop{r}}
- \Line {1} {Th 41} {} {\prop{p}} {\prop{r}} {First comment}
- \Line {2} {Cn 2} {} {\prop{p}} {\prop{r}} {}
+ \Blnk {1} {Th 41} {} {\prop{p}} {\prop{r}} {First comment}
+ \Blnk {2} {Cn 2} {} {\prop{p}} {\prop{r}} {}
\Line {3} {Th 38} {2,1} { } {\prop{r}} {Last comment}
\end{LogixSeqnt}
\end{verbatim}
@@ -756,8 +813,8 @@
\end{LogixSeqnt}
\begin{LogixSeqnt}[3em] {Th 46} {} {\prop{p} \Seq \prop{r}}
- \Line {1} {Th 41} {} {\prop{p}} {\prop{r}} {First comment}
- \Line {2} {Cn 2} {} {\prop{p}} {\prop{r}} {}
+ \Blnk {1} {Th 41} {} {\prop{p}} {\prop{r}} {First comment}
+ \Blnk {2} {Cn 2} {} {\prop{p}} {\prop{r}} {}
\Line {3} {Th 38} {2,1} { } {\prop{r}} {Last comment}
\end{LogixSeqnt}
@@ -782,7 +839,43 @@
\end{addmargin}
\end{flushleft}
- \clearpage
+ The LogixTable environment provides a consistent environment for semantic maps
+ and tableaux. It replaces the use of the tabular environment, but other
+ than setting local parameters, is identical. The following example illustrates
+ its use for a semantic map.
+
+\begin{addmargin}[0.25in]{0.em}
+\begin{FontSize}{9}{11}
+\begin{verbatim}
+\begin{LogixTable}{c | c c c c }
+ \Nd & \meta{f} & \meta{u} & \meta{o} & \meta{t} \\ \hline
+ \meta{f} & \meta{f} & \meta{f} & \meta{f} & \meta{f} \\
+ \meta{u} & \meta{f} & \meta{u} & \meta{f} & \meta{u} \\
+ \meta{o} & \meta{f} & \meta{f} & \meta{o} & \meta{o} \\
+ \meta{t} & \meta{f} & \meta{u} & \meta{o} & \meta{t} \\
+ \end{LogixTable}
+\end{verbatim}
+\end{FontSize}
+\end{addmargin}
+\clearpage
+
+ \begin{flushleft}
+ This is typeset as shown below.
+ \vspace{0.25em}
+
+ \begin{addmargin}[0.25in]{0.em}
+ \begin{LogixTable}{c | c c c c }
+ \Nd & \meta{f} & \meta{u} & \meta{o} & \meta{t} \\ \hline
+ \meta{f} & \meta{f} & \meta{f} & \meta{f} & \meta{f} \\
+ \meta{u} & \meta{f} & \meta{u} & \meta{f} & \meta{u} \\
+ \meta{o} & \meta{f} & \meta{f} & \meta{o} & \meta{o} \\
+ \meta{t} & \meta{f} & \meta{u} & \meta{o} & \meta{t} \\
+ \end{LogixTable}
+ \end{addmargin}
+ \end{flushleft}
+
+ \section{Displaying Monospaced Source Text}
+
In \enquote{Fonts for Displaying Program Code in \LaTeX} Adrian P. Robson
examined the available options for displaying source code. For fonts which
contain a marked zero, Adrian recommended the Bera Mono based on vertical
@@ -791,17 +884,17 @@
font. It is a type 1 font and is not a Unicode font (but can still be used
if loaded before fontspec).
- This package provides the Logix Mono font, (also derived from the Bitstream
- Mono font) in addition to the Logix font. Most applications can use the Logix
+ In addition to the Logix font, this package provides the Logix Mono font, (also
+ derived from the Bitstream Mono font). Many applications can use the Logix
and Logix Mono fonts interchangably. Unfortunately, the additional symbols
- in the Logix font are not well handled by some applications. The Logix Mono
- font is designed (as is the Logix font) to be compatible with the STIX2
- mathematical fonts. It is also slightly heavier and more compact than the
- Bera Mono font to improve readability. Like the Bera Mono font, it is larger
- than many other typewriter fonts. The recommendation for the Bera Mono font
- is thus to load it with a scaling factor of 90\%. Here, the preferred approach
- is to explicltly set the point size and leading with the
- {\textbackslash}fontsize feature.
+ in the Logix font are not well handled by some applications so that monospaced
+ symbols are not displayed correctly. The Logix Mono font is designed (as is the
+ Logix font) to be compatible with the STIX2 mathematical fonts. It is also
+ slightly heavier and more compact than the Bera Mono font to improve readability.
+ Like the Bera Mono font, it is larger than many other typewriter fonts. The
+ recommendation for the Bera Mono font is thus to load it with a scaling factor
+ of 90\%. Here, the preferred approach is to explicltly set the point size and
+ leading with the {\textbackslash}fontsize feature.
\noindent Including the Logix monospace symbols can be done as follows \textellipsis
@@ -846,6 +939,9 @@
7/9 & 19.875 & 159 & 208 \\
\end{tabular}
+ All of the previous source examples were displayed using the Logic Mono font
+ with a point size of 9 with leading of 11.
+
\section{Symbols}
The remainder of this document is the list of symbols. Each symbol has a name
@@ -860,7 +956,6 @@
large enough that no predefined size variant will be used. Delimiters which
are too short for the second example are limited in size variations to 5\times\
the normal delimiter size.
- \clearpage
That is followed by script examples. First Greek and Greek italic, then the
sans-serif scripts, the slab-serif scripts, the normal serif scripts and
@@ -909,7 +1004,7 @@
Open Curved Angle Bracket & {\textbackslash}OpnCurvAngl & \scalebox{1.50}{\OpnCurvAngl} \\ \hline
Open Ceiling & {\textbackslash}OpnCeil & \scalebox{1.50}{\OpnCeil} \\ \hline
Open Floor & {\textbackslash}OpnFloor & \scalebox{1.50}{\OpnFloor} \\ \hline
- Open Force & {\textbackslash}OpnForce & \scalebox{1.50}{\OpnForce} \\ \hline
+ Open Turn & {\textbackslash}OpnTurn & \scalebox{1.50}{\OpnTurn} \\ \hline
Open Double Vertical Bar & {\textbackslash}OpnDblBar & \scalebox{1.50}{\OpnDblBar} \\ \hline
Open Triple Vertical Bar & {\textbackslash}OpnTrpBar & \scalebox{1.50}{\OpnTrpBar} \\ \hline
Open Double Group Brace & {\textbackslash}OpnDblGrp & \scalebox{1.50}{\OpnDblGrp} \\ \hline
@@ -948,7 +1043,7 @@
Close Curved Angle Bracket & {\textbackslash}ClsCurvAngl & \scalebox{1.50}{\ClsCurvAngl} \\ \hline
Close Ceiling & {\textbackslash}ClsCeil & \scalebox{1.50}{\ClsCeil} \\ \hline
Close Floor & {\textbackslash}ClsFloor & \scalebox{1.50}{\ClsFloor} \\ \hline
- Close Force & {\textbackslash}ClsForce & \scalebox{1.50}{\ClsForce} \\ \hline
+ Close Turn & {\textbackslash}ClsTurn & \scalebox{1.50}{\ClsTurn} \\ \hline
Close Double Vertical Bar & {\textbackslash}ClsDblBar & \scalebox{1.50}{\ClsDblBar} \\ \hline
Close Triple Vertical Bar & {\textbackslash}ClsTrpBar & \scalebox{1.50}{\ClsTrpBar} \\ \hline
Close Double Group Brace & {\textbackslash}ClsDblGrp & \scalebox{1.50}{\ClsDblGrp} \\ \hline
@@ -1280,16 +1375,29 @@
Bitwise OR operator / Logical Disjunction & {\textbackslash}Or & \scalebox{1.50}{\Or} \\ \hline
Bitwise NOT operator / Logical Negation & {\textbackslash}Nt & \scalebox{1.50}{\Nt} \\ \hline
Classical Logical Negation & {\textbackslash}Ngt & \scalebox{1.50}{\Ngt} \\ \hline
+ Logical NAND & {\textbackslash}Lnand & \scalebox{1.50}{\Lnand} \\ \hline
+ Logical NOR & {\textbackslash}Lnor & \scalebox{1.50}{\Lnor} \\ \hline
+ Logical XOR & {\textbackslash}Lxor & \scalebox{1.50}{\Lxor} \\ \hline
+ Sheffer's Stroke (Logical NAND) & {\textbackslash}Shfr & \scalebox{1.50}{\Shfr} \\ \hline
Bitwise NAND operator & {\textbackslash}Nand & \scalebox{1.50}{\Nand} \\ \hline
Bitwise NOR operator & {\textbackslash}Nor & \scalebox{1.50}{\Nor} \\ \hline
Bitwise XOR operator & {\textbackslash}Xor & \scalebox{1.50}{\Xor} \\ \hline
\end{symbolListA}
\begin{symbolListA}
+ Slanted Bar And & {\textbackslash}SbNd & \scalebox{1.50}{\SbNd} \\ \hline
+ Slanted Bar Or & {\textbackslash}SbOr & \scalebox{1.50}{\SbOr} \\ \hline
+ Slanted Bar Nand & {\textbackslash}SbNand & \scalebox{1.50}{\SbNand} \\ \hline
+ Slanted Bar Nor & {\textbackslash}SbNor & \scalebox{1.50}{\SbNor} \\ \hline
+ Slanted Bar Xor & {\textbackslash}SbXor & \scalebox{1.50}{\SbXor} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
Defines & {\textbackslash}Defn & \scalebox{1.50}{\Defn} \\ \hline
Q.E.D. & {\textbackslash}Qed & \scalebox{1.50}{\Qed} \\ \hline
\end{symbolListA}
+ \clearpage
\begin{symbolListA}
True & {\textbackslash}True & \scalebox{1.50}{\True} \\ \hline
False & {\textbackslash}False & \scalebox{1.50}{\False} \\ \hline
@@ -1302,24 +1410,31 @@
\end{symbolListA}
\begin{symbolListA}
- Logical Coherence & {\textbackslash}LcgCohrnc & \scalebox{1.50}{\LcgCohrnc} \\ \hline
- Bunch Coherence & {\textbackslash}BncCohrnc & \scalebox{1.50}{\BncCohrnc} \\ \hline
+ Logical Bistability & {\textbackslash}LcgBistab & \scalebox{1.50}{\LcgBistab} \\ \hline
+ Bunch Bistability & {\textbackslash}BncBistab & \scalebox{1.50}{\BncBistab} \\ \hline
\end{symbolListA}
- \clearpage
\begin{symbolListA}
Quantified Conjunction & {\textbackslash}QuantCon & \scalebox{1.50}{\QuantCon} \\ \hline
Quantified Disjuntion & {\textbackslash}QuantDis & \scalebox{1.50}{\QuantDis} \\ \hline
Universal Individual Quantifier & {\textbackslash}ForAll & \scalebox{1.50}{\ForAll} \\ \hline
Existential Individual Quantifier & {\textbackslash}Exists & \scalebox{1.50}{\Exists} \\ \hline
Unique Existential Individual Quantifier & {\textbackslash}Unique & \scalebox{1.50}{\Unique} \\ \hline
+ Existential Individual Quantifier Negation & {\textbackslash}NtExists & \scalebox{1.50}{\NtExists} \\ \hline
+ Hidden Existential Individual Quantifier & {\textbackslash}HdnExists & \scalebox{1.50}{\HdnExists} \\ \hline
+ Hidden Universal Individual Quantifier & {\textbackslash}HdnForAll & \scalebox{1.50}{\HdnForAll} \\ \hline
Universal Bunch Quantifier & {\textbackslash}BnchForAll & \scalebox{1.50}{\BnchForAll} \\ \hline
Existential Bunch Quantifier & {\textbackslash}BnchExists & \scalebox{1.50}{\BnchExists} \\ \hline
Unique Existential Bunch Quantifier & {\textbackslash}BnchUnique & \scalebox{1.50}{\BnchUnique} \\ \hline
+ Existential Bunch Quantifier Negation & {\textbackslash}BnchNtExists & \scalebox{1.50}{\BnchNtExists} \\ \hline
+ Hidden Existential Bunch Quantifier & {\textbackslash}BnchHdnExists & \scalebox{1.50}{\BnchHdnExists} \\ \hline
+ Hidden Universal Bunch Quantifier & {\textbackslash}BnchHdnForAll & \scalebox{1.50}{\BnchHdnForAll} \\ \hline
Map Abstraction & {\textbackslash}BndMap & \scalebox{1.50}{\BndMap} \\ \hline
\end{symbolListA}
+ \clearpage
\begin{symbolListA}
+ Zero width space & {\textbackslash}NoSpace & \scalebox{1.50}{\NoSpace} \\ \hline
Dot & {\textbackslash}Dt & \scalebox{1.50}{\Dt} \\ \hline
Comma & {\textbackslash}Coma & \scalebox{1.50}{\Coma} \\ \hline
Semicolon & {\textbackslash}Semicln & \scalebox{1.50}{\Semicln} \\ \hline
@@ -1346,7 +1461,6 @@
Right (forward) slash & {\textbackslash}RightSlash & \scalebox{1.50}{\RightSlash} \\ \hline
\end{symbolListA}
- \clearpage
\begin{symbolListA}
Single dagger & {\textbackslash}Dagger & \scalebox{1.50}{\Dagger} \\ \hline
Double horizontal dagger & {\textbackslash}Ddagger & \scalebox{1.50}{\Ddagger} \\ \hline
@@ -1361,6 +1475,7 @@
Back quote (grave) & {\textbackslash}BackQuote & \scalebox{1.50}{\BackQuote} \\ \hline
\end{symbolListA}
+ \clearpage
\begin{symbolListA}
Shift for superscripts & {\textbackslash}ShftSuper & \scalebox{1.50}{\ShftSuper} \\ \hline
Shift for subscripts & {\textbackslash}ShftSubscr & \scalebox{1.50}{\ShftSubscr} \\ \hline
@@ -1368,12 +1483,31 @@
\end{symbolListA}
\begin{symbolListA}
+ Replace All Bound Variables (left / right) & {\textbackslash}RplcAllBnd & \scalebox{1.50}{\RplcAllBnd} \\ \hline
Replace All Bound Variables (right) & {\textbackslash}RplcAllBndRight & \scalebox{1.50}{\RplcAllBndRight} \\ \hline
Replace All Bound Variables (left) & {\textbackslash}RplcAllBndLeft & \scalebox{1.50}{\RplcAllBndLeft} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Replace All (left / right) & {\textbackslash}RplcAll & \scalebox{1.50}{\RplcAll} \\ \hline
Replace All (right) & {\textbackslash}RplcAllRight & \scalebox{1.50}{\RplcAllRight} \\ \hline
Replace All (left) & {\textbackslash}RplcAllLeft & \scalebox{1.50}{\RplcAllLeft} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Replace Any Free Variables (left / right) & {\textbackslash}RplcFree & \scalebox{1.50}{\RplcFree} \\ \hline
Replace Any Free Variables (right) & {\textbackslash}RplcFreeRight & \scalebox{1.50}{\RplcFreeRight} \\ \hline
Replace Any Free Variables (left) & {\textbackslash}RplcFreeLeft & \scalebox{1.50}{\RplcFreeLeft} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Replace Any (left / right) & {\textbackslash}RplcAny & \scalebox{1.50}{\RplcAny} \\ \hline
+ Replace Any (right) & {\textbackslash}RplcAnyRight & \scalebox{1.50}{\RplcAnyRight} \\ \hline
+ Replace Any (left) & {\textbackslash}RplcAnyLeft & \scalebox{1.50}{\RplcAnyLeft} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Replace Equivalent Expressions (left / right) & {\textbackslash}RplcEquv & \scalebox{1.50}{\RplcEquv} \\ \hline
Replace Equivalent Expressions (right) & {\textbackslash}RplcEquvRight & \scalebox{1.50}{\RplcEquvRight} \\ \hline
Replace Equivalent Expressions (left) & {\textbackslash}RplcEquvLeft & \scalebox{1.50}{\RplcEquvLeft} \\ \hline
\end{symbolListA}
@@ -1395,19 +1529,19 @@
\end{symbolListA}
\begin{symbolListA}
- Empty Bunch & {\textbackslash}EmptyBunch & \scalebox{1.50}{\EmptyBunch} \\ \hline
+ Absent / Void Bunch & {\textbackslash}VoidBunch & \scalebox{1.50}{\VoidBunch} \\ \hline
Null Set & {\textbackslash}NullSet & \scalebox{1.50}{\NullSet} \\ \hline
\end{symbolListA}
\clearpage
\begin{symbolListA}
- Logical Necessity & {\textbackslash}LogNec & \scalebox{1.50}{\LogNec} \\ \hline
- Logical Possibility & {\textbackslash}LogPos & \scalebox{1.50}{\LogPos} \\ \hline
- Logical Next & {\textbackslash}LogNext & \scalebox{1.50}{\LogNext} \\ \hline
- Logical Future & {\textbackslash}LogFutr & \scalebox{1.50}{\LogFutr} \\ \hline
- Logical Past & {\textbackslash}LogPast & \scalebox{1.50}{\LogPast} \\ \hline
- Logical Contingency & {\textbackslash}LogCont & \scalebox{1.50}{\LogCont} \\ \hline
- Logical Non-contingency & {\textbackslash}LogNonCont & \scalebox{1.50}{\LogNonCont} \\ \hline
+ Necessity & {\textbackslash}Nec & \scalebox{1.50}{\Nec} \\ \hline
+ Possibility & {\textbackslash}Pos & \scalebox{1.50}{\Pos} \\ \hline
+ Next & {\textbackslash}Next & \scalebox{1.50}{\Next} \\ \hline
+ Future & {\textbackslash}Futr & \scalebox{1.50}{\Futr} \\ \hline
+ Past & {\textbackslash}Past & \scalebox{1.50}{\Past} \\ \hline
+ Contingency & {\textbackslash}Cont & \scalebox{1.50}{\Cont} \\ \hline
+ Non-contingency & {\textbackslash}NonCont & \scalebox{1.50}{\NonCont} \\ \hline
\end{symbolListA}
\begin{symbolListA}
@@ -1421,13 +1555,44 @@
\end{symbolListA}
\begin{symbolListA}
- Necessity & {\textbackslash}Nec & \scalebox{1.50}{\Nec} \\ \hline
- Possibility & {\textbackslash}Pos & \scalebox{1.50}{\Pos} \\ \hline
- Next & {\textbackslash}Next & \scalebox{1.50}{\Next} \\ \hline
- Future & {\textbackslash}Futr & \scalebox{1.50}{\Futr} \\ \hline
- Past & {\textbackslash}Past & \scalebox{1.50}{\Past} \\ \hline
- Contingency & {\textbackslash}Cont & \scalebox{1.50}{\Cont} \\ \hline
- Non-contingency & {\textbackslash}NonCont & \scalebox{1.50}{\NonCont} \\ \hline
+ Deontic Necessity & {\textbackslash}DeoNec & \scalebox{1.50}{\DeoNec} \\ \hline
+ Deontic Possibility & {\textbackslash}DeoPos & \scalebox{1.50}{\DeoPos} \\ \hline
+ Deontic Next & {\textbackslash}DeoNext & \scalebox{1.50}{\DeoNext} \\ \hline
+ Deontic Future & {\textbackslash}DeoFutr & \scalebox{1.50}{\DeoFutr} \\ \hline
+ Deontic Past & {\textbackslash}DeoPast & \scalebox{1.50}{\DeoPast} \\ \hline
+ Deontic Contingency & {\textbackslash}DeoCont & \scalebox{1.50}{\DeoCont} \\ \hline
+ Deontic Non-contingency & {\textbackslash}DeoNonCont & \scalebox{1.50}{\DeoNonCont} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Logical Necessity & {\textbackslash}LogNec & \scalebox{1.50}{\LogNec} \\ \hline
+ Logical Possibility & {\textbackslash}LogPos & \scalebox{1.50}{\LogPos} \\ \hline
+ Logical Next & {\textbackslash}LogNext & \scalebox{1.50}{\LogNext} \\ \hline
+ Logical Future & {\textbackslash}LogFutr & \scalebox{1.50}{\LogFutr} \\ \hline
+ Logical Past & {\textbackslash}LogPast & \scalebox{1.50}{\LogPast} \\ \hline
+ Logical Contingency & {\textbackslash}LogCont & \scalebox{1.50}{\LogCont} \\ \hline
+ Logical Non-contingency & {\textbackslash}LogNonCont & \scalebox{1.50}{\LogNonCont} \\ \hline
+ \end{symbolListA}
+
+ \clearpage
+ \begin{symbolListA}
+ Doxastic Necessity & {\textbackslash}DoxNec & \scalebox{1.50}{\DoxNec} \\ \hline
+ Doxastic Possibility & {\textbackslash}DoxPos & \scalebox{1.50}{\DoxPos} \\ \hline
+ Doxastic Next & {\textbackslash}DoxNext & \scalebox{1.50}{\DoxNext} \\ \hline
+ Doxastic Future & {\textbackslash}DoxFutr & \scalebox{1.50}{\DoxFutr} \\ \hline
+ Doxastic Past & {\textbackslash}DoxPast & \scalebox{1.50}{\DoxPast} \\ \hline
+ Doxastic Contingency & {\textbackslash}DoxCont & \scalebox{1.50}{\DoxCont} \\ \hline
+ Doxastic Non-contingency & {\textbackslash}DoxNonCont & \scalebox{1.50}{\DoxNonCont} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Temporal Necessity & {\textbackslash}TmpNec & \scalebox{1.50}{\TmpNec} \\ \hline
+ Temporal Possibility & {\textbackslash}TmpPos & \scalebox{1.50}{\TmpPos} \\ \hline
+ Temporal Next & {\textbackslash}TmpNext & \scalebox{1.50}{\TmpNext} \\ \hline
+ Temporal Future & {\textbackslash}TmpFutr & \scalebox{1.50}{\TmpFutr} \\ \hline
+ Temporal Past & {\textbackslash}TmpPast & \scalebox{1.50}{\TmpPast} \\ \hline
+ Temporal Contingency & {\textbackslash}TmpCont & \scalebox{1.50}{\TmpCont} \\ \hline
+ Temporal Non-contingency & {\textbackslash}TmpNonCont & \scalebox{1.50}{\TmpNonCont} \\ \hline
\end{symbolListA}
\begin{symbolListA}
@@ -1449,19 +1614,24 @@
Weak Subbunch Negated & {\textbackslash}NotWkSbnch & \scalebox{1.50}{\NotWkSbnch} \\ \hline
\end{symbolListA}
- \clearpage
\begin{symbolListA}
Map Meet & {\textbackslash}MapMeet & \scalebox{1.50}{\MapMeet} \\ \hline
Map Join & {\textbackslash}MapJoin & \scalebox{1.50}{\MapJoin} \\ \hline
\end{symbolListA}
\begin{symbolListA}
+ Vee Meet & {\textbackslash}VeeMeet & \scalebox{1.50}{\VeeMeet} \\ \hline
+ Vee Join & {\textbackslash}VeeJoin & \scalebox{1.50}{\VeeJoin} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
Strict Submap & {\textbackslash}StrctSbmap & \scalebox{1.50}{\StrctSbmap} \\ \hline
Strict Submap Negated & {\textbackslash}NotStrctSbmap & \scalebox{1.50}{\NotStrctSbmap} \\ \hline
Submap & {\textbackslash}Sbmap & \scalebox{1.50}{\Sbmap} \\ \hline
Submap Negated & {\textbackslash}NotSbmap & \scalebox{1.50}{\NotSbmap} \\ \hline
\end{symbolListA}
+ \clearpage
\begin{symbolListA}
Set Intersection & {\textbackslash}SetMeet & \scalebox{1.50}{\SetMeet} \\ \hline
Set Union & {\textbackslash}SetJoin & \scalebox{1.50}{\SetJoin} \\ \hline
@@ -1474,6 +1644,7 @@
Strict Subset Negated & {\textbackslash}NotStrctSbset & \scalebox{1.50}{\NotStrctSbset} \\ \hline
Subset & {\textbackslash}Sbset & \scalebox{1.50}{\Sbset} \\ \hline
Subset Negated & {\textbackslash}NotSbset & \scalebox{1.50}{\NotSbset} \\ \hline
+ Cover & {\textbackslash}Cover & \scalebox{1.50}{\Cover} \\ \hline
\end{symbolListA}
\begin{symbolListA}
@@ -1501,8 +1672,22 @@
Not Greater Than or Equal & {\textbackslash}NotGre & \scalebox{1.50}{\NotGre} \\ \hline
\end{symbolListA}
+ \begin{symbolListA}
+ Slanted Bar Less Than & {\textbackslash}SbLs & \scalebox{1.50}{\SbLs} \\ \hline
+ Slanted Bar Less Than or Equal & {\textbackslash}SbLse & \scalebox{1.50}{\SbLse} \\ \hline
+ Slanted Bar Greater Than & {\textbackslash}SbGr & \scalebox{1.50}{\SbGr} \\ \hline
+ Slanted Bar Greater Than or Equal & {\textbackslash}SbGre & \scalebox{1.50}{\SbGre} \\ \hline
+ \end{symbolListA}
+
\clearpage
\begin{symbolListA}
+ Slanted Bar Not Less Than & {\textbackslash}SbNotLs & \scalebox{1.50}{\SbNotLs} \\ \hline
+ Slanted Bar Not Less Than or Equal & {\textbackslash}SbNotLse & \scalebox{1.50}{\SbNotLse} \\ \hline
+ Slanted Bar Not Greater Than & {\textbackslash}SbNotGr & \scalebox{1.50}{\SbNotGr} \\ \hline
+ Slanted Bar Not Greater Than or Equal & {\textbackslash}SbNotGre & \scalebox{1.50}{\SbNotGre} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
Precedes & {\textbackslash}Pre & \scalebox{1.50}{\Pre} \\ \hline
Precedes or Equal & {\textbackslash}Preq & \scalebox{1.50}{\Preq} \\ \hline
Succeeds & {\textbackslash}Suc & \scalebox{1.50}{\Suc} \\ \hline
@@ -2279,8 +2464,8 @@
\begin{symbolListD}
{\textbackslash}OpnFloorS, {\textbackslash}OpnFloor[A-L] & \OpnFloorS \frac{1}{2+\frac{3}{4}} \ClsFloorS & \OpnFloorS \testFrac \ClsFloorS & \OpnFloor ~ \OpnFloorA ~ \OpnFloorB ~ \OpnFloorC ~ \OpnFloorD ~ \OpnFloorE ~ \OpnFloorF ~ \OpnFloorG ~ \OpnFloorH ~ \OpnFloorI ~ \OpnFloorJ ~ \OpnFloorK ~ \OpnFloorL \delEnd \\ \hline
{\textbackslash}ClsFloorS, {\textbackslash}ClsFloor[A-L] & \OpnFloorS \frac{1}{2+\frac{3}{4}} \ClsFloorS & \OpnFloorS \testFrac \ClsFloorS & \ClsFloor ~ \ClsFloorA ~ \ClsFloorB ~ \ClsFloorC ~ \ClsFloorD ~ \ClsFloorE ~ \ClsFloorF ~ \ClsFloorG ~ \ClsFloorH ~ \ClsFloorI ~ \ClsFloorJ ~ \ClsFloorK ~ \ClsFloorL \delEnd \\ \hline
- {\textbackslash}OpnForceS, {\textbackslash}OpnForce[A-L] & \OpnForceS \frac{1}{2+\frac{3}{4}} \ClsForceS & \OpnForceS \testFrac \ClsForceS & \OpnForce ~ \OpnForceA ~ \OpnForceB ~ \OpnForceC ~ \OpnForceD ~ \OpnForceE ~ \OpnForceF ~ \OpnForceG ~ \OpnForceH ~ \OpnForceI ~ \OpnForceJ ~ \OpnForceK ~ \OpnForceL \delEnd \\ \hline
- {\textbackslash}ClsForceS, {\textbackslash}ClsForce[A-L] & \OpnForceS \frac{1}{2+\frac{3}{4}} \ClsForceS & \OpnForceS \testFrac \ClsForceS & \ClsForce ~ \ClsForceA ~ \ClsForceB ~ \ClsForceC ~ \ClsForceD ~ \ClsForceE ~ \ClsForceF ~ \ClsForceG ~ \ClsForceH ~ \ClsForceI ~ \ClsForceJ ~ \ClsForceK ~ \ClsForceL \delEnd \\ \hline
+ {\textbackslash}OpnTurnS, {\textbackslash}OpnTurn[A-L] & \OpnTurnS \frac{1}{2+\frac{3}{4}} \ClsTurnS & \OpnTurnS \testFrac \ClsTurnS & \OpnTurn ~ \OpnTurnA ~ \OpnTurnB ~ \OpnTurnC ~ \OpnTurnD ~ \OpnTurnE ~ \OpnTurnF ~ \OpnTurnG ~ \OpnTurnH ~ \OpnTurnI ~ \OpnTurnJ ~ \OpnTurnK ~ \OpnTurnL \delEnd \\ \hline
+ {\textbackslash}ClsTurnS, {\textbackslash}ClsTurn[A-L] & \OpnTurnS \frac{1}{2+\frac{3}{4}} \ClsTurnS & \OpnTurnS \testFrac \ClsTurnS & \ClsTurn ~ \ClsTurnA ~ \ClsTurnB ~ \ClsTurnC ~ \ClsTurnD ~ \ClsTurnE ~ \ClsTurnF ~ \ClsTurnG ~ \ClsTurnH ~ \ClsTurnI ~ \ClsTurnJ ~ \ClsTurnK ~ \ClsTurnL \delEnd \\ \hline
{\textbackslash}OpnDblBarS, {\textbackslash}OpnDblBar[A-L] & \OpnDblBarS \frac{1}{2+\frac{3}{4}} \ClsDblBarS & \OpnDblBarS \testFrac \ClsDblBarS & \OpnDblBar ~ \OpnDblBarA ~ \OpnDblBarB ~ \OpnDblBarC ~ \OpnDblBarD ~ \OpnDblBarE ~ \OpnDblBarF ~ \OpnDblBarG ~ \OpnDblBarH ~ \OpnDblBarI ~ \OpnDblBarJ ~ \OpnDblBarK ~ \OpnDblBarL \delEnd \\ \hline
{\textbackslash}ClsDblBarS, {\textbackslash}ClsDblBar[A-L] & \OpnDblBarS \frac{1}{2+\frac{3}{4}} \ClsDblBarS & \OpnDblBarS \testFrac \ClsDblBarS & \ClsDblBar ~ \ClsDblBarA ~ \ClsDblBarB ~ \ClsDblBarC ~ \ClsDblBarD ~ \ClsDblBarE ~ \ClsDblBarF ~ \ClsDblBarG ~ \ClsDblBarH ~ \ClsDblBarI ~ \ClsDblBarJ ~ \ClsDblBarK ~ \ClsDblBarL \delEnd \\ \hline
\end{symbolListD}
diff --git a/fonts/logix/fonts/logix.eot b/fonts/logix/fonts/logix.eot
index c90600a846..92942c25b9 100644
--- a/fonts/logix/fonts/logix.eot
+++ b/fonts/logix/fonts/logix.eot
Binary files differ
diff --git a/fonts/logix/fonts/logix.ttf b/fonts/logix/fonts/logix.ttf
index 505a0decef..73a984b4cb 100644
--- a/fonts/logix/fonts/logix.ttf
+++ b/fonts/logix/fonts/logix.ttf
Binary files differ
diff --git a/fonts/logix/fonts/logix.woff b/fonts/logix/fonts/logix.woff
index ee032c4d57..029bdc94f3 100644
--- a/fonts/logix/fonts/logix.woff
+++ b/fonts/logix/fonts/logix.woff
Binary files differ
diff --git a/fonts/logix/fonts/logix.woff2 b/fonts/logix/fonts/logix.woff2
index 6ded5b52d6..41aa530667 100644
--- a/fonts/logix/fonts/logix.woff2
+++ b/fonts/logix/fonts/logix.woff2
Binary files differ
diff --git a/fonts/logix/fonts/logixMono.eot b/fonts/logix/fonts/logixMono.eot
index 37ee55554a..6408d1a94e 100644
--- a/fonts/logix/fonts/logixMono.eot
+++ b/fonts/logix/fonts/logixMono.eot
Binary files differ
diff --git a/fonts/logix/fonts/logixMono.ttf b/fonts/logix/fonts/logixMono.ttf
index a6e004ac59..dd96e24879 100644
--- a/fonts/logix/fonts/logixMono.ttf
+++ b/fonts/logix/fonts/logixMono.ttf
Binary files differ
diff --git a/fonts/logix/fonts/logixMono.woff b/fonts/logix/fonts/logixMono.woff
index 21bac4ba52..7f9b395ad4 100644
--- a/fonts/logix/fonts/logixMono.woff
+++ b/fonts/logix/fonts/logixMono.woff
Binary files differ
diff --git a/fonts/logix/fonts/logixMono.woff2 b/fonts/logix/fonts/logixMono.woff2
index 537dfd036b..7bb9f2799c 100644
--- a/fonts/logix/fonts/logixMono.woff2
+++ b/fonts/logix/fonts/logixMono.woff2
Binary files differ
diff --git a/fonts/logix/opentype/logix.otf b/fonts/logix/opentype/logix.otf
index d33f9e5699..a2a1c611ac 100644
--- a/fonts/logix/opentype/logix.otf
+++ b/fonts/logix/opentype/logix.otf
Binary files differ
diff --git a/fonts/logix/opentype/logixMono.otf b/fonts/logix/opentype/logixMono.otf
index eb50b5e720..8b1b413170 100644
--- a/fonts/logix/opentype/logixMono.otf
+++ b/fonts/logix/opentype/logixMono.otf
Binary files differ
diff --git a/fonts/logix/source/logix.vfc b/fonts/logix/source/logix.vfc
index 3135b6659c..003d8bdf46 100644
--- a/fonts/logix/source/logix.vfc
+++ b/fonts/logix/source/logix.vfc
Binary files differ
diff --git a/fonts/logix/source/logixMono.vfc b/fonts/logix/source/logixMono.vfc
index 240e9c38bc..60cd005b50 100644
--- a/fonts/logix/source/logixMono.vfc
+++ b/fonts/logix/source/logixMono.vfc
Binary files differ
diff --git a/fonts/logix/tex/logix.sty b/fonts/logix/tex/logix.sty
index a96b11b51e..905db9b17c 100644
--- a/fonts/logix/tex/logix.sty
+++ b/fonts/logix/tex/logix.sty
@@ -1,6 +1,6 @@
% Copyright (c) 2001..2021 by Michael Lee Finney.
%
-% logix.sty - 2021-01-17 v1.08
+% logix.sty - 2021-07-06 v1.09
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3 of this license or (at your
@@ -28,11 +28,12 @@
\NeedsTeXFormat{LaTeX2e}[2020/02/02]
\ProvidesPackage{logix}
- [2021-01-17 v1.08 (Michael Lee Finney) Supplemental logical and mathematical symbols for XeLaTex / LuaLaTeX.]
+ [2021-07-06 v1.09 (Michael Lee Finney) Supplemental logical and mathematical symbols for XeLaTex / LuaLaTeX.]
\ProvidesFile{logix.otf}
- [2021-01-17 v1.08 (Michael Lee Finney) OpenType Unicode font.]
+ [2021-07-06 v1.09 (Michael Lee Finney) OpenType Unicode font.]
\RequirePackage{iftex}
\RequirePackage[bold-style=ISO]{unicode-math}
+ \RequirePackage{mathtools}
\RequirePackage{arydshln}
% Checks for LuaTex or XeTex as engines.
@@ -85,23 +86,39 @@
% LogixDefn provides structured formatting for logic definitions. There is an
% optional parameter, which must be a horizontal length. If present, all of the
% definitions must fit within that length. The LogixDefn environment defines the
-% Line macro, which has three parameters if the optional LogixDefn parameter is not
-% present and otherwise four. The optional fourth parameter may not be omitted if
-% the length parameter is present and contains a comment to placed at the end of
-% the line. The basic three parameters for the Line macro are the definition's name,
-% optional number (but the empty argument must be present) and the definition itself,
-% which is typeset in math mode. Two examples of its use are:
+% Line macro, which has four parameters if the optional LogixDefn parameter is not
+% present and otherwise five. The optional fifth (sixth) parameter may not be
+% omitted if the length parameter is present and contains a comment to placed at
+% the end of the line. The basic four parameters for the Line macro are the
+% definition's name, optional number (but the empty argument must be present)
+% and the left and right definition expressions, which is typeset in math mode.
+% The left expression is right aligned, they are separated by the definition
+% symbol (:=) and the right expression is left aligned. Grouped definitions are
+% aligned on the definition symbol. Two examples of its use are:
%
% \begin{LogixDefn}
-% \Line{Special}{}{ \OpnParn \prop{p} \WkEquv \prop{q} \ClsParn \Defn \OpnParn \prop{p} \WkImpl \prop{q} \ClsParn \Nd \OpnParn \prop{q} \WkImpl \prop{p} \ClsParn }
-% \Line{Df} {4}{ \OpnParn \prop{p} \WkEquv \prop{q} \ClsParn \Defn \OpnParn \prop{p} \WkImpl \prop{q} \ClsParn \Nd \OpnParn \prop{q} \WkImpl \prop{p} \ClsParn }
+% \Line{Neg} {1}{\symsau{p}}{\symsau{q}}
+% \Line{Conj}{} {\symsau{p}}{\symsau{q}}
% \end{LogixDefn}
%
-% \begin{LogixDefn}[15em]
-% \Line{Df}{1}{ \OpnParn \prop{p} \WkEquv \prop{q} \ClsParn \Defn \OpnParn \prop{p} \WkImpl \prop{q} \ClsParn \Nd \OpnParn \prop{q} \WkImpl \prop{p} \ClsParn } { Some comment }
-% \Line{Df}{2}{ \OpnParn \prop{p} \WkEquv \prop{q} \ClsParn \Defn \OpnParn \prop{p} \WkImpl \prop{q} \ClsParn \Nd \OpnParn \prop{q} \WkImpl \prop{p} \ClsParn } { Yet another }
+% \begin{LogixDefn}[5em]
+% \Line{Df}{1}{\symsau{p}}{\symsau{q}}{Some comment}
+% \Line{Df}{2}{\symsau{p}}{\symsau{q}}{Yet another comment}
% \end{LogixDefn}
%
+% LogixAxiom is similar to LogixDefn except that it only has one expression
+% which is left aligned. Two examples of its use are
+%
+% \begin{LogixAxiom}
+% \Line{Rp} {12} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q} \ClsParn, \symsau{p} \WkEquv \symsau{q}, \symsau{e} \Seq \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+% \Line{Rp} {2} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q} \ClsParn, \symsau{p} \WkEquv \symsau{q} \Seq \symsau{e} \WkEquv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+% \end{LogixAxiom}
+%
+% \begin{LogixAxiom}[10em]
+% \Line{Ax} {1} {\symsau{p} \Equv \symsau{q}, \symsau{e} \Seq \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt } {Sequent replacement rule.}
+% \Line{Ax} {2} {\symsau{p} \Equv \symsau{q} \Seq \symsau{e} \Equv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt } {Equivlance replacement rule.}
+% \end{LogixAxiom}
+%
% LogixProof provides structed formatting for logic proofs. There are four
% arguments with the first one optional. As for LogixDefn the optional argument
% is a horizontal length argument, and provides a width for each line which is
@@ -113,8 +130,8 @@
% to hold for all theorems in a system. The third parameter is the statement of
% the proof.
%
-% The LogixProof environment defines two macros -- Dash and Line, which are
-% identical except that Dash is followed by a dashed line separator and Line is
+% The LogixProof environment defines three macros -- Blnk, Dash and Line, which
+% are identical except that Dash is followed by a dashed line separator and Line is
% followed by a solid line separator. Each of these macros have four parameters
% (five when the length argument is present). The first is the line number. It
% is typeset in math mode so that subscripts may be used (sometimes useful in
@@ -126,7 +143,7 @@
% may be empty, allowing for using the comment for justification (a common style
% in some textbooks and papers). Here is an example with comments:
%
-% \begin{LogixProof}[5em] {Th 46} {} {\prop{p}\Comma\prop{q}\Seq\prop{r}}
+% \begin{LogixProof}[5em] {Th 46} {} {\prop{p}\Coma\prop{q}\Seq\prop{r}}
% \Dash {1} {Th 41} {} {\prop{r} \Nd \prop{s} \Impl \prop{q}} {Comment for first line}
% \Dash {2} {Cn 2 } {} {\prop{r}} {Comment for second line}
% \Dash {3} {Th 38} {2} {\prop{r}} {}
@@ -138,12 +155,23 @@
% assumed to hold for the expression as a sequent. An example of its use (but
% without comments and with solid lines) is:
%
-% \begin{LogixSeqnt} {Th 46} {Dt 1} {\prop{p}\Comma\prop{q}\Seq\prop{r}}
-% \Line {1} {Th 41} {} {\prop{p}\Comma\prop{q}} {\prop{r}}
-% \Line {2} {Cn 2 } {} {\prop{p}\Comma\prop{q}} {\prop{r}}
+% \begin{LogixSeqnt} {Th 46} {Dt 1} {\prop{p}\Coma\prop{q}\Seq\prop{r}}
+% \Line {1} {Th 41} {} {\prop{p}\Coma\prop{q}} {\prop{r}}
+% \Line {2} {Cn 2 } {} {\prop{p}\Coma\prop{q}} {\prop{r}}
% \Line {3} {Th 38} {2} { } {\prop{r}}
% \end{LogixSeqnt}
%
+% The LogixTable environment sets a few display options and then invokes
+% the tabular environment. An exmple of its usage for a semantic table is:
+%
+% \begin{LogixTable}{c | c c c c }
+% \Nd & \symSau{f} & \symSau{u} & \symSau{o} & \symSau{t} \\ \hline
+% \symSau{f} & \symSau{f} & \symSau{f} & \symSau{f} & \symSau{f} \\
+% \symSau{u} & \symSau{f} & \symSau{u} & \symSau{f} & \symSau{u} \\
+% \symSau{o} & \symSau{f} & \symSau{f} & \symSau{o} & \symSau{o} \\
+% \symSau{t} & \symSau{f} & \symSau{u} & \symSau{o} & \symSau{t} \\
+% \end{LogixTable}
+%
% Note that none of these environments are indented by default. Often,
% horizontal space is at a premium, so any indentation is left to the user.
%
@@ -161,6 +189,31 @@
\newcommand \PrfEnd {\rule[-0.375em]{0pt}{1.30em}}
\renewcommand{\arraystretch}{0}
\ifx&#1&
+ \newcommand \Line[4]{%
+ \ifx&##2&%
+ ##1. \hspace{0.25em} & & ##3 & \Defn & ##4 & \PrfEnd \\%
+ \else%
+ ##1 \hspace{0.35em} & ##2. \hspace{0.25em} & ##3 & \Defn & ##4 & \PrfEnd \\%
+ \fi%
+ }
+ \else
+ \newcommand \Line[5]{%
+ \ifx&##2&%
+ ##1. \hspace{0.25em} & & ##3 & \Defn & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\%
+ \else%
+ ##1 \hspace{0.35em} & ##2. \hspace{0.25em} & ##3 & \Defn & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\%
+ \fi%
+ }
+ \fi
+ \noindent\begin{tabular}{ @{} l @{} r @{} >{$} r <{$} @{} >{$} c <{$} @{} >{$} l <{$} @{} c @{} }}{%
+ \end{tabular} }
+
+% Environment for logic axioms.
+
+ \newenvironment{LogixAxiom}[1][]{%
+ \newcommand \PrfEnd {\rule[-0.375em]{0pt}{1.30em}}
+ \renewcommand{\arraystretch}{0}
+ \ifx&#1&
\newcommand \Line[3]{%
\ifx&##2&%
##1. \hspace{0.25em} & & ##3 & \PrfEnd \\%
@@ -190,11 +243,13 @@
\newcommand \PrfBgn {\-\ \hspace{0.50em}}%
\newcommand \PrfEnd {\rule[-0.375em]{0pt}{1.35em}}%
\ifx&#1&
- \newcommand \Dash[4] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\fi & ##4 & \PrfEnd \\ \hdashline}
- \newcommand \Line[4] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\fi & ##4 & \PrfEnd \\ \hline}
+ \newcommand \Blnk[4] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \PrfEnd \\}
+ \newcommand \Dash[4] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \PrfEnd \\ \hdashline}
+ \newcommand \Line[4] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \PrfEnd \\ \hline}
\else
- \newcommand \Dash[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\fi & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\ \hdashline}
- \newcommand \Line[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\fi & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\ \hline}
+ \newcommand \Blnk[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\}
+ \newcommand \Dash[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\ \hdashline}
+ \newcommand \Line[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\ \hline}
\fi
\noindent\begin{tabular}{ @{\hspace{0.60em}} l @{\hspace{0.50em}}}
\noindent\hspace{-0.50em}\begin{tabular}{ @{} l @{} l @{} @{\hspace{0.25em}} >{$} l <{$} @{} c @{} }
@@ -217,11 +272,13 @@
\newcommand \PrfBgn {\-\ \hspace{0.50em}}%
\newcommand \PrfEnd {\rule[-0.375em]{0pt}{1.35em}}%
\ifx&#1&
- \newcommand \Dash[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\fi & ##4 & ##5 & \PrfEnd \\ \hdashline}
- \newcommand \Line[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\fi & ##4 & ##5 & \PrfEnd \\ \hline}
+ \newcommand \Blnk[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & ##5 & \PrfEnd \\}
+ \newcommand \Dash[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & ##5 & \PrfEnd \\ \hdashline}
+ \newcommand \Line[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & ##5 & \PrfEnd \\ \hline}
\else
- \newcommand \Dash[6] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\fi & ##4 & \mathmakebox[#1][l]{##5} $##6$ & \PrfEnd \\ \hdashline}
- \newcommand \Line[6] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\fi & ##4 & \mathmakebox[#1][l]{##5} $##6$ & \PrfEnd \\ \hline}
+ \newcommand \Blnk[6] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \mathmakebox[#1][l]{##5} $##6$ & \PrfEnd \\}
+ \newcommand \Dash[6] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \mathmakebox[#1][l]{##5} $##6$ & \PrfEnd \\ \hdashline}
+ \newcommand \Line[6] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \mathmakebox[#1][l]{##5} $##6$ & \PrfEnd \\ \hline}
\fi
\noindent\begin{tabular}{ @{\hspace{0.60em}} l @{\hspace{0.50em}}}
\noindent\hspace{-0.50em}\begin{tabular}{ @{} l @{} l @{} @{\hspace{0.25em}} >{$} l <{$} @{} c @{} }
@@ -235,6 +292,15 @@
@{} c @{} } }{%
\end{tabular} \end{tabular}}
+% Environment for consistent semantic tables, replaces use of tabular environment.
+
+ \newenvironment{LogixTable}[2][]{%
+ \setlength{\dashlinedash}{2pt}
+ \setlength{\dashlinegap}{2pt}
+ \setlength{\arrayrulewidth}{0.2pt}
+ \renewcommand{\arraystretch}{1.3}%
+ \begin{tabular}[#1]{#2}}{%
+ \end{tabular}}
% Define the logix math symbols. These symbols have sidebearings defined in the font.
% Applying the symbol type results in extra white space so they are declared as
@@ -293,7 +359,7 @@
\newcommand \OpnDblParn {\lgl{E31B}\relax} % Open Double Parenthesis
\newcommand \OpnCeil {\lgl{E31C}\relax} % Open Ceiling
\newcommand \OpnFloor {\lgl{E31D}\relax} % Open Floor
- \newcommand \OpnForce {\lgl{E31E}\relax} % Open Turnstile
+ \newcommand \OpnTurn {\lgl{E31E}\relax} % Open Turnstile
\newcommand \OpnCntx {\lgx{E31F}\relax} % Open Context Quote
\newcommand \OpnDblGrp {\lgl{E320}\relax} % Open Double Group Brace
\newcommand \OpnDblBar {\lgl{E321}\relax} % Open Double Vertical Bar
@@ -329,7 +395,7 @@
\newcommand \OpnDblParnS {\left\OpnDblParn\relax} % Stretchy Open Double Parenthesis
\newcommand \OpnCeilS {\left\OpnCeil\relax} % Stretchy Open Ceiling
\newcommand \OpnFloorS {\left\OpnFloor\relax} % Stretchy Open Floor
- \newcommand \OpnForceS {\left\OpnForce\relax} % Stretchy Open Turnstile
+ \newcommand \OpnTurnS {\left\OpnTurn\relax} % Stretchy Open Turnstile
\newcommand \OpnCntxS {\left\OpnCntx\relax} % Stretchy Open Context Quote
\newcommand \OpnDblGrpS {\left\OpnDblGrp\relax} % Stretchy Open Double Group Brace
\newcommand \OpnDblBarS {\left\OpnDblBar\relax} % Stretchy Open Double Vertical Bar
@@ -365,7 +431,7 @@
\newcommand \ClsDblParn {\lgl{E35B}\relax} % Close Double Parenthesis
\newcommand \ClsCeil {\lgr{E35C}\relax} % Close Ceiling
\newcommand \ClsFloor {\lgr{E35D}\relax} % Close Floor
- \newcommand \ClsForce {\lgr{E35E}\relax} % Close Turnstile
+ \newcommand \ClsTurn {\lgr{E35E}\relax} % Close Turnstile
\newcommand \ClsCntx {\lgx{E35F}\relax} % Close Context Quote
\newcommand \ClsDblGrp {\lgr{E360}\relax} % Close Double Group Brace
\newcommand \ClsDblBar {\lgr{E361}\relax} % Close Double Vertical Bar
@@ -401,7 +467,7 @@
\newcommand \ClsDblParnS {\right\ClsDblParn\relax} % Stretchy Close Double Parenthesis
\newcommand \ClsCeilS {\right\ClsCeil\relax} % Stretchy Close Ceiling
\newcommand \ClsFloorS {\right\ClsFloor\relax} % Stretchy Close Floor
- \newcommand \ClsForceS {\right\ClsForce\relax} % Stretchy Close Turnstile
+ \newcommand \ClsTurnS {\right\ClsTurn\relax} % Stretchy Close Turnstile
\newcommand \ClsCntxS {\right\ClsCntx\relax} % Stretchy Close Context Quote
\newcommand \ClsDblGrpS {\right\ClsDblGrp\relax} % Stretchy Close Double Group Brace
\newcommand \ClsDblBarS {\right\ClsDblBar\relax} % Stretchy Close Vertical Double Bar
@@ -495,10 +561,10 @@
\newcommand \XWkMtEquv {\lgx{E81E}\relax} % Extra Long Weak Material Equivalence
\newcommand \NotXWkMtEquv {\lgx{E81F}\relax} % Extra Long Not Weak Material Equivalence
- \newcommand \SMtImpl {\lgx{E820}\relax} % Short WMaterial Implication
- \newcommand \NotSMtImpl {\lgx{E821}\relax} % Short NNot Material Implication
- \newcommand \SMtEquv {\lgx{E822}\relax} % Short WMaterial Equivalence
- \newcommand \NotSMtEquv {\lgx{E823}\relax} % Short NNot Material Equivalence
+ \newcommand \SMtImpl {\lgx{E820}\relax} % Short Material Implication
+ \newcommand \NotSMtImpl {\lgx{E821}\relax} % Short Not Material Implication
+ \newcommand \SMtEquv {\lgx{E822}\relax} % Short Material Equivalence
+ \newcommand \NotSMtEquv {\lgx{E823}\relax} % Short Not Material Equivalence
\newcommand \MtImpl {\lgx{E824}\relax} % Material Implication
\newcommand \NotMtImpl {\lgx{E825}\relax} % Not Material Implication
\newcommand \MtEquv {\lgx{E826}\relax} % Material Equivalence
@@ -512,10 +578,10 @@
\newcommand \XMtEquv {\lgx{E82E}\relax} % Extra Long Material Equivalence
\newcommand \NotXMtEquv {\lgx{E82F}\relax} % Extra Long Not Material Equivalence
- \newcommand \SInImpl {\lgx{E830}\relax} % Short WIntuitionistic Implication
- \newcommand \NotSInImpl {\lgx{E831}\relax} % Short NNot Intuitionistic Implication
- \newcommand \SInEquv {\lgx{E832}\relax} % Short WIntuitionistic Equivalence
- \newcommand \NotSInEquv {\lgx{E833}\relax} % Short NNot Intuitionistic Equivalence
+ \newcommand \SInImpl {\lgx{E830}\relax} % Short Intuitionistic Implication
+ \newcommand \NotSInImpl {\lgx{E831}\relax} % Short Not Intuitionistic Implication
+ \newcommand \SInEquv {\lgx{E832}\relax} % Short Intuitionistic Equivalence
+ \newcommand \NotSInEquv {\lgx{E833}\relax} % Short Not Intuitionistic Equivalence
\newcommand \InImpl {\lgx{E834}\relax} % Intuitionistic Implication
\newcommand \NotInImpl {\lgx{E835}\relax} % Not Intuitionistic Implication
\newcommand \InEquv {\lgx{E836}\relax} % Intuitionistic Equivalence
@@ -529,10 +595,10 @@
\newcommand \XInEquv {\lgx{E83E}\relax} % Extra Long Intuitionistic Equivalence
\newcommand \NotXInEquv {\lgx{E83F}\relax} % Extra Long Not Intuitionistic Equivalence
- \newcommand \SWkImpl {\lgx{E840}\relax} % Short WWeak Implication
- \newcommand \NotSWkImpl {\lgx{E841}\relax} % Short NNot Weak Implication
- \newcommand \SWkEquv {\lgx{E842}\relax} % Short WWeak Implication Equivalence
- \newcommand \NotSWkEquv {\lgx{E843}\relax} % Short NNot Weak Implication Equivalence
+ \newcommand \SWkImpl {\lgx{E840}\relax} % Short Weak Implication
+ \newcommand \NotSWkImpl {\lgx{E841}\relax} % Short Not Weak Implication
+ \newcommand \SWkEquv {\lgx{E842}\relax} % Short Weak Implication Equivalence
+ \newcommand \NotSWkEquv {\lgx{E843}\relax} % Short Not Weak Implication Equivalence
\newcommand \WkImpl {\lgx{E844}\relax} % Weak Implication
\newcommand \NotWkImpl {\lgx{E845}\relax} % Not Weak Implication
\newcommand \WkEquv {\lgx{E846}\relax} % Weak Implication Equivalence
@@ -546,10 +612,10 @@
\newcommand \XWkEquv {\lgx{E84E}\relax} % Extra Long Weak Implication Equivalence
\newcommand \NotXWkEquv {\lgx{E84F}\relax} % Extra Long Not Weak Implication Equivalence
- \newcommand \SImpl {\lgx{E850}\relax} % Short WImplication
- \newcommand \NotSImpl {\lgx{E851}\relax} % Short NNot Implication
- \newcommand \SEquv {\lgx{E852}\relax} % Short WImplication Equivalence
- \newcommand \NotSEquv {\lgx{E853}\relax} % Short NNot Implication Equivalence
+ \newcommand \SImpl {\lgx{E850}\relax} % Short Implication
+ \newcommand \NotSImpl {\lgx{E851}\relax} % Short Not Implication
+ \newcommand \SEquv {\lgx{E852}\relax} % Short Implication Equivalence
+ \newcommand \NotSEquv {\lgx{E853}\relax} % Short Not Implication Equivalence
\newcommand \Impl {\lgx{E854}\relax} % Implication
\newcommand \NotImpl {\lgx{E855}\relax} % Not Implication
\newcommand \Equv {\lgx{E856}\relax} % Implication Equivalence
@@ -563,10 +629,10 @@
\newcommand \XEquv {\lgx{E85E}\relax} % Extra Long Implication Equivalence
\newcommand \NotXEquv {\lgx{E85F}\relax} % Extra Long Not Implication Equivalence
- \newcommand \SWkEntail {\lgx{E860}\relax} % Short WWeak Entailment
- \newcommand \NotSWkEntail {\lgx{E861}\relax} % Short NNot Weak Entailment
- \newcommand \SWkEntailEquv {\lgx{E862}\relax} % Short WWeak Entailment Equivalence
- \newcommand \NotSWkEntailEquv {\lgx{E863}\relax} % Short NNot Weak Entailment Equivalence
+ \newcommand \SWkEntail {\lgx{E860}\relax} % Short Weak Entailment
+ \newcommand \NotSWkEntail {\lgx{E861}\relax} % Short Not Weak Entailment
+ \newcommand \SWkEntailEquv {\lgx{E862}\relax} % Short Weak Entailment Equivalence
+ \newcommand \NotSWkEntailEquv {\lgx{E863}\relax} % Short Not Weak Entailment Equivalence
\newcommand \WkEntail {\lgx{E864}\relax} % Weak Entailment
\newcommand \NotWkEntail {\lgx{E865}\relax} % Not Weak Entailment
\newcommand \WkEntailEquv {\lgx{E866}\relax} % Weak Entailment Equivalence
@@ -580,10 +646,10 @@
\newcommand \XWkEntailEquv {\lgx{E86E}\relax} % Extra Long Weak Entailment Equivalence
\newcommand \NotXWkEntailEquv {\lgx{E86F}\relax} % Extra Long Not Weak Entailment Equivalence
- \newcommand \SEntail {\lgx{E870}\relax} % Short WEntailment
- \newcommand \NotSEntail {\lgx{E871}\relax} % Short NNot Entailment
- \newcommand \SEntailEquv {\lgx{E872}\relax} % Short WEntailment Equivalence
- \newcommand \NotSEntailEquv {\lgx{E873}\relax} % Short NNot Entailment Equivalence
+ \newcommand \SEntail {\lgx{E870}\relax} % Short Entailment
+ \newcommand \NotSEntail {\lgx{E871}\relax} % Short Not Entailment
+ \newcommand \SEntailEquv {\lgx{E872}\relax} % Short Entailment Equivalence
+ \newcommand \NotSEntailEquv {\lgx{E873}\relax} % Short Not Entailment Equivalence
\newcommand \Entail {\lgx{E874}\relax} % Entailment
\newcommand \NotEntail {\lgx{E875}\relax} % Not Entailment
\newcommand \EntailEquv {\lgx{E876}\relax} % Entailment Equivalence
@@ -615,12 +681,22 @@
\newcommand \Or {\lgx{E6A1}\relax} % Bitwise OR operator / Logical Disjunction
\newcommand \Nt {\lgx{E0C0}\relax} % Bitwise NOT operator / Logical Negation
\newcommand \Ngt {\lgx{E64C}\relax} % Classical Logical Negation
+ \newcommand \Lnand {\lgx{E9F6}\relax} % Logical NAND
+ \newcommand \Lnor {\lgx{E9F7}\relax} % Logical NOR
+ \newcommand \Lxor {\lgx{E293}\relax} % Logical XOR
+ \newcommand \Shfr {\lgx{E07F}\relax} % Sheffer's Stroke (Logical NAND)
\newcommand \Nand {\lgx{E6A2}\relax} % Bitwise NAND operator
\newcommand \Nor {\lgx{E6A3}\relax} % Bitwise NOR operator
\newcommand \Xor {\lgx{E6A5}\relax} % Bitwise XOR operator
- \newcommand \LcgCohrnc {\lgx{E068}\relax} % Logical Coherence
- \newcommand \BncCohrnc {\lgx{E078}\relax} % Bunch Coherence
+ \newcommand \SbNd {\lgx{E680}\relax} % Slanted Bar And
+ \newcommand \SbOr {\lgx{E681}\relax} % Slanted Bar Or
+ \newcommand \SbNand {\lgx{E682}\relax} % Slanted Bar Nand
+ \newcommand \SbNor {\lgx{E683}\relax} % Slanted Bar Nor
+ \newcommand \SbXor {\lgx{E685}\relax} % Slanted Bar Xor
+
+ \newcommand \LcgBistab {\lgx{E068}\relax} % Logical Bistability
+ \newcommand \BncBistab {\lgx{E078}\relax} % Bunch Bistability
\newcommand \TFNone {\lgx{E010}\relax} % Neither true nor false
\newcommand \NTrue {\lgx{E011}\relax} % Not true
@@ -633,14 +709,24 @@
\newcommand \QuantCon {\lgx{E891}\relax} % Quantified Conjunction
\newcommand \QuantDis {\lgx{E890}\relax} % Quantified Disjuntion
+
\newcommand \ForAll {\lgx{E8C0}\relax} % Universal Individual Quantifier
\newcommand \Exists {\lgx{E8C1}\relax} % Existential Individual Quantifier
\newcommand \Unique {\lgx{E8C2}\relax} % Unique Existential Individual Quantifier
+ \newcommand \NtExists {\lgx{E8C3}\relax} % Existential Individual Quantifier Negation
+ \newcommand \HdnExists {\lgx{E8C4}\relax} % Hidden Variable Existential Individual Quantifier
+ \newcommand \HdnForAll {\lgx{E8C5}\relax} % Hidden Variable Universal Individual Quantifier
+
\newcommand \BnchForAll {\lgx{E8D0}\relax} % Universal Bunch Quantifier
\newcommand \BnchExists {\lgx{E8D1}\relax} % Existential Bunch Quantifier
\newcommand \BnchUnique {\lgx{E8D2}\relax} % Unique Existential Bunch Quantifier
+ \newcommand \BnchNtExists {\lgx{E8D3}\relax} % Existential Bunch Quantifier Negation
+ \newcommand \BnchHdnExists {\lgx{E8D4}\relax} % Hidden Variable Existential Bunch Quantifier
+ \newcommand \BnchHdnForAll {\lgx{E8D5}\relax} % Hidden Variable Universal Bunch Quantifier
+
\newcommand \BndMap {\lgx{E030}\relax} % Map Abstraction
+ \newcommand \NoSpace {\lgx{E05A}\relax} % Zero width space
\newcommand \Dt {\lgx{E098}\relax} % Dot
\newcommand \Coma {\lgx{E099}\relax} % Comma
\newcommand \Semicln {\lgx{E09A}\relax} % Semicolon
@@ -663,7 +749,8 @@
\newcommand \Circumflex {\lgx{E03F}\relax} % ASCII Circumflex
\newcommand \Numbr {\lgx{E04F}\relax} % Number sign
\newcommand \Underscore {\lgx{E0AF}\relax} % Underscore
- \newcommand \Tild {\lgx{007E}\relax} % Tilde
+ \newcommand \Tild {\lgx{E06E}\relax} % Tilde
+ \newcommand \Cpyrght {\lgx{E06F}\relax} % Copyright
\newcommand \SingleQuote {\lgx{E08B}\relax} % Single quote
\newcommand \DoubleQuote {\lgx{E09B}\relax} % Double quote
\newcommand \TripleQuote {\lgx{E0AB}\relax} % Triple quote
@@ -671,19 +758,30 @@
\newcommand \LeftSlash {\lgx{E103}\relax} % Left (back) slash
\newcommand \RightSlash {\lgx{E102}\relax} % Right (forward) slash
+ \newcommand \ShftAccent {\lgx{EAC5}\relax} % Shift for accents
\newcommand \ShftSuper {\lgx{EAC3}\relax} % Shift for superscripts
\newcommand \ShftSubscr {\lgx{EAC4}\relax} % Shift for subscripts
- \newcommand \ShftAccent {\lgx{EAC5}\relax} % Shift for accents
+ \newcommand \RplcAllBnd {\lgx{EA20}\relax} % Replace All Bound Variables (left / right)
\newcommand \RplcAllBndRight {\lgx{E9D4}\relax} % Replace All Bound Variables (right)
\newcommand \RplcAllBndLeft {\lgx{E9D5}\relax} % Replace All Bound Variables (left)
+
+ \newcommand \RplcAll {\lgx{EA21}\relax} % Replace All (left / right)
\newcommand \RplcAllRight {\lgx{E9DA}\relax} % Replace All (right)
\newcommand \RplcAllLeft {\lgx{E9DB}\relax} % Replace All (left)
+
+ \newcommand \RplcFree {\lgx{EA22}\relax} % Replace Any Free Variables (left / right)
\newcommand \RplcFreeRight {\lgx{E9F0}\relax} % Replace Any Free Variables (right)
\newcommand \RplcFreeLeft {\lgx{E9F1}\relax} % Replace Any Free Variables (left)
+
+ \newcommand \RplcEquv {\lgx{EA24}\relax} % Replace Equivalent Expressions (left / right)
\newcommand \RplcEquvRight {\lgx{E9F8}\relax} % Replace Equivalent Expressions (right)
\newcommand \RplcEquvLeft {\lgx{E9F9}\relax} % Replace Equivalent Expressions (left)
+ \newcommand \RplcAny {\lgx{EA23}\relax} % Replace Any (left / right)
+ \newcommand \RplcAnyRight {\lgx{E9FA}\relax} % Replace Any (right)
+ \newcommand \RplcAnyLeft {\lgx{E9FB}\relax} % Replace Any (left)
+
\newcommand \LstFix {\lgx{E031}\relax} % Least Fixed Point
\newcommand \GrtFix {\lgx{E032}\relax} % Greatest Fixed Point
\newcommand \Choice {\lgx{E033}\relax} % Choice
@@ -692,36 +790,61 @@
\newcommand \FrstOrd {\lgx{E039}\relax} % First Ordinal (omega)
\newcommand \Infin {\lgx{E03A}\relax} % Infinity
- \newcommand \LogNec {\lgx{E230}\relax} % Logical Necessity (temporal always or henceforth)
- \newcommand \LogPos {\lgx{E232}\relax} % Logical Possibility (temporal sometime or eventually)
- \newcommand \LogNext {\lgx{E233}\relax} % Logical Next (temporal next or nexttime)
- \newcommand \LogFutr {\lgx{E234}\relax} % Logical Future (temporal in the future)
- \newcommand \LogPast {\lgx{E235}\relax} % Logical Past (temporal in the past)
- \newcommand \LogCont {\lgx{E236}\relax} % Logical Contingency
- \newcommand \LogNonCont {\lgx{E237}\relax} % Logical Non-contingency
-
- \newcommand \Nec {\lgx{E270}\relax} % Necessity (temporal always or henceforth)
- \newcommand \Pos {\lgx{E272}\relax} % Possibility (temporal sometime or eventually)
- \newcommand \Next {\lgx{E273}\relax} % Next (temporal next or nexttime)
- \newcommand \Futr {\lgx{E274}\relax} % Future (temporal in the future)
- \newcommand \Past {\lgx{E275}\relax} % Past (temporal in the past)
- \newcommand \Cont {\lgx{E276}\relax} % Contingency
- \newcommand \NonCont {\lgx{E277}\relax} % Non-contingency
-
- \newcommand \FacNec {\lgx{E220}\relax} % Factual Necessity (temporal always or henceforth)
- \newcommand \FacPos {\lgx{E222}\relax} % Factual Possibility (temporal sometime or eventually)
- \newcommand \FacNext {\lgx{E223}\relax} % Factual Next (temporal next or nexttime)
- \newcommand \FacFutr {\lgx{E224}\relax} % Factual Future (temporal in the future)
- \newcommand \FacPast {\lgx{E225}\relax} % Factual Past (temporal in the past)
- \newcommand \FacCont {\lgx{E226}\relax} % Factual Contingency
- \newcommand \FacNonCont {\lgx{E227}\relax} % Factual Non-contingency
+ \newcommand \Nec {\lgx{E220}\relax} % Necessity
+ \newcommand \Pos {\lgx{E222}\relax} % Possibility
+ \newcommand \Next {\lgx{E223}\relax} % Next
+ \newcommand \Futr {\lgx{E224}\relax} % Future
+ \newcommand \Past {\lgx{E225}\relax} % Past
+ \newcommand \Cont {\lgx{E226}\relax} % Contingency
+ \newcommand \NonCont {\lgx{E227}\relax} % Non-contingency
+
+ \newcommand \FacNec {\lgx{E230}\relax} % Factual Necessity
+ \newcommand \FacPos {\lgx{E232}\relax} % Factual Possibility
+ \newcommand \FacNext {\lgx{E233}\relax} % Factual Next
+ \newcommand \FacFutr {\lgx{E234}\relax} % Factual Future
+ \newcommand \FacPast {\lgx{E235}\relax} % Factual Past
+ \newcommand \FacCont {\lgx{E236}\relax} % Factual Contingency
+ \newcommand \FacNonCont {\lgx{E237}\relax} % Factual Non-contingency
+
+ \newcommand \DeoNec {\lgx{E240}\relax} % Deontic Necessity
+ \newcommand \DeoPos {\lgx{E242}\relax} % Deontic Possibility
+ \newcommand \DeoNext {\lgx{E243}\relax} % Deontic Next
+ \newcommand \DeoFutr {\lgx{E244}\relax} % Deontic Future
+ \newcommand \DeoPast {\lgx{E245}\relax} % Deontic Past
+ \newcommand \DeoCont {\lgx{E246}\relax} % Deontic Contingency
+ \newcommand \DeoNonCont {\lgx{E247}\relax} % Deontic Non-contingency
+
+ \newcommand \LogNec {\lgx{E250}\relax} % Logical Necessity
+ \newcommand \LogPos {\lgx{E252}\relax} % Logical Possibility
+ \newcommand \LogNext {\lgx{E253}\relax} % Logical Next
+ \newcommand \LogFutr {\lgx{E254}\relax} % Logical Future
+ \newcommand \LogPast {\lgx{E255}\relax} % Logical Past
+ \newcommand \LogCont {\lgx{E256}\relax} % Logical Contingency
+ \newcommand \LogNonCont {\lgx{E257}\relax} % Logical Non-contingency
+
+ \newcommand \DoxNec {\lgx{E260}\relax} % Doxastic Necessity
+ \newcommand \DoxPos {\lgx{E262}\relax} % Doxastic Possibility
+ \newcommand \DoxNext {\lgx{E263}\relax} % Doxastic Next
+ \newcommand \DoxFutr {\lgx{E264}\relax} % Doxastic Future
+ \newcommand \DoxPast {\lgx{E265}\relax} % Doxastic Past
+ \newcommand \DoxCont {\lgx{E266}\relax} % Doxastic Contingency
+ \newcommand \DoxNonCont {\lgx{E267}\relax} % Doxastic Non-contingency
+
+ \newcommand \TmpNec {\lgx{E270}\relax} % Temporal Necessity
+ \newcommand \TmpPos {\lgx{E272}\relax} % Temporal Possibility
+ \newcommand \TmpNext {\lgx{E273}\relax} % Temporal Next
+ \newcommand \TmpFutr {\lgx{E274}\relax} % Temporal Future
+ \newcommand \TmpPast {\lgx{E275}\relax} % Temporal Past
+ \newcommand \TmpCont {\lgx{E276}\relax} % Temporal Contingency
+ \newcommand \TmpNonCont {\lgx{E277}\relax} % Temporal Non-contingency
\newcommand \Of {\lgx{E600}\relax} % Bunch Inclusion
\newcommand \In {\lgx{E602}\relax} % Set Membership
\newcommand \NotIn {\lgx{E603}\relax} % Set Membership Negated
+ \newcommand \Cover {\lgx{E94D}\relax} % Cover
- \newcommand \EmptyBunch {\lgx{E054}\relax} % Empty Bunch
- \newcommand \NullSet {\lgx{E053}\relax} % Null Set
+ \newcommand \VoidBunch {\lgx{E054}\relax} % Absent / Void Bunch
+ \newcommand \NullSet {\lgx{E053}\relax} % Empty / Null Set
\newcommand \BnchMeet {\lgx{E710}\relax} % Bunch Meet
\newcommand \BnchJoin {\lgx{E711}\relax} % Bunch Join
@@ -739,6 +862,9 @@
\newcommand \MapMeet {\lgx{E760}\relax} % Map Meet
\newcommand \MapJoin {\lgx{E761}\relax} % Map Join
+ \newcommand \VeeMeet {\lgx{EAF6}\relax} % V Meet
+ \newcommand \VeeJoin {\lgx{EAF7}\relax} % V Join
+
\newcommand \StrctSbmap {\lgx{E768}\relax} % Strict Submap
\newcommand \NotStrctSbmap {\lgx{E769}\relax} % Strict Submap Negated
\newcommand \Sbmap {\lgx{E76A}\relax} % Submap
@@ -773,6 +899,16 @@
\newcommand \NotGr {\lgx{E6AF}\relax} % Not Greater Than
\newcommand \NotGre {\lgx{E6AD}\relax} % Not Greater Than or Equal
+ \newcommand \SbLs {\lgx{E688}\relax} % Slanted Bar Less Than
+ \newcommand \SbLse {\lgx{E68A}\relax} % Slanted Bar Less Than or Equal
+ \newcommand \SbGr {\lgx{E68E}\relax} % Slanted Bar Greater Than
+ \newcommand \SbGre {\lgx{E68C}\relax} % Slanted Bar Greater Than or Equal
+
+ \newcommand \SbNotLs {\lgx{E689}\relax} % Slanted Bar Not Less Than
+ \newcommand \SbNotLse {\lgx{E68B}\relax} % Slanted Bar Not Less Than or Equal
+ \newcommand \SbNotGr {\lgx{E68F}\relax} % Slanted Bar Not Greater Than
+ \newcommand \SbNotGre {\lgx{E68D}\relax} % Slanted Bar Not Greater Than or Equal
+
\newcommand \Pre {\lgx{E6C8}\relax} % Precedes
\newcommand \Preq {\lgx{E6CA}\relax} % Precedes or Equal
\newcommand \Suc {\lgx{E6CE}\relax} % Succeeds
@@ -788,7 +924,7 @@
\newcommand \PlusMinus {\lgx{E0CE}\relax} % Plus / Minus
\newcommand \MinusPlus {\lgx{E0CF}\relax} % Minus / Plus
\newcommand \Asterick {\lgx{E0C4}\relax} % Asterick
- \newcommand \Divide {\lgx{E103}\relax} % Divide
+ \newcommand \Divide {\lgx{E102}\relax} % Divide
\newcommand \Times {\lgx{E0C5}\relax} % Times
\newcommand \Append {\lgx{E0CB}\relax} % Append
@@ -972,8 +1108,8 @@
\defineDelimiter{ClsCeil} {EEF0}
\defineDelimiter{OpnFloor} {EF00}
\defineDelimiter{ClsFloor} {EF10}
- \defineDelimiter{OpnForce} {EF20}
- \defineDelimiter{ClsForce} {EF30}
+ \defineDelimiter{OpnTurn} {EF20}
+ \defineDelimiter{ClsTurn} {EF30}
\defineDelimiter{OpnBar} {EF40}
\defineDelimiter{ClsBar} {EF50}
\defineDelimiter{BndBar} {EF60}
@@ -1200,11 +1336,11 @@
\newcommand \ClsFloorBtm {\lgx{EF1C}} % ClsFloor bottom
\newcommand \ClsFloorExt {\lgx{EF1D}} % ClsFloor extender
- \newcommand \OpnForceMid {\lgx{EF2C}} % OpnForce middle
- \newcommand \OpnForceExt {\lgx{EF2D}} % OpnForce extender
+ \newcommand \OpnTurnMid {\lgx{EF2C}} % OpnTurn middle
+ \newcommand \OpnTurnExt {\lgx{EF2D}} % OpnTurn extender
- \newcommand \ClsForceMid {\lgx{EF3C}} % ClsForce middle
- \newcommand \ClsForceExt {\lgx{EF3D}} % ClsForce extender
+ \newcommand \ClsTurnMid {\lgx{EF3C}} % ClsTurn middle
+ \newcommand \ClsTurnExt {\lgx{EF3D}} % ClsTurn extender
\newcommand \OpnBarBtm {\lgx{EF4C}} % OpnBar bottom
\newcommand \OpnBarExt {\lgx{EF4D}} % OpnBar extender
@@ -1569,70 +1705,70 @@
\newcommand \KntBSQNF {\lgf{E21E}} % Bottom solid forth line, half height
\newcommand \KntLSQNF {\lgq{E21F}} % Left solid forth line, half width
- \newcommand \Kntzero {\lgv{EFB0}} % Monospace raised italic, serif font: digit 0
- \newcommand \Kntone {\lgv{EFB1}} % Monospace raised italic, serif font: digit 1
- \newcommand \Knttwo {\lgv{EFB2}} % Monospace raised italic, serif font: digit 2
- \newcommand \Kntthree {\lgv{EFB3}} % Monospace raised italic, serif font: digit 3
- \newcommand \Kntfour {\lgv{EFB4}} % Monospace raised italic, serif font: digit 4
- \newcommand \Kntfive {\lgv{EFB5}} % Monospace raised italic, serif font: digit 5
- \newcommand \Kntsix {\lgv{EFB6}} % Monospace raised italic, serif font: digit 6
- \newcommand \Kntseven {\lgv{EFB7}} % Monospace raised italic, serif font: digit 7
- \newcommand \Knteight {\lgv{EFB8}} % Monospace raised italic, serif font: digit 8
- \newcommand \Kntnine {\lgv{EFB9}} % Monospace raised italic, serif font: digit 9
-
- \newcommand \KntA {\lgv{EFC1}} % Monospace raised italic, serif font: letter A
- \newcommand \KntB {\lgv{EFC2}} % Monospace raised italic, serif font: letter B
- \newcommand \KntC {\lgv{EFC3}} % Monospace raised italic, serif font: letter C
- \newcommand \KntD {\lgv{EFC4}} % Monospace raised italic, serif font: letter D
- \newcommand \KntE {\lgv{EFC5}} % Monospace raised italic, serif font: letter E
- \newcommand \KntF {\lgv{EFC6}} % Monospace raised italic, serif font: letter F
- \newcommand \KntG {\lgv{EFC7}} % Monospace raised italic, serif font: letter G
- \newcommand \KntH {\lgv{EFC8}} % Monospace raised italic, serif font: letter H
- \newcommand \KntI {\lgv{EFC9}} % Monospace raised italic, serif font: letter I
- \newcommand \KntJ {\lgv{EFCA}} % Monospace raised italic, serif font: letter J
- \newcommand \KntK {\lgv{EFCB}} % Monospace raised italic, serif font: letter K
- \newcommand \KntL {\lgv{EFCC}} % Monospace raised italic, serif font: letter L
- \newcommand \KntM {\lgv{EFCD}} % Monospace raised italic, serif font: letter M
- \newcommand \KntN {\lgv{EFCE}} % Monospace raised italic, serif font: letter N
- \newcommand \KntO {\lgv{EFCF}} % Monospace raised italic, serif font: letter O
- \newcommand \KntP {\lgv{EFD0}} % Monospace raised italic, serif font: letter P
- \newcommand \KntQ {\lgv{EFD1}} % Monospace raised italic, serif font: letter Q
- \newcommand \KntR {\lgv{EFD2}} % Monospace raised italic, serif font: letter R
- \newcommand \KntS {\lgv{EFD3}} % Monospace raised italic, serif font: letter S
- \newcommand \KntT {\lgv{EFD4}} % Monospace raised italic, serif font: letter T
- \newcommand \KntU {\lgv{EFD5}} % Monospace raised italic, serif font: letter U
- \newcommand \KntV {\lgv{EFD6}} % Monospace raised italic, serif font: letter V
- \newcommand \KntW {\lgv{EFD7}} % Monospace raised italic, serif font: letter W
- \newcommand \KntX {\lgv{EFD8}} % Monospace raised italic, serif font: letter X
- \newcommand \KntY {\lgv{EFD9}} % Monospace raised italic, serif font: letter Y
- \newcommand \KntZ {\lgv{EFDA}} % Monospace raised italic, serif font: letter Z
-
- \newcommand \Knta {\lgv{EFE1}} % Monospace raised italic, serif font: letter a
- \newcommand \Kntb {\lgv{EFE2}} % Monospace raised italic, serif font: letter b
- \newcommand \Kntc {\lgv{EFE3}} % Monospace raised italic, serif font: letter c
- \newcommand \Kntd {\lgv{EFE4}} % Monospace raised italic, serif font: letter d
- \newcommand \Knte {\lgv{EFE5}} % Monospace raised italic, serif font: letter e
- \newcommand \Kntf {\lgv{EFE6}} % Monospace raised italic, serif font: letter f
- \newcommand \Kntg {\lgv{EFE7}} % Monospace raised italic, serif font: letter g
- \newcommand \Knth {\lgv{EFE8}} % Monospace raised italic, serif font: letter h
- \newcommand \Knti {\lgv{EFE9}} % Monospace raised italic, serif font: letter i
- \newcommand \Kntj {\lgv{EFEA}} % Monospace raised italic, serif font: letter j
- \newcommand \Kntk {\lgv{EFEB}} % Monospace raised italic, serif font: letter k
- \newcommand \Kntl {\lgv{EFEC}} % Monospace raised italic, serif font: letter l
- \newcommand \Kntm {\lgv{EFED}} % Monospace raised italic, serif font: letter m
- \newcommand \Kntn {\lgv{EFEE}} % Monospace raised italic, serif font: letter n
- \newcommand \Knto {\lgv{EFEF}} % Monospace raised italic, serif font: letter o
- \newcommand \Kntp {\lgv{EFF0}} % Monospace raised italic, serif font: letter p
- \newcommand \Kntq {\lgv{EFF1}} % Monospace raised italic, serif font: letter q
- \newcommand \Kntr {\lgv{EFF2}} % Monospace raised italic, serif font: letter r
- \newcommand \Knts {\lgv{EFF3}} % Monospace raised italic, serif font: letter s
- \newcommand \Kntt {\lgv{EFF4}} % Monospace raised italic, serif font: letter t
- \newcommand \Kntu {\lgv{EFF5}} % Monospace raised italic, serif font: letter u
- \newcommand \Kntv {\lgv{EFF6}} % Monospace raised italic, serif font: letter v
- \newcommand \Kntw {\lgv{EFF7}} % Monospace raised italic, serif font: letter w
- \newcommand \Kntx {\lgv{EFF8}} % Monospace raised italic, serif font: letter x
- \newcommand \Knty {\lgv{EFF9}} % Monospace raised italic, serif font: letter y
- \newcommand \Kntz {\lgv{EFFA}} % Monospace raised italic, serif font: letter z
+ \newcommand \Kntzero {\lgv{EFB0}} % Monospace raised, italic, serif font: digit 0
+ \newcommand \Kntone {\lgv{EFB1}} % Monospace raised, italic, serif font: digit 1
+ \newcommand \Knttwo {\lgv{EFB2}} % Monospace raised, italic, serif font: digit 2
+ \newcommand \Kntthree {\lgv{EFB3}} % Monospace raised, italic, serif font: digit 3
+ \newcommand \Kntfour {\lgv{EFB4}} % Monospace raised, italic, serif font: digit 4
+ \newcommand \Kntfive {\lgv{EFB5}} % Monospace raised, italic, serif font: digit 5
+ \newcommand \Kntsix {\lgv{EFB6}} % Monospace raised, italic, serif font: digit 6
+ \newcommand \Kntseven {\lgv{EFB7}} % Monospace raised, italic, serif font: digit 7
+ \newcommand \Knteight {\lgv{EFB8}} % Monospace raised, italic, serif font: digit 8
+ \newcommand \Kntnine {\lgv{EFB9}} % Monospace raised, italic, serif font: digit 9
+
+ \newcommand \KntA {\lgv{EFC1}} % Monospace raised, italic, serif font: letter A
+ \newcommand \KntB {\lgv{EFC2}} % Monospace raised, italic, serif font: letter B
+ \newcommand \KntC {\lgv{EFC3}} % Monospace raised, italic, serif font: letter C
+ \newcommand \KntD {\lgv{EFC4}} % Monospace raised, italic, serif font: letter D
+ \newcommand \KntE {\lgv{EFC5}} % Monospace raised, italic, serif font: letter E
+ \newcommand \KntF {\lgv{EFC6}} % Monospace raised, italic, serif font: letter F
+ \newcommand \KntG {\lgv{EFC7}} % Monospace raised, italic, serif font: letter G
+ \newcommand \KntH {\lgv{EFC8}} % Monospace raised, italic, serif font: letter H
+ \newcommand \KntI {\lgv{EFC9}} % Monospace raised, italic, serif font: letter I
+ \newcommand \KntJ {\lgv{EFCA}} % Monospace raised, italic, serif font: letter J
+ \newcommand \KntK {\lgv{EFCB}} % Monospace raised, italic, serif font: letter K
+ \newcommand \KntL {\lgv{EFCC}} % Monospace raised, italic, serif font: letter L
+ \newcommand \KntM {\lgv{EFCD}} % Monospace raised, italic, serif font: letter M
+ \newcommand \KntN {\lgv{EFCE}} % Monospace raised, italic, serif font: letter N
+ \newcommand \KntO {\lgv{EFCF}} % Monospace raised, italic, serif font: letter O
+ \newcommand \KntP {\lgv{EFD0}} % Monospace raised, italic, serif font: letter P
+ \newcommand \KntQ {\lgv{EFD1}} % Monospace raised, italic, serif font: letter Q
+ \newcommand \KntR {\lgv{EFD2}} % Monospace raised, italic, serif font: letter R
+ \newcommand \KntS {\lgv{EFD3}} % Monospace raised, italic, serif font: letter S
+ \newcommand \KntT {\lgv{EFD4}} % Monospace raised, italic, serif font: letter T
+ \newcommand \KntU {\lgv{EFD5}} % Monospace raised, italic, serif font: letter U
+ \newcommand \KntV {\lgv{EFD6}} % Monospace raised, italic, serif font: letter V
+ \newcommand \KntW {\lgv{EFD7}} % Monospace raised, italic, serif font: letter W
+ \newcommand \KntX {\lgv{EFD8}} % Monospace raised, italic, serif font: letter X
+ \newcommand \KntY {\lgv{EFD9}} % Monospace raised, italic, serif font: letter Y
+ \newcommand \KntZ {\lgv{EFDA}} % Monospace raised, italic, serif font: letter Z
+
+ \newcommand \Knta {\lgv{EFE1}} % Monospace raised, italic, serif font: letter a
+ \newcommand \Kntb {\lgv{EFE2}} % Monospace raised, italic, serif font: letter b
+ \newcommand \Kntc {\lgv{EFE3}} % Monospace raised, italic, serif font: letter c
+ \newcommand \Kntd {\lgv{EFE4}} % Monospace raised, italic, serif font: letter d
+ \newcommand \Knte {\lgv{EFE5}} % Monospace raised, italic, serif font: letter e
+ \newcommand \Kntf {\lgv{EFE6}} % Monospace raised, italic, serif font: letter f
+ \newcommand \Kntg {\lgv{EFE7}} % Monospace raised, italic, serif font: letter g
+ \newcommand \Knth {\lgv{EFE8}} % Monospace raised, italic, serif font: letter h
+ \newcommand \Knti {\lgv{EFE9}} % Monospace raised, italic, serif font: letter i
+ \newcommand \Kntj {\lgv{EFEA}} % Monospace raised, italic, serif font: letter j
+ \newcommand \Kntk {\lgv{EFEB}} % Monospace raised, italic, serif font: letter k
+ \newcommand \Kntl {\lgv{EFEC}} % Monospace raised, italic, serif font: letter l
+ \newcommand \Kntm {\lgv{EFED}} % Monospace raised, italic, serif font: letter m
+ \newcommand \Kntn {\lgv{EFEE}} % Monospace raised, italic, serif font: letter n
+ \newcommand \Knto {\lgv{EFEF}} % Monospace raised, italic, serif font: letter o
+ \newcommand \Kntp {\lgv{EFF0}} % Monospace raised, italic, serif font: letter p
+ \newcommand \Kntq {\lgv{EFF1}} % Monospace raised, italic, serif font: letter q
+ \newcommand \Kntr {\lgv{EFF2}} % Monospace raised, italic, serif font: letter r
+ \newcommand \Knts {\lgv{EFF3}} % Monospace raised, italic, serif font: letter s
+ \newcommand \Kntt {\lgv{EFF4}} % Monospace raised, italic, serif font: letter t
+ \newcommand \Kntu {\lgv{EFF5}} % Monospace raised, italic, serif font: letter u
+ \newcommand \Kntv {\lgv{EFF6}} % Monospace raised, italic, serif font: letter v
+ \newcommand \Kntw {\lgv{EFF7}} % Monospace raised, italic, serif font: letter w
+ \newcommand \Kntx {\lgv{EFF8}} % Monospace raised, italic, serif font: letter x
+ \newcommand \Knty {\lgv{EFF9}} % Monospace raised, italic, serif font: letter y
+ \newcommand \Kntz {\lgv{EFFA}} % Monospace raised, italic, serif font: letter z
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -