From f32d2ecd625131cb9d544f2be290f59e7c501918 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 7 Jul 2021 20:54:00 +0000 Subject: logix (7jul21) git-svn-id: svn://tug.org/texlive/trunk@59863 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/fonts/logix/CHANGELOG | 52 +++ Master/texmf-dist/doc/fonts/logix/README | 16 +- Master/texmf-dist/doc/fonts/logix/logix.pdf | Bin 462783 -> 477713 bytes Master/texmf-dist/doc/fonts/logix/logix.tex | 417 +++++++++++++------ Master/texmf-dist/doc/fonts/logix/logix.vfc | Bin 4893441 -> 4921426 bytes Master/texmf-dist/doc/fonts/logix/logixMono.vfc | Bin 546215 -> 546299 bytes .../fonts/opentype/public/logix/logix.eot | Bin 411069 -> 433883 bytes .../fonts/opentype/public/logix/logix.otf | Bin 550812 -> 564584 bytes .../fonts/opentype/public/logix/logix.woff | Bin 497756 -> 525668 bytes .../fonts/opentype/public/logix/logix.woff2 | Bin 338580 -> 345252 bytes .../fonts/opentype/public/logix/logixMono.eot | Bin 29958 -> 32701 bytes .../fonts/opentype/public/logix/logixMono.otf | Bin 63800 -> 68416 bytes .../fonts/opentype/public/logix/logixMono.woff | Bin 36120 -> 34284 bytes .../fonts/opentype/public/logix/logixMono.woff2 | Bin 31884 -> 33980 bytes .../fonts/truetype/public/logix/logix.ttf | Bin 1174964 -> 1183464 bytes .../fonts/truetype/public/logix/logixMono.ttf | Bin 69572 -> 69588 bytes Master/texmf-dist/tex/latex/logix/logix.sty | 448 ++++++++++++++------- 17 files changed, 653 insertions(+), 280 deletions(-) diff --git a/Master/texmf-dist/doc/fonts/logix/CHANGELOG b/Master/texmf-dist/doc/fonts/logix/CHANGELOG index c7a75b3fd02..aa703db329f 100644 --- a/Master/texmf-dist/doc/fonts/logix/CHANGELOG +++ b/Master/texmf-dist/doc/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/Master/texmf-dist/doc/fonts/logix/README b/Master/texmf-dist/doc/fonts/logix/README index 8a79e7cee96..00a500924d9 100644 --- a/Master/texmf-dist/doc/fonts/logix/README +++ b/Master/texmf-dist/doc/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/Master/texmf-dist/doc/fonts/logix/logix.pdf b/Master/texmf-dist/doc/fonts/logix/logix.pdf index c3c2751ce73..38184ad7aed 100644 Binary files a/Master/texmf-dist/doc/fonts/logix/logix.pdf and b/Master/texmf-dist/doc/fonts/logix/logix.pdf differ diff --git a/Master/texmf-dist/doc/fonts/logix/logix.tex b/Master/texmf-dist/doc/fonts/logix/logix.tex index a59d5bb939c..c4a60c4098b 100644 --- a/Master/texmf-dist/doc/fonts/logix/logix.tex +++ b/Master/texmf-dist/doc/fonts/logix/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,12 +1614,16 @@ 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 @@ -1462,6 +1631,7 @@ 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,7 +1672,21 @@ 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 @@ -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/Master/texmf-dist/doc/fonts/logix/logix.vfc b/Master/texmf-dist/doc/fonts/logix/logix.vfc index 3135b6659c5..003d8bdf46f 100644 Binary files a/Master/texmf-dist/doc/fonts/logix/logix.vfc and b/Master/texmf-dist/doc/fonts/logix/logix.vfc differ diff --git a/Master/texmf-dist/doc/fonts/logix/logixMono.vfc b/Master/texmf-dist/doc/fonts/logix/logixMono.vfc index 240e9c38bc7..60cd005b503 100644 Binary files a/Master/texmf-dist/doc/fonts/logix/logixMono.vfc and b/Master/texmf-dist/doc/fonts/logix/logixMono.vfc differ diff --git a/Master/texmf-dist/fonts/opentype/public/logix/logix.eot b/Master/texmf-dist/fonts/opentype/public/logix/logix.eot index c90600a846e..92942c25b9a 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/logix/logix.eot and b/Master/texmf-dist/fonts/opentype/public/logix/logix.eot differ diff --git a/Master/texmf-dist/fonts/opentype/public/logix/logix.otf b/Master/texmf-dist/fonts/opentype/public/logix/logix.otf index d33f9e56993..a2a1c611ac1 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/logix/logix.otf and b/Master/texmf-dist/fonts/opentype/public/logix/logix.otf differ diff --git a/Master/texmf-dist/fonts/opentype/public/logix/logix.woff b/Master/texmf-dist/fonts/opentype/public/logix/logix.woff index ee032c4d57e..029bdc94f3b 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/logix/logix.woff and b/Master/texmf-dist/fonts/opentype/public/logix/logix.woff differ diff --git a/Master/texmf-dist/fonts/opentype/public/logix/logix.woff2 b/Master/texmf-dist/fonts/opentype/public/logix/logix.woff2 index 6ded5b52d66..41aa5306670 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/logix/logix.woff2 and b/Master/texmf-dist/fonts/opentype/public/logix/logix.woff2 differ diff --git a/Master/texmf-dist/fonts/opentype/public/logix/logixMono.eot b/Master/texmf-dist/fonts/opentype/public/logix/logixMono.eot index 37ee55554aa..6408d1a94e5 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/logix/logixMono.eot and b/Master/texmf-dist/fonts/opentype/public/logix/logixMono.eot differ diff --git a/Master/texmf-dist/fonts/opentype/public/logix/logixMono.otf b/Master/texmf-dist/fonts/opentype/public/logix/logixMono.otf index eb50b5e720d..8b1b4131700 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/logix/logixMono.otf and b/Master/texmf-dist/fonts/opentype/public/logix/logixMono.otf differ diff --git a/Master/texmf-dist/fonts/opentype/public/logix/logixMono.woff b/Master/texmf-dist/fonts/opentype/public/logix/logixMono.woff index 21bac4ba528..7f9b395ad4d 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/logix/logixMono.woff and b/Master/texmf-dist/fonts/opentype/public/logix/logixMono.woff differ diff --git a/Master/texmf-dist/fonts/opentype/public/logix/logixMono.woff2 b/Master/texmf-dist/fonts/opentype/public/logix/logixMono.woff2 index 537dfd036be..7bb9f2799c5 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/logix/logixMono.woff2 and b/Master/texmf-dist/fonts/opentype/public/logix/logixMono.woff2 differ diff --git a/Master/texmf-dist/fonts/truetype/public/logix/logix.ttf b/Master/texmf-dist/fonts/truetype/public/logix/logix.ttf index 505a0decefd..73a984b4cbf 100644 Binary files a/Master/texmf-dist/fonts/truetype/public/logix/logix.ttf and b/Master/texmf-dist/fonts/truetype/public/logix/logix.ttf differ diff --git a/Master/texmf-dist/fonts/truetype/public/logix/logixMono.ttf b/Master/texmf-dist/fonts/truetype/public/logix/logixMono.ttf index a6e004ac59b..dd96e24879f 100644 Binary files a/Master/texmf-dist/fonts/truetype/public/logix/logixMono.ttf and b/Master/texmf-dist/fonts/truetype/public/logix/logixMono.ttf differ diff --git a/Master/texmf-dist/tex/latex/logix/logix.sty b/Master/texmf-dist/tex/latex/logix/logix.sty index a96b11b51ea..905db9b17cb 100644 --- a/Master/texmf-dist/tex/latex/logix/logix.sty +++ b/Master/texmf-dist/tex/latex/logix/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. % @@ -158,6 +186,31 @@ % Enviroment for logic definitions. \newenvironment{LogixDefn}[1][]{% + \newcommand \PrfEnd {\rule[-0.375em]{0pt}{1.30em}} + \renewcommand{\arraystretch}{0} + \ifx& + \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& @@ -190,11 +243,13 @@ \newcommand \PrfBgn {\-\ \hspace{0.50em}}% \newcommand \PrfEnd {\rule[-0.375em]{0pt}{1.35em}}% \ifx& - \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& - \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 % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.2.3