texlive[70806] Master/texmf-dist: rec-thy (29mar24)

commits+karl at tug.org commits+karl at tug.org
Fri Mar 29 22:34:13 CET 2024


Revision: 70806
          https://tug.org/svn/texlive?view=revision&revision=70806
Author:   karl
Date:     2024-03-29 22:34:13 +0100 (Fri, 29 Mar 2024)
Log Message:
-----------
rec-thy (29mar24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/rec-thy/README
    trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.pdf
    trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex
    trunk/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty

Modified: trunk/Master/texmf-dist/doc/latex/rec-thy/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/rec-thy/README	2024-03-29 21:34:02 UTC (rev 70805)
+++ trunk/Master/texmf-dist/doc/latex/rec-thy/README	2024-03-29 21:34:13 UTC (rev 70806)
@@ -43,3 +43,6 @@
 v3.8 - Adjusted \Tdeg to be more beamer friendly and fixed it not to dumbly underline 0^n.  Fixed BeamerRequirements to work with differing values of \abovedisplayskip.  Removed a few typos in docs for the requirements assistance.  Added BeamerRequire and BeamerRequire* that put the requirements in a block and offer overlay specifications.
 v3.8.1 Fixed issues displaying the prime for jump operations
 v3.8.2 Removed option to put the set at the end of an \REset operation to avoid capturing later paren arguments, e.g. \REset{i}(A) no longer works to avoid confusion with \REset{i}(x).
+v3.8.3 Added bpfuncs.  Changed default for code to use double angle brackets.  Improved the indentation for the cases enviornment.
+
+03/29/2024 - v 4.0 Major release and refactor with many breaking changes.  See the pdf documenatation for details.
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex	2024-03-29 21:34:02 UTC (rev 70805)
+++ trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex	2024-03-29 21:34:13 UTC (rev 70806)
@@ -1,25 +1,34 @@
 \documentclass[leqno,11pt]{amsart}
 \usepackage{zwgetfdate}
-\usepackage{amsmath}
-% \RequirePackage{amsmath}
-\usepackage[disallowspaces,fixamsmath]{mathtools}
-\usepackage{amssymb}
-\usepackage{amsthm}
+\usepackage{amsmath,amssymb,amsthm,iftex}
+% \usepackage[disallowspaces,fixamsmath]{mathtools}
 % \usepackage{amsfonts}
 % \DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
 % \DeclareMathAlphabet{\mathbrush}{T1}{pbsi}{xl}{n}
 % \usepackage{mathspec}
 \usepackage{comment}
-\usepackage{unicode-math}
-\unimathsetup{math-style=TeX,bold-style=TeX,nabla=upright,partial=italic}
+
+\ifpdftex
+\else %using lualatex/xelatex
+    \usepackage{unicode-math}
+    \usepackage{fontspec}
     \setmainfont{XITS}
     \setmathfont{XITS Math}
     \setmathfont{XITS Math}[range={\mathscr,\mathbfscr}]
-    \setmathfont{XITS Math}[range={\mathcal,\mathbfcal},StylisticSet=1]
+    \setmathfont{XITS Math}[range={\mathcal,\mathbfcal},StylisticSet=1]  %% creating different styles for mathscr/mathcal using XITS
+\fi
 
+% \usepackage{unicode-math}
+% \unimathsetup{math-style=TeX,bold-style=TeX,nabla=upright,partial=italic}
+%     \setmainfont{XITS}
+%     \setmathfont{XITS Math}
+%     \setmathfont{XITS Math}[range={\mathscr,\mathbfscr}]
+%     \setmathfont{XITS Math}[range={\mathcal,\mathbfcal},StylisticSet=1]
 
+
+
+\usepackage[unicode,psdextra,pdfusetitle]{hyperref}
 \usepackage{hyperxmp}
-\usepackage[unicode,psdextra,pdfusetitle]{hyperref}
 \hypersetup{%
 	%pdfauthor={Peter M. Gerdes},
             pdfsubject={LaTeX Package for Typesetting Computability Theory},
@@ -30,20 +39,15 @@
             linkcolor=magenta,
             pdfborder={0 0 0},
             breaklinks=true,
-			pdfdisplaydoctitle=true,
-			pdfcontactaddress={107 Ardsley Drive},
-         	pdfcontactcity={Syracuse, NY},
-         	pdfcontactpostcode={13214},
-         	pdfcontactcountry={United States},
-        	pdfcontactphone={256-333-0128},
-        	pdfcontactemail={gerdes at invariant.org},
-        	pdfcontacturl={http://invariant.org},
-        	pdflang={en},
+        		pdfcontactemail={gerdes at invariant.org},
+        		pdfcontacturl={http://invariant.org},
+        		pdflang={en},
         	% pdfauthortitle={Technical Assistant, Level III},
         	% pdfdate={\today},
-        	pdfcopyright={Copyright (C) \today, Peter M. Gerdes},
-        	baseurl={http://invariant.org}
+        		pdfcopyright={Copyright (C) \today, Peter M. Gerdes},
+        		baseurl={http://invariant.org}
 }
+
 \usepackage{cleveref}
 \usepackage{listings}
 \usepackage{multirow}
@@ -97,7 +101,7 @@
 
 
 \begin{abstract}
-\noindent The rec-thy package is designed to help mathematicians publishing papers in the area of recursion theory (aka Computability Theory) easily use standard notation.  This includes easy commands to denote Turing reductions, Turing functionals, \ce sets, stagewise computations, forcing and syntactic classes.
+\noindent The rec-thy package is designed to help mathematicians publishing papers in the area of recursion theory (aka Computability Theory) easily use standard notation.  This includes easy commands to denote Turing reductions, Turing functionals, r.e. sets, stagewise computations, forcing and syntactic classes.
 \end{abstract}
 
 
@@ -122,6 +126,10 @@
 \section{Alternate Symbols}
 While the symbols used by default in the package are suggested for adoption to achieve greater consistency users may wish to specify their own symbols and options have been provided to enable this.  The following parameters may be specified.
 
+\makeatletter
+\let\useSYMdefault=\@recthy at useSYM@default
+\makeatother
+
 \begin{itemize}
 	\item[modulescr] Sets the script used to typeset the \verb=\module= command.  Default is mathcal.
 	\item[reqscr] Sets the script used to typeset requirements.  Default is mathscr.
@@ -128,32 +136,29 @@
 	\item[pfcasefont] Sets the script used to typeset Case in the cases helper.
 	\item[emptystr] Sets the empty string symbol.  Default is \( \str{} \) 
 	\item[concatsym] Sets the concat symbol.  Default is \( \concat \) 
-	\item[cdeltasym] Sets the symbol used to denote computably \( \Delta \) formulas.  Default is \( \prescript{\mathcal{C}}{}{\Delta} \).
-	\item[cpisym] Same for \( \Pi \) formulas.  Default is \( \prescript{\mathcal{C}}{}{\Pi} \).
-	\item[csigmasym] Same for \( \Sigma \) formulas.  Default is \( \prescript{\mathcal{C}}{}{\Sigma} \).
 	\item[recfnlsym] Sets the symbol used for recursive functionals.  Default is \( \Phi \).
 	\item[recfsym]  Sets the symbol used for recursive functions.  Default is \( \phi \).
-	\item[usesym]  Sets the symbol used for the use operator.  Default is \( \symbffrak{u} \) where this is printed using \verb=\symbfrak= if unicode-math is loaded and with \verb=\mathfrak= otherwise.
-	\item[ballsymb] Sets the symbol used for the ball command.  Default is \( \mathscr{B} \).
+	\item[usesym]  Sets the symbol used for the use operator.  Default is \( \useSYMdefault \) where this is printed using \verb=\symbfrak= if unicode-math is loaded and with \verb=\mathfrak= otherwise.
 	\item[lstrdelim,rstrdelim] Left and right delimiters for \verb=\str=
 	\item[lcodedelim,rcodedelim] Left and right delimiters for \verb=\code=
 	\item[lpairdelim,rpairlim,pairsup] Left and right delimiters for \verb=\pair= and superscript.
+	\item[altcompat] Uses the \verb=\succprec= and \verb=\nsuccprec= commands for \verb=\compat= and \verb=\incompat= respectively.
 
 \end{itemize}
 
-As an example of how to use these commands consider the following code changing the ball symbol to \( \mathbf{B} \).
+% As an example of how to use these commands consider the following code changing the ball symbol to \( \mathbf{B} \).
 
-\begin{verbatim}
-\def\myballsymb{\mathbf{B}}
+% \begin{verbatim}
+% \def\myballsymb{\mathbf{B}}
 
-\usepackage[suppPriorityTrees, ballsymb=myballsymb]{rec-thy}
-\end{verbatim}
+% \usepackage[suppPriorityTrees, ballsymb=myballsymb]{rec-thy}
+% \end{verbatim}
 
 
 \section{Commands}
 A few general conventions are usually followed in the commands.  Whenever an operator can be used as a binary operator (as in \( X \union Y \)) and as an operation on some collection \( \Union_{i \in \omega} X_i \) the binary operator will begin with a lowercase letter \verb=\union= and the operation on the collection will begin with a capital letter \verb=\Union=.  If the first letter is already capitalized then the second letter is used instead.
 
-Objects that have a natural stagewise approximation generally admit an optional argument in brackets to specify a stage.  For instance \( \verb=\REset[s]{e}= \) yields \( \REset[s]{e} \).  An optional argument in parenthesis is used for relativization.  For instance \( \verb=\REset(X){e}= \) produces \( \REset(X){e} \).  A notable exception to this rule are the formula classes where square brackets are used to indicate an oracle to be placed in the superscript, e.g.,  \( \verb=\pizn[X]{2}= \) yields \( \pizn[X]{2} \), so as not to generate confusion with the alternative notion \( \pizn{2}(X) \).  Also a lowercase first letter in a formula class indicates the lightface version while a capital first letter indicates the boldface version.
+Objects that have a natural stagewise approximation generally admit an optional argument in brackets to specify a stage.  For instance \( \verb=\REset[s]{e}= \) yields \( \REset[s]{e} \). An optional argument in parenthesis is used for relativization.  For instance \( \verb=\REset(X){e}= \) produces \( \REset(X){e} \).  For the formula classes square brackets are used to indicate an oracle to be placed in the superscript, e.g.,  \( \verb=\pizn[X]{2}= \) yields \( \pizn[X]{2} \) while parenthesis place the value in parenthesises after the symbol as in \( \pizn(X){2} \).  To give boldcase versions of formulas classes a star should be used immediately following the command as in \( \pizn*(X){2} \).
 
 Unless indicated otherwise all macros are to be used inside math mode.  Indented commands indicate an alias for the command on the line above. 
 
@@ -167,9 +172,9 @@
 	\verb=\tpath=					& \(  \tpath                   \)	& Truepath. \\ \midrule
 	\verb=\tpath[s]=					& \( 	\tpath[s]                   \)	& Approximate Truepath. \\ \midrule
 	\verb=\xi \leftof \eta =					& \( 	\xi \leftof \eta                   \)	& The left of relation for priority tree arguments \\ \midrule
-	\verb=\module{R}[X]{i,j}=					&  \module{R}{i,j}  & Module in tree construction (superscript optional arg) \\ \midrule
-	\verb=\ball[X]{y}{s}=					& \( 	\ball[X]{y}{s}                  \)	& Location of ball \( y\) (headed to \( X \)) at \( s \)\\ \midrule
-	\verb=\ball{y}{s}=					& \( 	\ball{y}{s}                  \)	& Location of ball \( y\)  at \( s \)\\ \bottomrule
+	\verb=\module{R}[X]{i,j}=					&  \module{R}[X]{i,j}  & Module in tree construction (superscript optional arg) \\ \midrule
+	% \verb=\ball[X]{y}{s}=					& \( 	\ball[X]{y}{s}                  \)	& Location of ball \( y\) (headed to \( X \)) at \( s \)\\ \midrule
+	% \verb=\ball{y}{s}=					& \( 	\ball{y}{s}                  \)	& Location of ball \( y\)  at \( s \)\\ \bottomrule
 	\end{xtabular}          \\
 
 
@@ -218,9 +223,7 @@
 	% \verb=\iREAop{e}(\eset)=                               & \multirow{2}{*}{\( 	\iREAop{e}(\eset)                     	   \)}   &\multirow{2}{*}{1-REA operator} \\
 	% \tab \verb=\oneREAop{e}(\eset)=                               &    & \\ \midrule
 	% \verb=\alphaREAop{\alpha}(\eset)=                      & \multirow{2}{*}{\( 	\alphaREAop{\alpha}(\eset)            	   \)}   &\multirow{2}{*}{\( \alpha \)-REA operator} \\[6pt]
-	\verb=\REAop{e}{\alpha}=                           &  \( \REAop{e}{\alpha} \)  & \\[6pt]
-	% \verb=\alphaREAop[f]{\alpha}(\eset)=                   & \multirow{2}{*}{\( 	\alphaREAop[f]{\alpha}(\eset)         	   \)}   & \multirow{2}{*}{with particular witness to uniformity}\\[6pt]
-	\tab \verb=\reaop[f]{\alpha}(\eset)=                        &  & \\
+	\verb=\REAop{e}{\alpha}=                           &  \( \REAop{e}{\alpha} \)  & \\
 		\bottomrule
 	\end{xtabular}          \\
 
@@ -230,7 +233,15 @@
 
 
 \begin{xtabular}{l |  l | l}\toprule
-	\verb=\Tdeg{d}=                                        & \( 	\Tdeg{d}                              	   \)   & Turing degree \\ \midrule
+  \verb=\Tdegrees= & \multirow{2}{*}{\( 	\Tdegrees   \)}   & The structure of \( \powset{\omega} \) under \( \Tleq \) \\ 
+  \tab \verb=\strcD= & & alternate command \\ \midrule
+  \verb=\REdegrees=   & \multirow{2}{*}{\( 	\REdegrees   \)}   & The structure of r.e sets under \( \Tleq \) \\ 
+   \tab \verb=\strcR= & & alternate command \\ \midrule
+  \verb=\Adegrees= & \multirow{2}{*}{\( 	\Adegrees   \)}   & The structure of \( \powset{\omega} \) under \( \Aleq \) \\ 
+  \tab \verb=\strcDa= & & alternate command \\ \midrule
+  \verb=\AREAdegrees= & \multirow{2}{*}{FOO}   & The structure of the \( \REA[\omega] \) sets under \( \Aleq \) \\ 
+  \tab \verb=\strcRa= & & alternate command \\ \midrule
+	\verb=\Tdeg{d}=                                        & \( 	\Tdeg{d}                              	   \)   & indicated that the variable/entity is a Turing degree\\ \midrule
 	\verb=\Tjump{X}=                                       & \multirow{2}{*}{\( 	\Tjump{X}                             	   \)}   & \multirow{2}{*}{Turing jump} \\
 	\tab \verb=\jump{X}=                                        &  & \\ \midrule
 	\verb=\jjump{X}=                                       & \( 	\jjump{X}                             	   \)   & \\ \midrule
@@ -240,30 +251,27 @@
 	\verb=\zerojj=                                         & \( 	\zerojj                               	   \)   & \\ \midrule
 	\verb=\zerojjj=                                        & \( 	\zerojjj                              	   \)   & \\ \midrule
 	\verb=\zeron{n}=                                       & \( 	\zeron{n}                             	   \)   & \\ \midrule
-	\verb=X \Tequiv Y=                                     & \multirow{2}{*}{\( 	X \Tequiv Y                           	   \)}   & \multirow{2}{*}{Turing equivalence}\\
-	\tab \verb=X \Teq Y=                                        &   & \\ \midrule
-	\verb=X \nTequiv Y=                                    & \multirow{2}{*}{\( 	X \nTequiv Y                          	   \)}   & \multirow{2}{*}{Turing inequivalence} \\
-	\tab \verb=X \nTeq Y=                                       &    & \\ \midrule
-        \verb=X \Tlneq Y=                               	& \(  X \Tlneq Y   \)   & \\ \midrule
-        \verb=X \Tleq  Y=                               	& \(  X \Tleq  Y   \)   & \\ \midrule
-        \verb=X \Tgneq Y=                               	& \(  X \Tgneq Y   \)   & \\ \midrule
-        \verb=X \Tgeq  Y=                               	& \(  X \Tgeq  Y   \)   & \\ \midrule
-        \verb=X \Tgtr  Y=                               	& \(  X \Tgtr  Y   \)   & \\ \midrule
-        \verb=X \Tless Y=                               	& \(  X \Tless Y   \)   & \\ \midrule
-        \verb=X \nTleq Y=                               	& \(  X \nTleq Y   \)   & \\ \midrule
-        \verb=X \nTgeq Y=                               	& \(  X \nTgeq Y   \)   & \\ \midrule
-        \verb=X \Tincompat Y=                                      & \multirow{2}{*}{\(  X \Tincompat Y   \)}   & Turing incompatibility \\ 
-        \tab \verb=X \Tincomp Y= 							& & \\ \midrule 
-        \verb=X \Tcompat Y=                               	&  \multirow{3}{*}{\(  X \Tcompat Y   \)}  &  \\
-        \tab \verb=X \nTincomp Y= & & \\
-        \tab \verb=X \nTincompat Y= & & \\  \midrule
-	\verb=\Tdeg{d} \Tdegjoin \Tdeg{d'}=                    & \( 	\Tdeg{d} \Tdegjoin \Tdeg{d'}          	   \)   & Join of degrees\\ \midrule
-	\verb=\Tdeg{d} \Tdegmeet \Tdeg{d'}=                    & \multirow{2}{*}{\( 	\Tdeg{d} \Tdegmeet \Tdeg{d'}          	   \)}   & \multirow{2}{*}{Meet of degrees (when defined)} \\
-	\tab \verb=\Tdeg{d} \Tmeet \Tdeg{d'}=                       &    & \\ \midrule
-	\verb=X \Tplus Y=                                      & \multirow{2}{*}{\( 	X \Tplus Y                            	   \)}   & \multirow{4}{*}{Effective join of sets} \\
-	\tab \verb=X \Tjoin Y=                                      &  & \\
-	\verb=\TPlus_{i \in \omega} X_i=                       & \multirow{2}{*}{\( 	\TPlus_{i \in \omega} X_i            \)}   & \\
-	\tab \verb=\TJoin_{i \in \omega} X_i=                       &    & \\ \midrule
+	\verb=X \Teq Y=                                     	 & \( 	X \Teq Y                           	   \)				& Turing equivalence \\ \midrule
+	\verb=X \nTeq Y=                                    	 & \( 	X \nTeq Y                          	   \)   		& Turing inequivalence \\ \midrule
+  \verb=X \Tlneq Y=                               			& \(  X \Tlneq Y   \)   & \\ \midrule
+  \verb=X \Tleq  Y=                               			& \(  X \Tleq  Y   \)   & \\ \midrule
+  \verb=X \Tgneq Y=                               			& \(  X \Tgneq Y   \)   & \\ \midrule
+  \verb=X \Tgeq  Y=                               			& \(  X \Tgeq  Y   \)   & \\ \midrule
+  \verb=X \Tgtr  Y=                               			& \(  X \Tgtr  Y   \)   & \\ \midrule
+  \verb=X \Tless Y=                               			& \(  X \Tless Y   \)   & \\ \midrule
+  \verb=X \nTleq Y=                               			& \(  X \nTleq Y   \)   & \\ \midrule
+  \verb=X \nTgeq Y=                               			& \(  X \nTgeq Y   \)   & \\ \midrule
+  \verb=X \Tincompat Y=                                      & \(  X \Tincompat Y   \)  & Turing incompatibility \\  \midrule
+  \verb=X \Tcompat Y=                               		&  \(  X \Tcompat Y \)  &  Turing compatibility  \\ \midrule
+	\verb=\Tdeg{d} \join \Tdeg{d'}=                    & \( 	\Tdeg{d} \join \Tdeg{d'}          	   \)   & \multirow{2}{*}{Join of degrees} \\
+	\tab \verb=\Join_{i \in \omega} \Tdeg{d_i}= &  \( \Join_{i \in \omega} \Tdeg{d_i} \)    & \\ \midrule 
+	\verb=\Tdeg{d} \meet \Tdeg{d'}=                    	& \( 	\Tdeg{d} \meet \Tdeg{d'}   \)   & \multirow{2}{*}{Meet of degrees (when defined)}  \\
+	\tab \verb=\Meet_{i \in \omega} \Tdeg{d_i}= &  \( \Meet_{i \in \omega} \Tdeg{d_i} \)    & \\
+	 \midrule
+	\verb=X \Tplus Y=     & \( 	X \Tplus Y                            	   \)   & Effective join of sets (alias for \verb=\oplus=) \\ \midrule
+	\verb=\TPlus_{i \in \omega} X_i=                       & \multirow{2}{*}{\( 	\TPlus_{i \in \omega} X_i            \)}   &  Effective join of sets    \\
+	\tab \verb=\Oplus_{i \in \omega} X_i=  & & alternative name \\  \midrule
+	
 	% \verb=\ttSYM=                                          & \( 	\ttSYM                                	   \)   & \\ \midrule
 	\verb=X \ttlneq Y=                                     & \( 	X \ttlneq Y                           	   \)   & Truth table reducibilities \\ \midrule
 	\verb=X \ttleq  Y=                                     & \( 	X \ttleq  Y                           	   \)   & \\ \midrule
@@ -272,7 +280,26 @@
 	\verb=X \ttgtr  Y=                                     & \( 	X \ttgtr  Y                           	   \)   & \\ \midrule
 	\verb=X \ttless Y=                                     & \( 	X \ttless Y                           	   \)   & \\ \midrule
 	\verb=X \ttnleq Y=                                     & \( 	X \ttnleq Y                           	   \)   & \\ \midrule
-        \verb=X \ttngeq Y=                                     & \(  X \ttngeq Y                             	   \)   & \\
+        \verb=X \ttngeq Y=                                     & \(  X \ttngeq Y                             	   \)   & \\ \midrule
+
+  \verb=\Azero=                                          & \( 	\Azero                                	   \)   & Arithmetic degree \\ \midrule
+  \verb=\Azeroj=                                          & \( 	\Azeroj                                	   \)   & \\ \midrule
+	\verb=\Azerojj=                                         & \( 	\Azerojj                               	   \)   & \\ \midrule
+	\verb=\Azerojjj=                                         & \( 	\Azerojjj                               	   \)   & \\ \midrule
+	\verb=\Azeron{n}=                                       & \( 	\Azeron{n}                             	   \)   & \\ \midrule
+  \verb=X \Aeq Y=                                     	 & \( 	X \Aeq Y                           	   \)				& Arithmetic equivalence \\ \midrule
+	\verb=X \nAeq Y=                                    	 & \( 	X \nAeq Y                          	   \)   		& Arithmetic inequivalence \\ \midrule
+  \verb=X \Alneq Y=                               			& \(  X \Alneq Y   \)   & \\ \midrule
+  \verb=X \Aleq  Y=                               			& \(  X \Aleq  Y   \)   & \\ \midrule
+  \verb=X \Agneq Y=                               			& \(  X \Agneq Y   \)   & \\ \midrule
+  \verb=X \Ageq  Y=                               			& \(  X \Ageq  Y   \)   & \\ \midrule
+  \verb=X \Agtr  Y=                               			& \(  X \Agtr  Y   \)   & \\ \midrule
+  \verb=X \Aless Y=                               			& \(  X \Aless Y   \)   & \\ \midrule
+  \verb=X \nAleq Y=                               			& \(  X \nAleq Y   \)   & \\ \midrule
+  \verb=X \nAgeq Y=                               			& \(  X \nAgeq Y   \)   & \\ \midrule
+  \verb=X \Aincompat Y=                                   & \(  X \Aincompat Y   \) & Turing incompatibility \\ \midrule 
+  \verb=X \Acompat Y=                               		&  \(  X \Acompat Y \)  &  Turing compatibility  \\ \midrule
+
 		\bottomrule
 	\end{xtabular}          \\
 \makeatletter
@@ -281,10 +308,10 @@
 Math mode is not required for \verb=\req{R}{e}=
 
 \begin{tabular}{l |  l | l}\toprule
-\verb=\req{R}{e}=			 &  \( \req{R}{e} \) & \multirow{3}{*}{Requirement } \\ \midrule
-\verb=\req{R}[\nu]{e}=	&  \req{R}[\nu]{e} & \\ \midrule
-\verb=\req*{R}{e}=			 &  \req{R}{e} & \multirow{3}{*}{Requirement without hyperlinks} \\ \midrule
-\verb=\req*{R}[\nu]{e}=	&  \req{R}[\nu]{e} & \\ \midrule
+\verb=\req{R}{e}=			 &  \( \req{R}{e} \) & \multirow{2}{*}{Requirement } \\ 
+\verb=\req{R}[\nu]{e}=	&  \req{R}[\nu]{e}  & \\ \midrule
+\verb=\req*{R}{e}=			 &  \req*{R}{e} & \multirow{2}{*}{Requirement without hyperlinks} \\ 
+\verb=\req*{R}[\nu]{e}=	&  \req*{R}[\nu]{e} & \\ \midrule
 	\bottomrule
 \end{tabular}          \\
 
@@ -360,7 +387,8 @@
 	\verb=\ParFuncs{X}{Y}=						& \( \ParFuncs{X}{Y} \) & set of partial functions from \( X \) to \( Y \). \\ \midrule
 	\verb=\FinParFuncs{X}{Y}=						& \( \FinParFuncs{X}{Y} \) & set of finite partial functions from \( X \) to \( Y \). \\ \midrule
 	\verb=\( \ensuretext{blah} \)=	           	& \multirow{2}{*}{\( \ensuretext{blah} \)}& \multirow{2}{*}{Types argument in text mode} \\
-	\tab \verb=\ensuretext{blah}=			& & \\
+	\tab \verb=\ensuretext{blah}=			& & \\ \midrule
+	\verb=\quotient{X}{Y}= & \( \quotient{X}{Y} \) & \\
 	\bottomrule
 \end{tabular}          \\
 \newpage
@@ -373,7 +401,12 @@
 	\verb=\Meet_{i\in \omega} x_i=		& \( \Meet_{i\in \omega} x_i \) & \\ \midrule
 	\verb=x \join y= 				& \(x  \join y \) & \multirow{2}{*}{Join operation}  \\[6pt]
 	\verb=\Join_{i\in \omega} x_i=		& \( \Join_{i\in \omega} x_i \) & \\ \midrule
-	\verb=x \xor y=						& \( x \xor y \)  & \\ \bottomrule
+	\verb=x \xor y=						& \( x \xor y \)  & \\ \midrule
+	\verb=\Land \phi_i=				& \( \Land \phi_i \) & Operator form of and\\ \midrule
+	\verb=\Lor \phi_i=				& \( \Lor \phi_i \) & Operator form of or\\ \midrule
+	\verb=\LLand \phi_i=				& \( \LLand \phi_i \) & Infinitary conjunction\\ \midrule
+	\verb=\LLor \phi_i=				& \( \LLor \phi_i \) & Infinitary disjunction\\
+	\bottomrule
 \end{tabular}          \\	
 
 \subsection{Set Notation}
@@ -399,7 +432,7 @@
 	\verb=\eset=                             &    \(   \eset                      \)    &  Emptyset abbreviation\\ \midrule
 	\verb=x \nin A=                          &    \(   x \nin A                   \)    &  not an element\\ \midrule
 	\verb=\setcmp{X}=                        &    \(   \setcmp{X}                 \)    &  Set compliment\\\midrule
-	\verb=X \setdiff Y=                     &    \(   X \setdiff Y              \)    & Set difference \\ \midrule
+	% \verb=X \setdiff Y=                     &    \(   X \setdiff Y              \)    & Set difference \\ \midrule
 	\verb=X \symdiff Y=                      &    \(   X \symdiff Y               \)    & Symmetric difference \\ \bottomrule
 	% \verb=\interior X=                       &    \(   \interior X                \)    & Interior \\ \midrule
 	% \verb=\closure X=                        &    \(   \clos X                 \)    & Closure \\ \midrule
@@ -406,37 +439,21 @@
 		\bottomrule
 	\end{tabular}          \\
 
-\subsection{Delimiters}
-To disable these commands pass the option \verb=nodelim=. To prevent only redefinition of \verb=\llangle= and \verb=\rrangle= (e.g. to use the XITS unusual default) pass the option \verb=nodoubleangles=.\\
+\subsection{Improved Symbols and MnSymbol Imports}
+Unless the option \verb=nosymb= is passed a number of symbols are (re)defined for better typesetting.  To prevent only redefinition of \verb=\llangle= and \verb=\rrangle= (e.g. to use the XITS unusual default) pass the option \verb=nodoubleangles=.  A couple new symbols which can't be easily created without the MnSymbol font are also defined and are listed below.
 
 \begin{tabular}{l |  l | l}\toprule
-	\verb=\gcode{\phi}= 				& \multirow{3}{*}{\( \gcode{\phi} \)} & \multirow{3}{*}{Godel Code/Corner Quotes}\\
-	\tab \verb=\godelnum{\phi}=			& &\\
-	\tab \verb=\cornerquote{\phi}=			& &\\ \midrule
-	\verb=\llangle x,y,z \rrangle=			& \( \llangle x,y,z \rrangle \) & Properly spaced double angle brackets\\
+	% \verb=\godelnum{\phi}=			& & \multirow{2}{*}{Godel Code/Corner Quotes}\\
+	% \tab \verb=\cornerquote{\phi}=			& &\\ \midrule
+	\verb=\Searrow= & \( \Searrow \) & double searrow \\ \midrule
+	\verb=\nSearrow= & \( \nSearrow \) & negated double searrow \\   
+	% \verb=\llangle x,y,z \rrangle=			& \( \llangle x,y,z \rrangle \) & Properly spaced double angle brackets\\
 	\bottomrule
 \end{tabular}
 
-\subsection{Recursive vs. Computable}
-To disable these commands pass the option \verb=nonames=. To use recursive, r.e. and recursively enumerable everywhere pass the option \verb=re=.  To use computable, c.e. and computably enumerable everywhere pass the option \verb=ce=.  To force REA and CEA use the options \verb=rea= and \verb=cea=. If none of these options are passed the macros will expand as below.  All macros in this section work in both text and math modes.\\
 
-\begin{tabular}{l |  l }\toprule
-\verb=\re=				 & \re			       \\ \midrule
-\verb=\ce=                               & \ce                         \\ \midrule
-\verb=\REA=                              & \REA                        \\ \midrule
-\verb=\CEA=                              & \CEA                        \\ \midrule
-\verb=\recursive=                        & \recursive                  \\ \midrule
-\verb=\computable=                       & \computable                 \\ \midrule
-\verb=\recursivelyEnumerable=            & \recursivelyEnumerable      \\ \midrule
-\verb=\computablyEnumerable=             & \computablyEnumerable       \\ \midrule
-\verb=\Recursive=                        & \Recursive                  \\ \midrule
-\verb=\Computable=                       & \Computable                 \\ \midrule
-\verb=\RecursivelyEnumerable=            & \RecursivelyEnumerable      \\ \midrule
-\verb=\ComputablyEnumerable=             & \ComputablyEnumerable       \\ \midrule
-	\bottomrule
-\end{tabular}
 
-\subsection{Quantifiers \& Connectives}
+\subsection{Quantifiers}
 To disable these commands pass the option \verb=noquants=. The commands \verb=\exists= and \verb=\forall= are standard but the package extends them.\\
 
 \begin{tabular}{l |  l | l}\toprule
@@ -458,23 +475,23 @@
 	\tab \verb=\forallae=	&				  & \\[6pt]
 	\verb=\forall*[x < y]=		& \( \forall*[x < y ] \) & \\[6pt]
 	\verb=\forall*(x < y)=		& \( \forall*(x < y ) \) & \\ \midrule
-	\verb=\True=				& \( \True \) & \\ \midrule
-	\verb=\False=				& \( \False \) & \\ \midrule
-	\verb=\Land \phi_i=				& \( \Land \phi_i \) & Operator form of and\\ \midrule
-	\verb=\Lor \phi_i=				& \( \Lor \phi_i \) & Operator form of or\\ \midrule
-	\verb=\LLand \phi_i=				& \( \LLand \phi_i \) & Infinitary conjunction\\ \midrule
-	\verb=\LLor \phi_i=				& \( \LLor \phi_i \) & Infinitary disjunction\\
+	% \verb=\True=				& \( \True \) & \\ \midrule
+	% \verb=\False=				& \( \False \) & \\ \midrule
+
 	\bottomrule
 \end{tabular}
+
 \subsection{Spaces}
 To disable these commands pass the option \verb=nospaces=.\\  
 
 \begin{tabular}{l |  l | l}\toprule
 	\verb=\bstrs=		       & \( \bstrs  \) & Finite binary strings        \\	\midrule
+	\verb=\cbstrs=		       & \( \cbstrs  \) & Finite sequence of binary strings (regarded as columnise specification)      \\	\midrule
 	\verb=\wstrs=                 & \( \wstrs  \) & Finite sequences of integers \\ 	\midrule
 	\verb=\cantor=                & \( \cantor \) & Cantor space		     \\    \midrule
 	\verb=\baire=                 & \( \baire  \) & Baire space                  \\[6pt]
-	\verb=\Baire=                 & \( \Baire  \) & Alternate baire space        \\
+	\verb=\Baire=                 & \( \Baire  \) & Alternate baire space        \\ \midrule
+	\verb=\bpfuncs= 							& \( \bpfuncs \) & Finite binary partial functions      \\	
 		\bottomrule
 	\end{tabular}
 
@@ -481,21 +498,29 @@
 \subsection{Strings}
 To disable these commands pass the option \verb=nostrings=.\\
 
-To specify an alternative symbol for the empty string pass \verb!emptystr=macroname!.  For instance, to use \( \lambda \) as the empty string pass \verb!emptystr=lambda!.  Similarly, to specify an alternate value for the conatination symbol pass \verb!concatsym=macroname!, e.g., if you specify \verb!\def\plus{+}! and then pass \verb!concatsym=plus! the concatenation symbol would be changed to \( + \).
+To specify an alternative symbol for the empty string pass \verb!emptystr=macroname!.  For instance, to use \( \lambda \) as the empty string pass \verb!emptystr=lambda!.  Similarly, to specify an alternate value for the concatenation symbol pass \verb!concatsym=macroname!, e.g., if you specify \verb!\def\plus{+}! and then pass \verb!concatsym=plus! the concatenation symbol would be changed to \( + \). 
 
+To use \verb=\succprec= and \verb=\nsuccprec= for \verb=\compat= and \verb=\incompat= pass the option \verb=altcompat=
+
+
+
 \begin{tabular}{l |  l | l}\toprule
 	\verb=\str{1,0,1}=		     & \(   \str{1,0,1}           \) & \multirow{2}{*}{Strings/Codes for strings}  \\
 	\tab \verb=\code{5,8,13}=                & \(   \code{5,8,13}         \) &   \\ \midrule
 	\verb=\EmptyStr=                    & \(   \EmptyStr             \) &  \multirow{2}{*}{Empty string}  \\[6pt]
 	\tab \verb=\estr=                        & \(   \estr                 \) &   \\ \midrule
+	\verb=\godelnum{\phi}=			& & \multirow{2}{*}{Godel Code/Corner Quotes}\\
+	\tab \verb=\cornerquote{\phi}=			& &\\ \midrule
 	\verb=\decode{\sigma}{3}=           & \(   \decode{\sigma}{3}    \) & Alternate notation for \( \sigma(3) \)   \\ \midrule
 	\verb=\sigma\concat\tau=            & \(   \sigma\concat\tau     \) & \multirow{2}{*}{Concatenation}   \\[6pt]
 	\verb=\sigma\concat[0]=             & \(   \sigma\concat[0]      \) &   \\ \midrule
 	\verb=\strpred{\sigma}=             & \(   \strpred{\sigma}      \) & The immediate predecessor of \( \sigma \)  \\ \midrule
 	\verb=\lh{\sigma}=                  & \(   \lh{\sigma}           \) & Length of \( \sigma \)  \\ \midrule
-	\verb=\sigma \incompat \tau=        & \(   \sigma \incompat \tau  \) & \multirow{2}{*}{Incompatible strings}  \\
-	\tab \verb=\sigma \incomp \tau=          & \(   \sigma \incomp \tau   \) &   \\ \midrule
+	\verb=\sigma \incompat \tau=        & \(   \sigma \incompat \tau  \) & Incompatible strings  \\
 	\verb=\sigma \compat \tau=          & \(   \sigma \compat \tau   \) &  Compatible strings \\ \midrule
+  \verb=\sigma \nsuccprec \tau=        & \(   \sigma \nsuccprec  \tau  \) & Alternate incompatible strings  \\
+	\verb=\sigma \succprec \tau=          & \(   \sigma \succprec \tau   \) &  Alternate compatible strings \\ \midrule
+
 	\verb=\pair{x}{y}=                  & \(   \pair{x}{y}           \) & Code for the pair \( (x,y) \)  \\ \midrule
 	\verb=\setcol{X}{n}=                & \(   \setcol{X}{n}         \) & \( \set{y}{\pair{n}{y} \in X} \)  \\ \midrule
 	\verb=\setcol{X}{\leq n}=           & \(   \setcol{X}{\leq n}    \) & \( \set{ \pair{x}{y}}{\pair{x}{y} \in X \land x \leq n} \)   \\
@@ -502,6 +527,7 @@
 		\bottomrule
 	\end{tabular}
 
+
 \subsection{Subfunctions}
 To disable these commands pass the option \verb=nosubfuns=.\\
 
@@ -526,7 +552,9 @@
 	\verb=\CBderiv{T}=		      & \(  \CBderiv{T}		      \) & \multirow{2}{*}{Cantor-Bendixson Derivative} \\[6pt]
 	\verb=\CBderiv[\alpha]{T}=           & \(  \CBderiv[\alpha]{T}       \) & \\ \midrule
 	\verb=\pruneTree{T}=                 & \(  \pruneTree{T}             \) & \( \set{\sigma \in T}{\exists(g)(g \in [T] \land \sigma \subset g)} \) \\ \midrule
-	\verb=\hgt{T}=                       & \(  \hgt{T}                   \) & \\
+	\verb=\hgt{T}=                       & \(  \hgt{T}                   \) & Tree Height \\ \midrule
+	\verb=\TreeMod{T}{\sigma}=                       & \(  \TreeMod{T}{\sigma}                  \) & \(  \set{\tau}{\sigma\concat\tau \in T} \)   \\ \midrule
+	\verb=\sigma \TreeMul T=                       & \(  \sigma \TreeMul T               \) & \(  \set{\sigma\concat\tau}{\tau \in T} \) \\
 		\bottomrule
 	\end{tabular}
 
@@ -551,30 +579,34 @@
 	\end{tabular}
 
 \subsection{Ordinal Notations}
-To disable these commands pass the option \verb=noordinalnotations=.\\
+To disable these commands pass the option \verb=noordinalnotations=.  Note the name for addition is \verb=\Oadd= rather than \verb=\Oplus= to avoid a collusion with existing commands.
 
 \begin{tabular}{l |  l | l}\toprule
 	\verb=\wck=			        & \( 	\wck                      \)			       & First non-computable ordinal \\ \midrule
-	\verb=\ordzero=                        & \( 	\ordzero                   \)                          & Notation for ordinal \( 0 \)\\ \midrule
-	\verb=\abs{\alpha}=			& \( \abs{\alpha} \)						& Ordinal \( \alpha \) denotes \\ \midrule
-	\verb=\kleeneO=                        & \multirow{2}{*}{\( 	\kleeneO                   \)}         & \multirow{2}{*}{Set of ordinal notations} \\[6pt]
-\tab	\verb=\ordNotations=                   &                                                              &  \\[6pt]
-	\verb=\kleeneO*=                       & \multirow{3}{*}{\( 	\kleeneO*                  \)}         & \multirow{3}{*}{Unique set of ordinal notations} \\[6pt]
-\tab	\verb=\uniqOrdNotations=               &                                                              & \\[6pt]
-\tab	\verb=\kleeneOuniq=                    &                                                              & \\[6pt]
-	\verb=\kleeneO(X)=                     & \( 	\kleeneO(X)                \)                          & Relativized ordinal notations \\[6pt]
-	\verb=\kleeneO[\alpha]=                & \( 	\kleeneO[\alpha]           \)                          & Ordinal notations for ordinals \( < \abs{\alpha} \) \\[6pt]
-	\verb=\kleeneO*(X)[\alpha]=            & \( 	\kleeneO*(X)[\alpha]       \)                          & \\ \midrule
-	\verb=\alpha \kleeneless \beta=        & \( 	\alpha \kleeneless \beta   \)                          & Ordering on notations \\  \midrule
-	\verb=\alpha \kleenel    \beta=        & \( 	\alpha \kleenel    \beta   \)                          & \\ \midrule
-	\verb=\alpha \kleeneleq  \beta=        & \( 	\alpha \kleeneleq  \beta   \)                          & \\ \midrule
-	\verb=\alpha \kleenegtr  \beta=        & \( 	\alpha \kleenegtr  \beta   \)                          & \\ \midrule
-	\verb=\alpha \kleenegeq  \beta=        & \( 	\alpha \kleenegeq  \beta   \)                          & \\ \midrule
-	\verb=\alpha \kleenePlus \beta=        & \( 	\alpha \kleenePlus \beta   \)                          & Effective addition of notations \\ \midrule
-	\verb=\alpha \kleeneMul  \beta=        & \( 	\alpha \kleeneMul  \beta   \)                          & Effective multiplication of notations \\  \midrule
-	\verb=\kleenelim{\lambda}{n}=          & \( 	\kleenelim{\lambda}{n}     \)                          & The \( n \)-th element in effective limit defining notation \( \lambda \)\\  \midrule
-        \verb=\kleenepred{\alpha}=             & \(  \kleenepred{\alpha}          \)                          & Predecessor of \( \alpha \) if defined \\ \midrule
-	\verb=\kleenehgt{R}=                   & \( 	\kleenehgt{R}              \)        & Height of computable relation \( R \) \\
+	% \verb=\ordzero=                        & \( 	\ordzero                   \)                          & Notation for ordinal \( 0 \)\\ \midrule
+	\verb=\Oabs{\alpha}=			& \multirow{2}{*}{\( \Oabs{\alpha} \)}					& The height of the notation or well-ordering \( \alpha \) (i.e. ordinal it denotes) \\ 
+	\tab \verb=\Ohgt{\alpha}= & & Alternative command \\ \midrule
+	\verb=\kleeneO=                        & \( 	\kleeneO                   \)  & Set of ordinal notations \\
+	\tab \verb=\kleeneO-=                        & \( 	\kleeneO-                   \)  & Set of limit notations \\
+	\tab \verb=\kleeneO+=                        & \( 	\kleeneO+                   \)  & Set of successor notations \\
+	\tab \verb=\kleeneO*= or   \verb=\Ouniq=    & \( 	\kleeneO*                  \)        & Canonical unique set of ordinal notations \\
+	% \tab \verb=\Ouniq= & & Alternate command \\ 
+	\tab \verb=\kleeneO(X)=                     & \( 	\kleeneO(X)                \)                          & Relativized ordinal notations \\
+	\tab \verb=\kleeneO[\alpha]=                & \( 	\kleeneO[\alpha]  \)  & Ordinal notations for ordinals \( < \abs{\alpha} \)\\
+	\tab \verb=\kleeneO*(X)[\alpha]=            & \( 	\kleeneO*(X)[\alpha]       \)  & Multiple options work together \\ \midrule
+	\verb=\alpha \Oless \beta=        & \( 	\alpha \Oless \beta   \) & less than on the ordering on notations \\   
+	\tab \verb=\alpha \Oleq  \beta=        & \( 	\alpha \Oleq  \beta   \) & \\ \midrule
+	\tab \verb=\alpha \Ogtr  \beta=        & \( 	\alpha \Ogtr  \beta   \)                          & \\ 
+	\tab \verb=\alpha \Ogeq  \beta=        & \( 	\alpha \Ogeq  \beta   \)                          & \\ 
+	\tab \verb=\alpha \Onless \beta=        & \( 	\alpha \Onless \beta   \) & less than on the ordering on notations \\   
+	\tab \verb=\alpha \Onleq  \beta=        & \( 	\alpha \Onleq  \beta   \) & \\ \midrule
+	\tab \verb=\alpha \Ongtr  \beta=        & \( 	\alpha \Ongtr  \beta   \)                          & \\ 
+	\tab \verb=\alpha \Ongeq  \beta=        & \( 	\alpha \Ongeq  \beta   \)                          & \\\midrule
+	\verb=\alpha \Oadd \beta=        & \( 	\alpha \Oadd \beta   \)                          & Effective addition of notations \\ \midrule
+	\verb=\alpha \Omul  \beta=        & \( 	\alpha \Omul  \beta   \)                          & Effective multiplication of notations \\  \midrule
+	\verb=\Olim{\lambda}{n}=          & \( 	\Olim{\lambda}{n}     \)                          & The \( n \)-th element in effective limit defining notation \( \lambda \)\\  \midrule
+  \verb=\Opred{\alpha}=             & \(  \Opred{\alpha}          \)                          & Predecessor of \( \alpha \) if defined \\ \midrule
+  \verb=\Ofunc{\gamma}(m)= & \( \Ofunc{\gamma}(m) \)  & The \( m \)-th element in the effectively given limit defining the limit notation \( \gamma \) \\   
 % \tab	\verb=\hgtO{R}=                        & & \\
 		\bottomrule
 	\end{tabular}
@@ -583,44 +615,43 @@
 To disable these commands pass the option \verb=noforcing=.\\
 
 \begin{tabular}{l |  l | l}\toprule
-	\verb=\sigma \forces \phi=	        	& \multirow{2}{*}{\(  \sigma \forces \phi         \)}	& \multirow{2}{*}{\( \sigma \) forces \( \phi \)}\\
-	\tab \verb=\sigma \frc \phi=                        &    & \\
-	\verb=\sigma \forces(X) \phi=               & \(  \sigma \forces(X)[T] \phi    \)   & \( \phi \) is formula relative to \( X \) \\
-	\verb=\sigma \forces[T] \phi=               & \(  \sigma \forces(X)[T] \phi    \)   & Local forcing on \( T \)\\
-	\verb=\sigma \forces* \phi=                    & \(  \sigma \forces* \phi        \)    & Strong forcing \\
+	\verb=\sigma \forces \phi=	        	& \(  \sigma \forces \phi         \)	& \( \sigma \) forces \( \phi \) \\ \midrule
+	\verb=\sigma \forces(X) \phi=               & \(  \sigma \forces(X)[T] \phi    \)   & \( \phi \) is formula relative to \( X \) \\ \midrule
+	\verb=\sigma \forces(X)[T] \phi=               & \(  \sigma \forces(X)[T] \phi    \)   & Local forcing on \( T \) relative to \( X \) \\ \midrule
+	\verb=\sigma \forces* \phi=                    & \(  \sigma \forces* \phi        \)    & Strong forcing \\ \midrule
+	\verb=\sigma \wforces \phi=                    & \(  \sigma \wforces \phi        \)    & weak forcing (takes optional paren and bracket arguments as above)  \\ 
 	\bottomrule
 \end{tabular}
 
 \subsection{Syntax}
-To disable these commands pass the option \verb=nosyntax=.\\  All syntax classes can be relativized with an optional argument in square brackets even when not listed below.  Only the \( \Delta \) formula classes are listed below since the syntax is identical for \( \Sigma \) and \( \Pi \).  Capitalizing the first letter gives the boldface version in all cases (except the computable infinitary formulas as this doesn't make sense).  Not all formulas/abbreviations are demonstrated below given the huge number but the enough are included to make it clear what command is required to generate the desired formula class, e.g., substituting pi for delta does what you think it does.
+To disable these commands pass the option \verb=nosyntax=.\\  All syntax classes can be relativized with an optional argument in square brackets even when not listed below.  Only the \( \Delta \) formula classes are listed below since the syntax is identical for \( \Sigma \) and \( \Pi \). Adding a star after the command produces the boldface version.  Do to the common usage of the zero and one versions of the formulas an abbreviation is provided unless the option \verb=noshortsyntax= is passed.
 
-To change the syntax for the computable infinitary formulas you can pass the options \verb!cdeltasym=macroname!, \verb!csigmasym=macroname! and \verb!cpisym=macroname! where macroname is the name (without the leading \verb=\=) of the macro giving the desired symbol to use for the relevant class. 
 
 \begin{xtabular}{l |  l | l}\toprule
-	\verb=\Cdeltan[X]{\alpha}=          & \( \Cdeltan[X]{2}    \)      & The computable \( \delta^{X}_\alpha \) formulas  \\ \midrule
-	\verb=\deltan{2}=              & \( \deltan{2}        \)      & \\ \midrule
-	\verb=\deltan[X]{2}=           & \( \deltan[X]{2}     \)      & \\ \midrule
-	\verb=\deltaZeroN[X]{2}=       & \multirow{2}{*}{\( \deltaZeroN[X]{2} \)}      & \\
-	\tab \verb=\deltazn[X]{2}=          &                              & \\ \midrule
-	\verb=\deltaZeroOne[X]=        & \multirow{2}{*}{\( \deltaZeroOne[X]  \)}      & \\
-	\tab \verb=\deltazi[X]=             &                              & \\ \midrule
-	\verb=\sigmaZeroTwo[X]=        & \multirow{2}{*}{\( \deltaZeroTwo[X]  \)}      & \\
-	\tab \verb=\sigmazii[X]=            &                              & \\ \midrule
-	\verb=\deltaZeroThree[X]=      & \multirow{2}{*}{\( \deltaZeroThree[X]\)}      & \\
-	\tab \verb=\deltaziii[X]=           &                              & \\ \midrule
-	\verb=\deltaOneN[X]{2}=        & \multirow{2}{*}{\( \deltaOneN[X]{2}  \)}      & \\
-	\tab \verb=\deltaIn[X]{2}=          &                              & \\ \midrule
-	\verb=\deltaOneOne[X]=         & \multirow{2}{*}{\( \deltaOneOne[X]   \)}      & \\
-	\tab \verb=\deltaIi[X]=             &                              & \\ \midrule
-	\verb=\deltaOneTwo[X]=         & \multirow{2}{*}{\( \deltaOneTwo[X]   \)}      & \\
-	\tab \verb=\deltaIii[X]=            &                              & \\ \midrule
-	\verb=\deltaOneThree[X]=       & \multirow{2}{*}{\( \deltaOneThree[X] \)}      & \\
-	\tab \verb=\deltaIiii[X]=           &                              & \\ \midrule
-	\verb=\pizi=              & \( \pizi      \)      & \\ \midrule
-	\verb=\pizn[X]{n}=              & \( \pizn[X]{n}      \)      & \\ \midrule
-	\verb=\Deltan{2}=              & \( \Deltan{2}        \)      & \\ \midrule
-	\verb=\DeltaOneN[X]{n}=         & \( \DeltaOneN[X]{n} \)  & \\ \midrule
+	\verb=\DeltaN{2}=              & \( \DeltaN{2}        \)      & \\ 
+	\tab \verb=\DeltaN(X){2}=           & \( \DeltaN(X){2}     \)      & \\ 
+	\tab \verb=\DeltaN[X]{2}=           & \( \DeltaN[X]{2}     \)      & \\
+	\tab \verb=\DeltaN[X]{2}=           & \( \DeltaN*[X]{2}     \)      &  boldface  \\ \midrule
+	% \verb=\PiN{2}=              		 & \( \PiN{2}        \)      & \\ 
+	% \tab \verb=\PiN(X){2}=           & \( \PiN(X){2}     \)      & \\ 
+	% \tab \verb=\PiN[X]{2}=           & \( \PiN[X]{2}     \)      & \\
+	% \tab \verb=\PiN[X]{2}=           & \( \PiN*[X]{2}     \)      & For boldface  \\ \midrule
+	% \verb=\SigmaN{2}=              		  & \( \SigmaN{2}        \)      & \\ 
+	% \tab \verb=\SigmaN(X){2}=           & \( \SigmaN(X){2}     \)      & \\ 
+	% \tab \verb=\SigmaN[X]{2}=           & \( \SigmaN[X]{2}     \)      & \\
+	% \tab \verb=\SigmaN[X]{2}=           & \( \SigmaN*[X]{2}     \)      & For boldface  \\ \midrule
+	\verb=\DeltaZeroN{2}=                   & \( \DeltaZeroN{2}        \)      & \\ 
+	\tab \verb=\DeltaZeroN(X){2}=           & \( \DeltaZeroN(X){2}     \)      & \\ 
+	\tab \verb=\DeltaZeroN[X]{2}=           & \( \DeltaZeroN[X]{2}     \)      & \\
+	\tab \verb=\DeltaZeroN[X]{2}=           & \( \DeltaZeroN*[X]{2}     \)      & boldface  \\ 
+	\tab \verb=\deltazn(X){2}= 							& \( \deltazn(X){2}     \)      & Abbreviated form \\ \midrule
+	\verb=\DeltaOneN{2}=                   & \( \DeltaOneN{2}        \)      & \\ 
+	\tab \verb=\DeltaOneN(X){2}=           & \( \DeltaOneN(X){2}     \)      & \\ 
+	\tab \verb=\DeltaOneN[X]{2}=           & \( \DeltaOneN[X]{2}     \)      & \\
+	\tab \verb=\DeltaOneN[X]{2}=           & \( \DeltaOneN*[X]{2}     \)      & boldface  \\ 
+	\tab \verb=\deltain(X){2}= 							& \( \deltain(X){2}     \)      & Abbreviated form \\ \midrule
 
+	
 	\verb=\logic{\omega_1}{\omega}= & \( \logic{\omega_1}{\omega} \) & Indicates the kind of infinitary logic\\
 		\bottomrule
 \end{xtabular}
@@ -770,10 +801,10 @@
 
 \end{steps}
 
+\section{Font Notes}
 
-\subsection{MRref}
+The package is designed to work with both XITS fonts using unicode-math under lualatex and xelatex as well as standard fonts under pdflatex.  The package will assume that XITS or a font with similar features is loaded if the unicode-math package is loaded.  To properly represent symbols the package needs access to different mathcal and mathscr fonts.  By default, if unicode-math isn't loaded the package will load mathrsfs.  To disable this behavior pass the option \verb=norsfs=.  Furthermore, it also needs access to a blackboard bold that works for lowercase symbols.  This isn't an issue using XITS but if unicode-math isn't loaded the package will load the mathbbm package to define certain symbols.  This behavior can be overridden by passing the option \verb=nobbm= and the package will do the best it can.
 
-Finally to enable the mrref helper macros pass the option \verb=mrref=.\\  These macros normalize the formating of mathscinet references for supported bibliography styles and ensure the MR numbers link to the mathscinet page of the article. 
 
 
 \section{Release Notes}
@@ -781,6 +812,11 @@
 
 % TESTING: \verb=\fpmapsto=, \verb=\fpmapsfrom=, \verb=\ParFuncs{Y}{X}= and \verb=\FinParFuncs{Y}{X}=
 \begin{itemize}
+	\item[4.0] Stripped out non-working compatibility code and removed previously depreciated features.  Removed mref helper.  Removed the ball command.  Removed undocumented hyphenation.  Removed the recursive/computably terminology commands.   Removed lots of unnecessary syntax commands and reworked the code to be simpler.  Added option not to load rsfs.  Added the commands \verb=\succprec=, \verb=\precsucc=, \verb=\csuccprec=, \verb=\cprecsucc= for stacked succ/prec symbols and added the option altcompat to use these instead of the standard mid and not mid compatibility symbols.  Added the \verb=\Searrow= symbol from MnSymbol and changed option from nodelim to nosymb.
+	%TODO handle the double definition of the degree structures stuff and add strcE/strcL doc
+	Changed commands for \verb=\StrcR= and \verb=\StrcD= to be \verb=\strcR= and \verb=\strcD= for consistency and added \verb=\strcRa= and \verb=\strcDa= as synonyms for \verb=\Adegrees= and \verb=\AREAdegrees=.  Added \verb=\Adegrees= and \verb=\AREAdegrees= and the relations for arithmetic degrees.  Merged the degree symbols into the degrees option and depreciated some alternate spellings.  Added \verb=\TreeMul=, \verb=\TreeMod=, \verb=\TreeExt=, \verb=\wforces=, \verb=\HYP=, depreciated the computable classes of sentences and simplified the standard ones.  Fixed \verb=\nconv= to be the symbol from MnSymbol if the nosymb option isn't passed, fixed \verb=\concat= to not be so far above the line.  Adjusted spacing for \verb=\compat=, added abbreviations.  Complete renaming and of the commands for ordinal notations and extra options to indicate limit, successor and unique sets of notations.  Added \verb=\Ofunc= as the effective limit for a notation.  Fixed errors in the pfcases environment and eliminated some old compatibility code that wasn't being used by anyone.  Added \verb=\maps= helper for normal math stuff.  Fixed BeamerRequirements.  Added the \verb=\bpfuncs= command and \verb=\cbstrs=.  Removed dependency on mathtools for compatibility with asl.cls
+
+	Adjusted a number of other command names/conventions and deleted redundant commands.  Large scale simplification and deduplication.  Made substantial changes to documentation to reflect this.
 	\item[3.8.2] Removed option to put the set at the end of an \verb=\REset= operation to avoid capturing later parenthesized arguments, e.g. \verb=\REset{i}(A)= no longer works to avoid confusion with \verb=\REset{i}(x)=.  Fixed failed pdf doc update.
 	\item[3.8.1] Fixed issues displaying the prime for jump operations.
 	\item[3.8] Adjusted \verb=\Tdeg= to be more beamer friendly and fixed it not to dumbly underline \verb=0^n=.  Fixed BeamerRequirements to work with differing values of \verb=\abovedisplayskip=.  Removed a few typos in docs for the requirements assistance.  Added BeamerRequire and BeamerRequire* that put the requirements in a block and offer overlay specifications.
@@ -792,7 +828,7 @@
 	\item[3.3]  - Fixed/added tweak to overline so it looks correct.  Also added real symbols so that \verb=\subfunneq= and \verb=\supfunneq= can be defined appropriately.  Added \verb=\floor= and \verb=\ceil=.  Note these aren't yet shown off in package doc.  Fixed incorrect use of tiny in math mode.
 	\item[3.2]	- Removed \verb=\reaop=, \verb=\alphaREAop=, \verb=\aREAop= in favor of using the single form \verb=\REAop=.  Removed \verb=\functo=, \verb=\map= and \verb=funcomp=, \verb=\hgtO= as useless synonyms and removed \verb=\KleeneOBelow= and \verb=KleeneOLess= as beyond what the package should define. Added package option compat31 to ensure package compatibility with version 3.1.  An optional parentheses delimited argument specifying the base has been added to  \verb=\REAop=.  Both \verb=\REAop= and the pair \verb=\REA=/\verb=\CEA= have been updated to ignore order of optional arguments.  The square brackets used to delimit the argument to the use command are now auto-sized.  Added \verb=\pmapsto=, \verb=\pmapsfrom=, \verb=\kleeneZero=, \verb=\kleeneNum=, \verb=\entersat=.  Also Misc typesetting fixes.  
 	\item[3.1]  02/26/2019 - Fixed \verb=\wck= to be \( \wck \), i.e., have capitalized roman CK.
-	\item[3.01] 02/17/2019 - Fixed \verb=\RE= \verb=\CE= \verb=\Re= and \verb=\Ce= for the various capitalized versions.  Fixed weird bug with \verb=\recfnl= no longer working based on let.  Removed \verb=\interior= and \\verb=\closure= as not really appropriate commands for the package and having bugs.  Also fixed package to have correct version.
+	\item[3.01] 02/17/2019 - Fixed \verb=\RE= \verb=\CE= \verb=\Re= and \verb=\Ce= for the various capitalized versions.  Fixed weird bug with \verb=\recfnl= no longer working based on let.  Removed \verb=\interior= and \verb=\closure= as not really appropriate commands for the package and having bugs.  Also fixed package to have correct version.
 	\item[3.0] 02/16/2019 - Added requirements environment for multiple requirements.  Changed the \verb=\req= and \verb=\require= commands to take their optional argument after the first mandatory arguments as well as before.  Added the commands \verb=\module= and \verb=\modof= and \verb=\xor=.  Improved the corner quotes. Added \verb=\leftofeq=, \verb=\rightof=, \verb=\rightofeq=.  Added \verb=\RE=, \verb=\CE=, \verb=\Ce=, \verb=\Re= and  \verb=\Tincompat=, \verb=\Tincomp=, \verb=\Tcompat=.  Changed the way strings are symbolized and coded.  Fixed suffix commands to work with unicode-math.  Also added \verb=\require*= inside \verb=\requirements=. Added \verb=\nleftofeq=, \verb=\nrightof=, \verb=\nrightofeq=, \verb=\nleftof=.  The commands \verb=\ancestor=, \verb=\descendant= etc... \verb=\reqof=, \verb=\Astages= and \verb=\Vstages=now require the option suppPriorityTrees be passed to the class to use and should be viewed as depreciated.  Fixed the options system so different symbols can be correctly passed to the class.    Changed the way \verb=\recf= works to comply with the usual syntax.
 	\item[2.4.3] 11/29/2018 - Rendered compatible with beamer by removing enumitem requirement if beamer is loaded.
 	\item[2.4.2] 11/29/2018 - Fixed horrible bugs introduced in last version and fixed many symbols to work even in pdflatex mode.  Also have everything compiling again.

Modified: trunk/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty	2024-03-29 21:34:02 UTC (rev 70805)
+++ trunk/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty	2024-03-29 21:34:13 UTC (rev 70806)
@@ -1,5 +1,8 @@
 % \NeedsTeXFormat{LaTeX2e}
 % Release Notes see README
+%CHECK DEF OF COMPAT
+% POSSIBLE ALT: \mathrel{\rlap{\ensuremath{\not}}\ensuremath{\mid}}
+
 \RequirePackage{expl3}
 \RequirePackage{ltxcmds}
 \RequirePackage{iftex,ifpdf}
@@ -10,10 +13,11 @@
 \RequirePackage{etoolbox}
 \RequirePackage{pict2e,picture}
 \RequirePackage{xparse}
-\def\recthyVersion{3.8.2}
+% \RequirePackage{amsmath} required below if not already loaded and we aren't using asl.cls
+\def\recthyVersion{4.0}
 \ProvidesExplPackage
   {rec-thy}
-  {2022/07/26}
+  {2024/03/29}
   {\recthyVersion}
   {Provides commands for writing up recursion theory papers}
 
@@ -39,15 +43,24 @@
 
 \robustify\(
 \robustify\)
-\ltx at ifpackageloaded{unicode-math}{}{\RequirePackage{mathrsfs}}%\RequirePackage{mathbbol}}
-  \ltx at ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}}
-  % \ltx at ifpackageloaded{amssymb}{}{\RequirePackage{amssymb}}
-  % \ltx at ifpackageloaded{amsfonts}{}{\RequirePackage{amsfonts}}
+%\RequirePackage{mathbbol}}
+\@ifclassloaded{asl}{
+  
+}{
+    \ltx at ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}}
+}
+
+
 \AtBeginDocument{
 % \@ifundefined{hyperref}{\providecommand{\texorpdfstring}[2]{def}  }
 
-  \ltx at ifpackageloaded{mathtools}{}{\RequirePackage{mathtools}}
-  
+  % \ltx at ifpackageloaded{mathtools}{}{\RequirePackage{mathtools}}
+  \ltx at ifpackageloaded{unicode-math}{
+    \def\@recthy at tpathSYM{\mathbb{f}}
+    \Umathchardef\@recthy at xnot="3 \symoperators "0338
+  }{
+    \ltx at ifpackageloaded{bbm}{\def\@recthy at tpathSYM{\mathbbm{f}}}{\mathbf{f}}
+  }
   % Undertilde doesn't exist in texlive so we remove the dependency and define it again.
   \ltx at ifpackageloaded{undertilde}{}{
       \newlength\knuthian at fdfive
@@ -71,27 +84,6 @@
 
 
 
-% \DeclareMathAlphabet{\mathbrush}{T1}{pbsi}{xl}{n}
-% \newcommand*{\mathbrush}[1]{\mathsfit{#1}}
-% \ifxetex
-%   \RequirePackage{xltxtra}
-%   \RequirePackage{unicode-math}
-%   % \RequirePackage{fontspec,xunicode}
-%   % \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase} % To support LaTeX quoting style
-%   % \input{/Users/TruePath/Library/texmf/tex/headers/appearence.tex}
-% \else
-%   % \usepackage[utf8]{inputenc}
-%   % \usepackage[T1]{fontenc}
-%   % \RequirePackage{euscript}
-%   % \newcommand*{\matheu}{\EuScript}
-
-%   \ifpdf
-%   \RequirePackage{cmap} % you can search in the pdf for umlauts and ligatures
-%   \fi
-% \fi
-% \RequirePackage{stmaryrd}
-% \RequirePackage{marvosym}
-
 \def\PMG at arginit{\let\@PMG at parenarg\@PMG at undefined\let\@PMG at braketarg\@PMG at undefined}
 
 \def\@recthy at family{\@currname.\@currext} %The default family for this package...filename.ext
@@ -98,23 +90,18 @@
 %Define boolean options true if option passed false otherwise
 
 
-\newif\ifrecthy at nohyphenation       \recthy at nohyphenationfalse
-\newif\ifrecthy at mrref           \recthy at mrreffalse
 \newif\ifrecthy at nomath          \recthy at nomathfalse
-\newif\ifrecthy at nodelim         \recthy at nodelimfalse
-\newif\ifrecthy at nonames
-\recthy at nonamesfalse
-\newif\ifrecthy at nosets
-\recthy at nosetsfalse
-\newif\ifrecthy at noquants\recthy at noquantsfalse
+\newif\ifrecthy at nosymb         \recthy at nosymbfalse
+\newif\ifrecthy at nosets          \recthy at nosetsfalse
+\newif\ifrecthy at noquants        \recthy at noquantsfalse
 \newif\ifrecthy at nospaces        \recthy at nospacesfalse
 \newif\ifrecthy at nostrings       \recthy at nostringsfalse
 \newif\ifrecthy at notrees         \recthy at notreesfalse
 \newif\ifrecthy at nopair          \recthy at nopairfalse
-\newif\ifrecthy at nonames         \recthy at nonamesfalse
 \newif\ifrecthy at nosetrels       \recthy at nosetrelsfalse
 \newif\ifrecthy at noordinalnotations  \recthy at noordinalnotationsfalse
 \newif\ifrecthy at nosyntax        \recthy at nosyntaxfalse
+\newif\ifrecthy at shortsyntax        \recthy at shortsyntaxtrue
 \newif\ifrecthy at nodegclasses        \recthy at nodegclassesfalse
 \newif\ifrecthy at noforcing       \recthy at noforcingfalse
 \newif\ifrecthy at nodegrees       \recthy at nodegreesfalse
@@ -125,19 +112,19 @@
 \newif\ifrecthy at nopfcases \@ifclassloaded{beamer}{\recthy at nopfcasestrue}{\recthy at nopfcasesfalse}
 \newif\ifrecthy at beamersupp \@ifclassloaded{beamer}{\recthy at beamersupptrue}{\recthy at beamersuppfalse}
 \newif\ifrecthy at noprioritytrees \recthy at noprioritytreesfalse
-\newif\ifrecthy at nosuppprioritytrees \recthy at nosuppprioritytreestrue
+% \newif\ifrecthy at nosuppprioritytrees \recthy at nosuppprioritytreestrue
 \newif\ifrecthy at hyperreqs \recthy at hyperreqstrue
 \newif\ifrecthy at nooperators \recthy at nooperatorsfalse
 \newif\ifrecthy at fix@typeset \recthy at fix@typesettrue
 \newif\ifrecthy at nodoubleangles \recthy at nodoubleanglesfalse
 \newif\ifrecthy at stepsenv \recthy at stepsenvfalse
-\newif\ifrecthy at compatThreeSixOrEarlier \recthy at compatThreeSixOrEarlierfalse
+\newif\ifrecthy at shortO \recthy at shortOtrue
+\newif\ifrecthy at midincompat \recthy at midincompattrue
+\newif\ifrecthy at norsfs \recthy at norsfsfalse
+\newif\ifrecthy at nobbm \recthy at nobbmfalse
 
-\DeclareOptionX{nohyphenation}{\recthy at nohyphenationtrue}
-\DeclareOptionX{mrref}{\recthy at mrreftrue}
 \DeclareOptionX{nomath}{\recthy at nomathtrue}
-\DeclareOptionX{nodelim}{\recthy at nodelimtrue}
-\DeclareOptionX{nonames}{\recthy at nonamestrue}
+\DeclareOptionX{nosymb}{\recthy at nosymbtrue}
 \DeclareOptionX{nosets}{\recthy at nosetstrue}
 \DeclareOptionX{noquants}{\recthy at noquantstrue}
 \DeclareOptionX{nospaces}{\recthy at nospacestrue}
@@ -147,7 +134,7 @@
 \DeclareOptionX{nosetrels}{\recthy at nosetrelstrue}
 \DeclareOptionX{noordinalnotations}{\recthy at noordinalnotationstrue}
 \DeclareOptionX{nosyntax}{\recthy at nosyntaxtrue}
-\DeclareOptionX{nodegclasses}{\recthy at nodegclassestrue}
+\DeclareOptionX{noshortsyntax}{\recthy at shortsyntaxfalse}
 \DeclareOptionX{noforcing}{\recthy at noforcingtrue}
 \DeclareOptionX{nodegrees}{\recthy at nodegreestrue}
 \DeclareOptionX{nocomputations}{\recthy at nocomputationstrue}
@@ -161,37 +148,17 @@
 \DeclareOptionX{nofixtype}{\recthy at fix@typesetfalse}
 \DeclareOptionX{nodoubleangles}{\recthy at nodoubleanglestrue}
 \DeclareOptionX{steps}{\recthy at stepsenvtrue}
+\DeclareOptionX{noshortO}{\recthy at shortOfalse}
+\DeclareOptionX{altcompat}{\recthy at midincompattrue}
+\DeclareOptionX{norsfs}{\recthy at norsfstrue}
+\DeclareOptionX{nobbm}{\recthy at nobbmtrue}
 
-\DeclareOptionX{compat31}{\recthy at compat@threeOne}
-\DeclareOptionX{compat35}{\recthy at compat@threeFive}
-\DeclareOptionX{compat36}{\recthy at compat@threeSix}
 
-\DeclareOptionX{suppPriorityTrees}{
-\ifrecthy at compatThreeSixOrEarlier
-   \@packinfo{Enabling depreciated Support Priority Tree functionality.  These functions are only accessible in compatibility mode and should not be used in new documents}
-   \recthy at nosuppprioritytreesfalse
-\else
-  \PackageWarningNoLine{rec-thy}{Suplemental Priority Tree option depreciated.  Combine with one of the options compat36,compat32 or compat 31 to access these functions.}
-\fi
-}
+% \DeclareOptionX{degjoin}{\def\Tjoin{\Tdegjoin}}
 
-\newcommand*{\recthy at rollback@threeTwo}{}
-\newcommand*{\recthy at rollback@threeSix}{}
-\newcommand*{\recthy at rollback@threeSeven}{}
-\newcommand*{\recthy at compat@threeSix}{\recthy at compatThreeSixOrEarliertrue\AtEndOfPackage{\recthy at rollback@threeSeven}}
-\newcommand*{\recthy at compat@threeFive}{\recthy at compatThreeSixOrEarliertrue\recthy at compat@threeSix\AtEndOfPackage{\recthy at rollback@threeSix}}
-\newcommand*{\recthy at compat@threeOne}{\recthy at compatThreeSixOrEarliertrue\recthy at compat@threeFive\AtEndOfPackage{\recthy at rollback@threeTwo}}
-
-%\DeclareOptionX{nomodule}{\recthy at nomoduletrue}
-
-\DeclareOptionX{degjoin}{\def\Tjoin{\Tdegjoin}}
-
 \let\@recthy at modulescr\mathcal
 \DeclareOptionX{modulescr}[mathcal]{\letcs{\@recthy at modulescr}{#1}}
 
-\def\@recthy at ballsymb@default{\mathscr{B}}
-\let\@recthy at ballsymb\@recthy at ballsymb@default
-\DeclareOptionX{ballsymb}[@recthy at ballsymb@default]{\letcs{\@recthy at ballsymb}{#1}}
 
 
 
@@ -207,64 +174,12 @@
 
 
 
-\let\@recthy at reqscr\mathscr
-\DeclareOptionX{reqscr}[mathscr]{\letcs{\@recthy at reqscr}{#1}}
-% \DeclareOptionX{beamerreq}[@recthy at EmptyStr@Default]{\letcs{\@recthy at EmptyStr}{#1}}
+\def\@recthy at reqscr{\mathscr}
+\DeclareOptionX{reqscr}{\letcs{\@recthy at reqscr}{#1}}
 
 
 
 
-
-
-
-
-% \newcommand*{\@recthy at REA}{\ensuremath{\text{REA}}}
-% \WithSuffix\def\@recthy at REA[#1]{#1-\@recthy at REA\relax}
-% \newcommand*{\@recthy at CEA}{\ensuremath{\text{CEA}}}
-% \WithSuffix\def\@recthy at CEA[#1]{#1-\@recthy at CEA\relax}
-
-\DeclareOptionX{reterms}{%
-    \let\@recthy at ce=\@recthy at re
-    \let\@recthy at computable=\@recthy at recursive
-    \let\@recthy at computablyEnumerable=\@recthy at recursivelyEnumerable
-    \let\@recthy at ComputablyEnumerable=\@recthy at RecursivelyEnumerable
-    } %Make all references to ce change to re
-
-    \DeclareOptionX{reaterms}{%
-        \let\@recthy at CEA=\@recthy at REA
-        }
-
-\DeclareOptionX{ceterms}{%
-    \let\@recthy at re=\@recthy at ce
-    \let\@recthy at recursive=\@recthy at computable
-    \let\@recthy at recursivelyEnumerable=\@recthy at computablyEnumerable
-    \let\@recthy at RecursivelyEnumerable=\@recthy at ComputablyEnumerable
-    } %Make all references to re change to ce
-
-\DeclareOptionX{ceaterms}{%
-            \let\@recthy at REA=\@recthy at CEA
-            }
-
-\def\@recthy at setdiffSYMdefault{-}
-\let\@recthy at setdiffSYM=\@recthy at setdiffSYMdefault
-\DeclareOptionX{diffsym}[@recthy at setdiffSYMdefault]{\letcs{\@recthy at setdiffSYM}{#1}}
-% \newcommand*{\@recthy at Cform@default}{\prescript{\mathcal{C}}{}{\Pi}}
-
-
-\newcommand*{\@recthy at CDelta@default}{\prescript{\mathcal{C}}{}{\Delta}}
-\newcommand*{\@recthy at CSigma@default}{\prescript{\mathcal{C}}{}{\Sigma}}
-\newcommand*{\@recthy at CPi@default}{\prescript{\mathcal{C}}{}{\Pi}}
-\let\@recthy at CDelta=\@recthy at CDelta@default
-\let\@recthy at CSigma=\@recthy at CSigma@default
-\let\@recthy at CPi=\@recthy at CPi@default
-\DeclareOptionX{cdeltasym}[@recthy at CDelta@default]{\letcs{\@recthy at CDelta}{#1}}
-\DeclareOptionX{csigmasym}[@recthy at CSigma@default]{\letcs{\@recthy at CSigma}{#1}}
-\DeclareOptionX{cpisym}[@recthy at CPi@default]{\letcs{\@recthy at CPi}{#1}}
-% \DeclareOptionX{cformsym}[@recthy at Cform@default]{\letcs{\@recthy at CPi}{#1}\letcs{\@recthy at CSigma}{#1}\letcs{\@recthy at CDelta}{#1}}
-
-
-
-
 \def\@recthy at recfSYM@default{\phi}
 \let\@recthy at recfSYM=\@recthy at recfSYM@default
 \def\@recthy at recfnlSYM@default{\Phi}
@@ -271,6 +186,11 @@
 \let\@recthy at recfnlSYM=\@recthy at recfnlSYM@default
 \def\@recthy at useSYM@default{\ltx at ifpackageloaded{unicode-math}{\symbffrak{u}}{\mathfrak{u}}}
 \let\@recthy at useSYM=\@recthy at useSYM@default
+
+
+
+
+
 \DeclareOptionX{recfnlsym}[@recthy at recfnlSYM@default]{\letcs{\@recthy at recfnlSYM}{#1}}
 \DeclareOptionX{recfsym}[@recthy at recfSYM@default]{\letcs{\@recthy at recfSYM}{#1}}
 \DeclareOptionX{usesym}[@recthy at useSYM@default]{\letcs{\@recthy at useSYM}{#1}}
@@ -278,6 +198,12 @@
 \newcommand*{\@recthy at llangle}{\langle\!\langle}
 \newcommand*{\@recthy at rrangle}{\rangle\!\rangle}
 
+
+\let\@recthy at llangle@orig=\llangle
+\let\@recthy at rrangle@orig=\rrangle
+
+
+
 \let\@recthy at EmptyStr=\@recthy at EmptyStr@Default
 \let\@recthy at concatSYM=\@recthy at concatSYM@Default
 \def\@recthy at langle{\langle}
@@ -284,13 +210,13 @@
 \def\@recthy at rangle{\rangle}
 \let\@recthy at lstrdelim=\@recthy at langle
 \let\@recthy at rstrdelim=\@recthy at rangle
-\let\@recthy at lcodedelim=\@recthy at langle
-\let\@recthy at rcodedelim=\@recthy at rangle
+\let\@recthy at lcodedelim=\@recthy at llangle
+\let\@recthy at rcodedelim=\@recthy at rrangle
 \let\@recthy at lpairdelim=\@recthy at langle
 \let\@recthy at rpairdelim=\@recthy at rangle
 
 
-\def\@recthy at concatSYM@Default{\widehat{\phantom{X}}}
+\def\@recthy at concatSYM@Default{\widehat{\phantom{x}}}
 \def\@recthy at EmptyStr@Default{\mathopen{\langle}\mathclose{\rangle}}
 \let\@recthy at concatSYM\@recthy at concatSYM@Default
 \let\@recthy at EmptyStr\@recthy at EmptyStr@Default
@@ -307,12 +233,22 @@
 
 
 
+  % \AtBeginDocument{\@ifundefined{hyperref}{\newcommand*{\texorpdfstring}[2]{#1}}{}}
 
-
 % \ProcessOptions*
 % \ProcessOptionsX<\@recthy at family>
 \ProcessOptionsX
 
+\ifrecthy at norsfs
+\else
+  \ltx at ifpackageloaded{unicode-math}{}{\RequirePackage{mathrsfs}}
+\fi
+
+\ifrecthy at nobbm
+\else
+  \ltx at ifpackageloaded{unicode-math}{}{\RequirePackage{bbm}}
+\fi
+
 %misc tools
 
 \def\@recthy at ignorespacesandallparsafterend{\ifhmode\unskip\fi
@@ -412,27 +348,63 @@
   \newcommand*{\@recthy at code}[1]{\mathopen{\@recthy at lcodedelim}#1\mathclose{\@recthy at rcodedelim}}
 
 
-  \appto{\recthy at rollback@threeSix}{
-    \renewcommand*{\@recthy at pair}[2]{\mathopen{\@recthy at llangle} #1, #2 \mathclose{\@recthy at rrangle}}
-    \def\@recthy at EmptyStr@Default{\mathopen{\langle}\mathclose{\rangle}}
-    % \renewcommand*{\@recthy at str}[1]{\mathopen{\langle}#1\mathclose{\rangle}}
-    \renewcommand*{\@recthy at code}[2][]{\mathopen{\@recthy at llangle}#2\mathclose{\@recthy at rrangle}^{#1}}
+  \let\godelpair=\@recthy at pair
+  \ifrecthy at nopair
+      \@packinfo{No redefining pair.}
+  \else
+      \@packinfo{pair=godelpair.}
+      \let\pair=\@recthy at pair
+  \fi
+
+
+  \newcommand{\succprec at recthy}{\mathrel{\mathpalette\succ at prec@recthy{\succ\prec}}}
+  \newcommand{\precsucc at recthy}{\mathrel{\mathpalette\succ at prec@recthy{\prec\succ}}}
+
+  \newcommand{\nsuccprec at recthy}{\ltx at ifpackageloaded{unicode-math}{\succprec at recthy\!\@recthy at xnot}{\not\succprec at recthy}}
+  \newcommand{\nprecsucc at recthy}{\ltx at ifpackageloaded{unicode-math}{\precsucc at recthy\!\@recthy at xnot}{\not\precsucc at recthy}}
+
+    \newcommand{\succ at prec@recthy}[2]{\succ@@prec at recthy#1#2}
+    \newcommand{\succ@@prec at recthy}[3]{%
+      \vcenter{\m at th\offinterlineskip
+        \sbox\z@{$#1#3$}%
+        \hbox{$#1#2$}\kern-0.4\ht\z@\box\z@
+      }%
     }
-\NewDocumentCommand{\incompat at recthy}{o}{\mathrel{\mid}\IfValueTF{#1}{_{#1}}{}}
-\NewDocumentCommand{\compat at recthy}{o}{\mathrel{\not\mid}\IfValueTF{#1}{_{#1}}{}}
 
+    \def\defaultincompatsymb at recthy{\mathrel{\mid}}
+    \def\defaulcompatSymb at recthy{\mathrel{\,\not|\,}}
+    \let\ncompatsymb at recthy=\nsuccprec at recthy
+    \ifrecthy at midincompat
+      \@packinfo{Using mid as incompat symbol}
+      \let\compatsymb at recthy=\defaulcompatSymb at recthy
+      \let\incompatsymb at recthy=\defaultincompatsymb at recthy
+    \else
+      \@packinfo{Using precc over succ as compat symbol}
+      \let\compatsymb at recthy=\succprec at recthy
+      \let\incompatsymb at recthy=\nsuccprec at recthy
+    \fi
+
+
+
+
+
+
+\NewDocumentCommand{\incompat at recthy}{o}{\incompatsymb at recthy\IfValueTF{#1}{_{#1}}{}}
+\NewDocumentCommand{\compat at recthy}{o}{{\compatsymb at recthy\IfValueTF{#1}{_{#1}}{}}}
+
+
 \ifrecthy at nostrings
     \@packinfo{No strings loading.}
 \else
     \@packinfo{Strings loading.}
-    \appto{\recthy at rollback@threeSix}{\newcommand*{\closedn}[1]{{#1}^\blacktriangledown}}
+    % \appto{\recthy at rollback@threeSix}{\newcommand*{\closedn}[1]{{#1}^\blacktriangledown}}
     \let\code=\@recthy at code
     \let\str=\@recthy at str
     \newcommand*{\EmptyStr}{\@recthy at EmptyStr}
-    \newcommand*{\estr}{\EmptyStr}
+    \newcommand*{\estr}{\@recthy at EmptyStr}
     \newcommand*{\decode}[2]{\left(#1\right)_{#2}}
-    \let\godelpair=\@recthy at pair
-    \let\gpair=\@recthy at pair
+    \newcommand*{\godelnum}[1]{\left\ulcorner #1 \right\urcorner}
+    \let\cornerquote=\godelnum
     \newcommand*{\concat}{\@recthy at concatSYM}
     \WithSuffix\def\concat[#1]{\concat\str{#1}}
     \newcommand*{\strpred}[1]{{#1}^{-}}
@@ -439,10 +411,14 @@
     \providecommand*{\lh}[2][]{\@recthy at abs{#2}_{#1}} %% Gives length of a string
 
     \providecommand*{\incompat}{\incompat at recthy} %incompatible stringes FIX SPACING
-    \providecommand*{\incomp}{\incompat at recthy}
+    % \providecommand*{\incomp}{\incompat at recthy}
     \providecommand*{\compat}{\compat at recthy}
-    \providecommand*{\nincompat}{\compat at recthy}
-    \providecommand*{\nincomp}{\compat at recthy}
+    \let\succprec=\succprec at recthy
+    \let\nsuccprec=\nsuccprec at recthy
+    \let\precsucc=\precsucc at recthy
+    \let\nprecsucc=\nprecsucc at recthy
+    % \providecommand*{\nincompat}{\compat at recthy}
+    % \providecommand*{\nincomp}{\compat at recthy}
     % \newcommand*{\setcol}[2]{{#1}^{[#2]}}
     \ExplSyntaxOn %thx stackexghance
       \NewDocumentCommand \setcol {m m}
@@ -467,12 +443,7 @@
       }
     \ExplSyntaxOff
 
-    \ifrecthy at nopair
-        \@packinfo{No redefining pair.}
-    \else
-        \@packinfo{pair=godelpair.}
-        \let\pair=\@recthy at pair
-    \fi
+
 \fi
 
 \ifrecthy at noprioritytrees
@@ -480,7 +451,7 @@
 \else
     \@packinfo{Loading Priority Tree Helper.}
     \providecommand{\PriorityTree}{\mathbb{T}}
-    \providecommand{\tpath}[1][]{\ifthenelse{\isempty{#1}}{\mathbb{f}}{\mathbb{f}_{#1}}}
+    \providecommand{\tpath}[1][]{\ifthenelse{\isempty{#1}}{\@recthy at tpathSYM}{\@recthy at tpathSYM_{#1}}}
     \providecommand{\leftof}{\mathbin{<_L}}
     \providecommand{\leftofeq}{\mathbin{\leq_L}}
     \providecommand{\rightof}{\mathbin{>_L}}
@@ -491,82 +462,18 @@
     \providecommand{\nrightofeq}{\mathbin{\ngeq_L}}
     \NewDocumentCommand{\PriorityTreeModule}{mO{}m}{\ensuremath{{\@recthy at modulescr{#1}}^{#2}_{#3} }}
     \let\module=\PriorityTreeModule
-    \providecommand{\ball}[3][]{{\@recthy at ballsymb}^{#1}(#2, #3)}
 \fi
 
 
-\ifrecthy at nosuppprioritytrees
-\else
-    \providecommand*{\Astages}[1]{\mathcal{A}({#1})}
-    \providecommand*{\Vstages}[1]{\mathcal{V}(#1)}
-    \providecommand{\reqof}[2][]{\mathbb{r}(#2)}
-    \let\modof=\reqof
-    \providecommand{\ancestor}{\succ}
-    \providecommand{\descendant}{\prec}
-    \providecommand{\ancestoreq}{\succeq}
-    \providecommand{\descendanteq}{\preceq}
-    \let\ances=\ancestor
-    \let\anceseq=\ancestoreq
-    \let\desc=\descendant
-    \let\desceq=\descendanteq
-\fi
 
 
+
 \ifrecthy at nopfcases
     \@packinfo{Not loading Proof Cases Helper}
 \else
     \@packinfo{Loading Proof Cases Helper.}
     \RequirePackage{enumitem}
-    \appto{\recthy at rollback@threeSeven}{
-        \setlist[pfcasesnonum]{
-          label={\pmg at casefont{Case}}\protect\thiscase:~,
-          align=left,
-          labelsep=!,
-          itemindent=-1em,
-        }
-        \setlist[pfcasesnumbered]{
-          align=left,
-          labelsep=!,
-          itemindent=-1em,
-        }
-        \setlist[pfcasesnumbered,1]{
-          label={{\pmg at casefont{Case}}~\arabic*\protect\thiscase:~},
-        }
-        \setlist[pfcasesnumbered,2]{
-          label={{\pmg at casefont{Case}}~\arabic{pfcasesnumberedi}\alph*:\protect\thiscase.~},
-        }
-        \setlist[pfcasesnumbered,3]{
-          label={{\pmg at casefont{Case}}~\arabic{pfcasesnumberedi}\alph{pfcasesnumberedii}.\roman*:\protect\thiscase.~},
-        }
-        \renewenvironment{pfcases*}{
-            \ProvideDocumentCommand{\case}{o}{
-                \IfNoValueTF{##1}{
-                    \def\thiscase{}%
-                }{
-                    \def\thiscase{~##1}%
-                }
-                \item  \ltx at ifpackageloaded{cleveref}{%
-                \cref at constructprefix{pfcases}{\cref at result}%
-                \protected at xdef\cref at currentlabel{[\pfcasecounter at pmg][][\cref at result]##1}}{}  \protected at edef\@currentlabel{##1}%
-        }
-        \begin{pfcasesnonum}
-        }
-        {\end{pfcasesnonum}}
-        \renewenvironment{pfcases}{
-            \ProvideDocumentCommand{\case}{o}{
-                \IfNoValueTF{##1}{
-                    \def\thiscase{}%
-                }{
-                    \def\thiscase{~##1}%
-                }
-                \item \ltx at ifpackageloaded{cleveref}{%
-                \cref at constructprefix{\pfcasecounter at pmg}{\cref at result}
-                \protected at xdef\cref at currentlabel{[\pfcasecounter at pmg][][\cref at result] \csname the\pfcasecounter at pmg \endcsname}}{}%
-        }
-        \begin{pfcasesnumbered}}{\end{pfcasesnumbered}}
-    }
 
-
   \ltx at ifpackageloaded{cleveref}{
     \crefformat{pfcasesnonumi}{#2case~#1#3}
     \Crefformat{pfcasesnonumi}{#2Case~#1#3}
@@ -580,16 +487,14 @@
     \Crefformat{pfcasesnumberedii}{#2Case~#1#3}
     \crefformat{pfcasesnumberediii}{#2case~#1#3}
     \Crefformat{pfcasesnumberediii}{#2Case~#1#3}
-    }{}
+  }{}
+
     \newlist{pfcasesnonum}{enumerate}{3}
     \setlist[pfcasesnonum]{
       label={\pmg at casefont{Case}},
       align=left,
-      labelsep=0pt,
-      itemindent=!,
-      leftmargin=2em,
-      labelindent=0pt,
-      labelwidth=0pt
+      left=0pt .. 1.5em,
+      itemindent=* 
     }
     \setlist[pfcasesnonum,1]{
         before=\def\pfcasecounter at pmg{pfcasesnonumi},
@@ -603,12 +508,17 @@
     \newlist{pfcasesnumbered}{enumerate}{3}
     \setlist[pfcasesnumbered]{
       align=left,
-      labelsep=0pt,
-      itemindent=!,
-      leftmargin=2em,
-      labelindent=0pt,
-      labelwidth=0pt
+      left=0pt .. 1.5em,
+      itemindent=* 
     }
+    % \setlist[pfcasesnumbered]{
+    %   align=left,
+    %   labelsep=0pt,
+    %   itemindent=!,
+    %   leftmargin=2em,
+    %   labelindent=0pt,
+    %   labelwidth=0pt
+    % }
     \setlist[pfcasesnumbered,1]{
         before=\def\pfcasecounter at pmg{pfcasesnumberedi},
       label={{\pmg at casefont{Case}}~\arabic*},
@@ -635,16 +545,15 @@
             \ltx at ifpackageloaded{cleveref}{%
             \cref at constructprefix{pfcases}{\cref at result}%
             \protected at xdef\cref at currentlabel{[\pfcasecounter at pmg][][\cref at result]##1}}{}  \protected at edef\@currentlabel{##1}\ignorespaces}
-    \begin{pfcasesnonum}[labelindent=\@recthy at cases@labelindent]\def\@recthy at cases@labelindent{-1em}\ignorespaces}{\end{pfcasesnonum}\ignorespacesafterend}
+        \begin{pfcasesnonum}\def\@recthy at cases@labelindent{1em}\ignorespaces}{\end{pfcasesnonum}\ignorespacesafterend}
 
     \newenvironment{pfcases}{
         \ProvideDocumentCommand{\case}{o}{
             \IfNoValueTF{##1}{
-                \def\thiscase{}%
+                \def\thiscase{}\item\!\!\textbf{:} \allowbreak%\linebreak[1]%
             }{
-                \def\thiscase{~##1}%
+                \def\thiscase{~##1}\item~##1\textbf{:} \allowbreak%\linebreak[1]%
             }
-            \item~##1\textbf{:} \linebreak[1]%
             \ltx at ifpackageloaded{cleveref}{%
             \cref at constructprefix{\pfcasecounter at pmg}{\cref at result}%
             \protected at xdef\cref at currentlabel{[\pfcasecounter at pmg][][\cref at result]\csname the\pfcasecounter at pmg \endcsname}}{}\ignorespaces}
@@ -721,8 +630,17 @@
 
 
 
-\newcommand*{\@pmg at saveeqstate}{\let\@origif at fleqn@pmg=\if at fleqn \let\@origiftagsleft at pmg=\iftagsleft@}
-\newcommand*{\@pmg at restoreeqstate}{ \let\if at fleqn=\@origif at fleqn@pmg\let\iftagsleft@=\@origiftagsleft at pmg}
+% \let\recthy at origtagform@=\tagform@
+\newcommand*{\@pmg at saveeqstate}{
+  \let\@origif at fleqn@pmg=\if at fleqn
+  \let\@origiftagsleft at pmg=\iftagsleft@
+  \let\recthy at savedtagform@=\tagform@
+}
+\newcommand*{\@pmg at restoreeqstate}{
+  \let\if at fleqn=\@origif at fleqn@pmg
+  \let\iftagsleft@=\@origiftagsleft at pmg
+  \let\tagform@=\recthy at savedtagform@
+  }
 
 \ifrecthy at noreqhelper
     \@packinfo{Not loading requirement assist.}
@@ -739,35 +657,10 @@
       \AtBeginDocument{\@ifundefined{hyperref}{}{\let\req=\req at href@star}}
     \fi
     
-    \newtagform{colon}{}{:}
-    % \@ifclassloaded{beamer}{\def\setmmonefivecm{\@mathmargin{1.5cm}}}{\def\setmmonefivecm{\setlength\@mathmargin{1.5cm}}}%  
-    \newenvironment{requirement}[1]{
-        \@pmg at saveeqstate
-        \@fleqntrue
-        \setlength\@mathmargin{1.5cm}
-        \tagsleft at true
-        \usetagform{colon}
-        \begin{equation}\tag{#1}
-    }{
-        \end{equation}
-        \@pmg at restoreeqstate
-        \usetagform{default}
-        % \let\maketag@@@=\maketag@@@orig at pmg  
-    }
+    % \newtagform{colon}{}{:}
+    \def\recthy at colontagform@#1{\maketag@@@{\ignorespaces#1\unskip:}}
 
-    \NewDocumentEnvironment{require}{O{}mO{}m}{
-        \begin{requirement}{\req at nohref[#1#3]{#2}{#4}} \label{\detokenize{req:#2@#1#3}}%
-    }{
-        \end{requirement}%
-    }
-    \NewDocumentEnvironment{require*}{O{}mO{}m}{
-        \begin{requirement}{\req at nohref[#1#3]{#2}{#4}}
-    }{
-        \end{requirement}%
-    }
 
-
-
     \NewDocumentCommand{\refreq}{O{}mO{}}{\ref{\detokenize{req:#2@#1#3}}}
 
     \NewDocumentCommand{\require at nested}{sO{}mO{}m}{%
@@ -777,6 +670,8 @@
 
 
 \ifrecthy at beamersupp
+
+\AtBeginDocument{
         \theoremstyle{plain}
         \newtheorem{reqsblock at recthy}{Requirements}
         \newtheorem{reqblock at recthy}{Requirement}
@@ -790,62 +685,94 @@
       \setbeamercolor{block title}{fg=white,bg=Maroon}%
       \setbeamercolor{block body}{fg=black,bg=Maroon!10}\OLDreqblock at recthy
     }
+  }
 
       \NewDocumentCommand{\require at beamer}{sO{}mO{}m}{\tag{$\@ifmtarg{#2#4}{\mathscr{#3}_{#5}}{\mathscr{#3}_{#5}^{#2#4}}$} \IfBooleanTF{#1}{}{\label{\detokenize{req:#3@#2#4}}} & }
 
-    \NewDocumentEnvironment{BeamerRequirements}{d<>b}{\IfValueTF{#1}{\begin{reqsblock at recthy}<#1>}{\begin{reqsblock at recthy}}%
+    \NewDocumentEnvironment{requirements}{d<>b}{\IfValueTF{#1}{\begin{reqsblock at recthy}<#1>}{\begin{reqsblock at recthy}}%
       \setlength{\abovedisplayskip}{0pt}%
       \setlength{\belowdisplayskip}{0pt}%
-    % \vspace*{-.5cm}
-    \usetagform{colon} %
-          \let\myhalign\halign%
-            \def\halign{\let\mylb\\ \renewcommand{\\}{& \mylb}\myhalign}%
-          \let\require=\require at beamer %
-          \begin{flalign*}%
-          #2 &
-          \end{flalign*}%
+    \begin{requirements*}
+      #2
+    \end{requirements*}
           \end{reqsblock at recthy}}{}
 
-    \NewDocumentEnvironment{requirements}{b}{\usetagform{colon} %
+    \NewDocumentEnvironment{requirement}{d<>b}{\IfValueTF{#1}{\begin{reqblock at recthy}<#1>}{\begin{reqblock at recthy}}%
+      \setlength{\abovedisplayskip}{0pt}%
+      \setlength{\belowdisplayskip}{0pt}%
+    \begin{requirements*}
+      #2
+    \end{requirements*}
+          \end{reqblock at recthy}}{}
+
+    \NewDocumentEnvironment{requirements*}{b}{\let\tagform@=\recthy at colontagform@
           \let\myhalign\halign%
             \def\halign{\let\mylb\\ \renewcommand{\\}{& \mylb}\myhalign}%
           \let\require=\require at beamer %
           \begin{flalign*}%
-          #1 &
+          #1
           \end{flalign*}}{\ignorespacesafterend}%\@recthy at ignorespacesandallparsafter}
 
 
-   \NewDocumentEnvironment{BeamerRequire}{d<>O{}mO{}m}{\IfValueTF{#1}{\begin{reqblock at recthy}<#1>}{\begin{reqblock at recthy}}%
-        \setlength{\abovedisplayskip}{0pt}%
-        \setlength{\belowdisplayskip}{0pt}%
-        \begin{requirement}{\req at nohref[#2#4]{#3}{#5}} \label{\detokenize{req:#3@#2#4}}%
-    }{
-        \end{requirement}%
-        \vspace*{-.3cm}%
-        \end{reqblock at recthy}%
-    }
-    \NewDocumentEnvironment{BeamerRequire*}{d<>O{}mO{}m}{\IfValueTF{#1}{\begin{reqblock at recthy}<#1>}{\begin{reqblock at recthy}}%
-        \setlength{\abovedisplayskip}{0pt}%
-        \setlength{\belowdisplayskip}{0pt}%
-        \begin{requirement}{\req at nohref[#2#4]{#3}{#5}}
-    }{
-        \end{requirement}%
-        \vspace*{-.3cm}%
-        \end{reqblock at recthy}%
-    }       
+   % \NewDocumentEnvironment{BeamerRequire}{d<>O{}mO{}m}{\IfValueTF{#1}{\begin{reqblock at recthy}<#1>}{\begin{reqblock at recthy}}%
+   %      \setlength{\abovedisplayskip}{0pt}%
+   %      \setlength{\belowdisplayskip}{0pt}%
+   %      \begin{requirement}{\req at nohref[#2#4]{#3}{#5}} \label{\detokenize{req:#3@#2#4}}%
+   %  }{
+   %      \end{requirement}%
+   %      \vspace*{-.3cm}%
+   %      \end{reqblock at recthy}%
+   %  }
+   %  \NewDocumentEnvironment{BeamerRequire*}{d<>O{}mO{}m}{\IfValueTF{#1}{\begin{reqblock at recthy}<#1>}{\begin{reqblock at recthy}}%
+   %      \setlength{\abovedisplayskip}{0pt}%
+   %      \setlength{\belowdisplayskip}{0pt}%
+   %      \begin{requirement}{\req at nohref[#2#4]{#3}{#5}}
+   %  }{
+   %      \end{requirement}%
+   %      \vspace*{-.3cm}%
+   %      \end{reqblock at recthy}%
+   %  }       
 \else
 
+      \newenvironment{requirement}[1]{
+          \@pmg at saveeqstate
+          \@fleqntrue
+          \setlength\@mathmargin{1.5cm}
+          \tagsleft at true
+          \let\tagform@=\recthy at colontagform@%
+          % \usetagform{colon}
+          \begin{equation}\tag{#1}
+      }{
+          \end{equation}
+          \@pmg at restoreeqstate
+          % \usetagform{default}
+          % \let\maketag@@@=\maketag@@@orig at pmg  
+      }
+
+      \NewDocumentEnvironment{require}{O{}mO{}m}{
+          \begin{requirement}{\req at nohref[#1#3]{#2}{#4}} \label{\detokenize{req:#2@#1#3}}%
+      }{
+          \end{requirement}%
+      }
+      \NewDocumentEnvironment{require*}{O{}mO{}m}{
+          \begin{requirement}{\req at nohref[#1#3]{#2}{#4}}
+      }{
+          \end{requirement}%
+      }
+
+
         \NewDocumentEnvironment{requirements}{}{%
         \@pmg at saveeqstate%
         \@fleqntrue%
         \setlength\@mathmargin{1.5cm}%
         \tagsleft at true%
-        \usetagform{colon}%
+        % \usetagform{colon}%
+        \let\tagform@=\recthy at colontagform@%
         \let\require=\require at nested%
         \gather
         }{\endgather%
         \@pmg at restoreeqstate%
-        \usetagform{default}%
+        % \usetagform{default}%
         \ignorespacesafterend}
 
  \fi
@@ -855,62 +782,43 @@
 
 
 \ifrecthy at nostructresets
-    \@packinfo{Not loading r.e. set structs w/ containment.}
+    \@packinfo{Not loading r.e. subset commands}
 \else
-  \@packinfo{Loading r.e. set structs w/ containment.}
-  \let\@orig at setminus=\setminus
+  \@packinfo{Loading r.e. subset commands}
+
+  %%TODO: This stuff should be in a different section
+  % \let\@orig at setminus=\setminus
   \newcommand*{\promptdif}{\@orig at setminus_{\downarrow}}
   \let\setbefore=\promptdif
   \let\promptminus=\promptdif
   \let\promptsetminus=\promptdif
-
-  \newcommand*{\StrcE}{\ensuremath{\mathscr{E}}}
-  \WithSuffix\def\StrcE*{\ensuremath{\mathscr{E}^{*}}}
-  \let\strucE\StrcE
-  \newcommand*{\StrcL}[1]{\mathscr{L}(#1)}
-  \newcommand*{\StrcStarL}[1]{\mathscr{L}^{*}(#1)}
-  \WithSuffix\def\StrcL*{\StrcStarL}
   \newcommand*{\splitof}{\sqsubset}
   \newcommand*{\splitby}{\sqsupset}
-  \newcommand*{\StrcR}{\ensuremath{\mathcal{R}}}
-  \newcommand*{\StrcD}{\ensuremath{\mathcal{D}}}
 
+  %%TODO depreciate capital S for commands...and generally remove the R and D stuff
+  \newcommand*{\strcE}{\ensuremath{\mathscr{E}}}
+  \WithSuffix\def\strcE*{\ensuremath{\mathscr{E}^{*}}}
+  % \let\strcE\StrcE
+  \newcommand*{\strcL}[1]{\mathscr{L}(#1)}
+  \newcommand*{\strcStarL}[1]{\mathscr{L}^{*}(#1)}
+  \WithSuffix\def\strcL*{\StrcStarL}
 
-\fi
+  % \let\strcR=\StrcR
+  % \let\strcD=\StrcD
 
 
-\ifrecthy at nohyphenation
-    \@packinfo{No hyphenation loading.}
-\else
-\hyphenation{ra-tion-als ra-tion-al Harrington Slaman Cholak Knight Gerdes Lange}
 \fi
 
 
 
 
-\ifrecthy at mrref
-    \@packinfo{MRref helper loading}
-    \AtBeginDocument{
-      \@ifpackageloaded{hyperref}{
-        \def\recthy at checkMR MR#1#2#3 #4\relax%
-          {\ifx#1M%
-             \ifx#2R\recthy at MR{#3}\else\recthy at MR{#1#2#3}\fi
-           \else
-             \recthy at MR{#1#2#3}%
-           \fi}
-        \def\MR#1{\recthy at checkMR MR#1 \relax}
-        \newcommand{\recthy at MR}[1]{\recthy at MRhref{#1}{MR #1}}
-        % % \MRhref is called by the amsart/book/proc definition of \MR.
-        \newcommand{\recthy at MRhref}[2]{\href{http://www.ams.org/mathscinet-getitem?mr=#1}{#2}}
-      }
-    }
-\else
-    \@packinfo{MRref helper not loading}
-\fi
 
 
+
+
 % \newcommand*{\@recthy at abs}[1]{\lvert#1\rvert}
-\DeclarePairedDelimiter\@recthy at abs{\lvert}{\rvert}
+\NewDocumentCommand{\@recthy at abs}{sm}{\IfBooleanT{#1}{\left}\lvert #2 \IfBooleanT{#1}{\right}\rvert}
+% \DeclarePairedDelimiter\@recthy at abs{\lvert}{\rvert}
 \newcommand*{\@recthy at ensuretext}[1]{\ensuremath{\text{#1}}}
 
 
@@ -928,8 +836,10 @@
     \else
         \DeclareMathOperator{\Ord}{Ord}
     \fi
-    \DeclarePairedDelimiter\ceil{\lceil}{\rceil}
-    \DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
+    \NewDocumentCommand{\ceil}{sm}{\IfBooleanT{#1}{\left}\lceil #2 \IfBooleanT{#1}{\right}\rceil}
+    % \DeclarePairedDelimiter\ceil{\lceil}{\rceil}
+    % \DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
+    \NewDocumentCommand{\floor}{sm}{\IfBooleanT{#1}{\left}\lfloor #2 \IfBooleanT{#1}{\right}\rfloor}
 
     \recthy at strip{abs}
     \ifdefined\dom
@@ -943,15 +853,8 @@
     \providecommand*{\restr}[1]{\mathpunct{\restriction_{#1}}}
     \providecommand*{\ordpair}[2]{\left( #1, #2 \right) }
     %%%%%%%%Function commands
+    \providecommand*{\maps}[2]{\mathop{:}#1\mapsto #2}
 
-    \appto{\recthy at rollback@threeTwo}{
-        \providecommand*{\map}[2]{:##1\mapsto ##2}
-        \providecommand*{\functo}[3]{##1\map{##2}{##3}}
-        \ifdefined\funcomp
-        \else
-            \let\funcomp=\compfunc
-        \fi
-    }
 
     \providecommand*{\compfunc}{\mathbin{\circ}}
     \ifdefined\compose
@@ -977,6 +880,7 @@
     \newcommand{\ParFuncs}[2]{{#2}^{\subset #1}}
     \newcommand{\FinParFuncs}[2]{{#2}^{\subset_{< \infty} #1}}
     \recthy at strip{ensuretext}
+    \providecommand{\quotient}{\quotient at recthy}
 \fi
 
 
@@ -986,13 +890,15 @@
     \@packinfo{No operators loading.}
 \else
     \@packinfo{Operators loading.}
-        \providecommand*{\meet}{\mathbin{\wedge}}
-    \providecommand*{\join}{\mathbin{\vee}}
-    \providecommand*{\Meet}{\mathop{\bigwedge}}
-    \let\MnJoin=\Join %save MnVersion in case wanted
-    \newcommand*{\Join at recthy}{\mathop{\bigvee}}
+    \providecommand*{\Land}{\mathop{\bigwedge}}
+    \providecommand*{\Lor}{\mathop{\bigvee}}
+    \providecommand*{\LLand}{\mathop{\bigwedge\mkern-15mu\bigwedge}}
+    \providecommand*{\LLor}{\mathop{\bigvee\mkern-15mu\bigvee}}
+
+     %save MnVersion in case wanted
+   
     \AtBeginDocument{
-      \let\Join=\Join at recthy
+      \let\Join=\@recthy at Join
     }
     \ifdefined\xor
     \else
@@ -1005,11 +911,16 @@
 
 
 
-\ifrecthy at nodelim
-    \@packinfo{No delimiters loading.}
+
+
+\ifrecthy at nosymb
+    \@packinfo{No Special Symbols Loading.}
+  \newcommand*{\ndownarrow}{\mathpunct{\mkern-4mu{\arrownot\mkern 4mu \downarrow}}}
 \else
     \ltx at ifpackageloaded{MnSymbol}{}{ 
     \DeclareFontFamily{OMX}{MnSymbolE}{}
+    \DeclareFontFamily{U} {MnSymbolB}{}
+    \DeclareSymbolFont{MnSyB}         {U}  {MnSymbolB}{m}{n}
     \DeclareSymbolFont{MnLargeSymbols}{OMX}{MnSymbolE}{m}{n}
     \SetSymbolFont{MnLargeSymbols}{bold}{OMX}{MnSymbolE}{b}{n}
     \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{
@@ -1030,6 +941,42 @@
       <10-12> MnSymbolE-Bold10
       <12->   MnSymbolE-Bold12
     }{}
+      \DeclareFontShape{U}{MnSymbolB}{m}{n}{
+      <-6>  MnSymbolB5
+     <6-7>  MnSymbolB6
+     <7-8>  MnSymbolB7
+     <8-9>  MnSymbolB8
+     <9-10> MnSymbolB9
+    <10-12> MnSymbolB10
+    <12->   MnSymbolB12}{}
+  \DeclareFontShape{U}{MnSymbolB}{b}{n}{
+      <-6>  MnSymbolB-Bold5
+     <6-7>  MnSymbolB-Bold6
+     <7-8>  MnSymbolB-Bold7
+     <8-9>  MnSymbolB-Bold8
+     <9-10> MnSymbolB-Bold9
+    <10-12> MnSymbolB-Bold10
+    <12->   MnSymbolB-Bold12}{}
+    \DeclareSymbolFont{MnSyA} {U} {MnSymbolA}{m}{n}
+    \DeclareFontFamily{U} {MnSymbolA}{}
+    \DeclareFontShape{U}{MnSymbolA}{m}{n}{
+      <-6> MnSymbolA5
+      <6-7> MnSymbolA6
+      <7-8> MnSymbolA7
+      <8-9> MnSymbolA8
+      <9-10> MnSymbolA9
+      <10-12> MnSymbolA10
+      <12-> MnSymbolA12}{}
+    \DeclareFontShape{U}{MnSymbolA}{b}{n}{
+      <-6> MnSymbolA-Bold5
+      <6-7> MnSymbolA-Bold6
+      <7-8> MnSymbolA-Bold7
+      <8-9> MnSymbolA-Bold8
+      <9-10> MnSymbolA-Bold9
+      <10-12> MnSymbolA-Bold10
+      <12-> MnSymbolA-Bold12}{}
+
+
     \DeclareMathDelimiter{\@recthy at ulcorner}
         {\mathopen}{MnLargeSymbols}{'036}{MnLargeSymbols}{'036}
     \DeclareMathDelimiter{\@recthy at urcorner}
@@ -1036,60 +983,27 @@
         {\mathclose}{MnLargeSymbols}{'043}{MnLargeSymbols}{'043}
         \let\ulcorner=\@recthy at ulcorner
         \let\urcorner=\@recthy at urcorner
+    \DeclareMathSymbol{\ndownarrow}{\mathpunct}{MnSyB}{3}
+    \DeclareMathDelimiter{\@recthy at ulcorner}
+        {\mathopen}{MnLargeSymbols}{'036}{MnLargeSymbols}{'036}
+    \DeclareMathDelimiter{\@recthy at urcorner}
+        {\mathclose}{MnLargeSymbols}{'043}{MnLargeSymbols}{'043}
+    \DeclareMathSymbol{\Searrow}{\mathrel}{MnSyA}{15}
+    \DeclareMathSymbol{\nSearrow}{\mathrel}{MnSyB}{15}
 }
-    \newcommand*{\godelnum}[1]{\left\ulcorner #1 \right\urcorner}
-    \let\cornerquote=\godelnum
-    \let\gcode=\godelnum
-    \let\@recthy at llangle@orig=\llangle
-    \let\@recthy at rrangle@orig=\rrangle
-    \ifrecthy at nodoubleangles
-    \else
-      \let\llangle=\@recthy at llangle
-      \let\rrangle=\@recthy at rrangle
-    \fi
+  \ifrecthy at nodoubleangles
+  \else
+        \let\llangle=\@recthy at llangle
+        \let\rrangle=\@recthy at rrangle
+  \fi
 \fi
 
 
-\newcommand*{\@recthy at re}{\@recthy at ensuretext{r.e.\ }}
-\newcommand*{\@recthy at ce}{\@recthy at ensuretext{c.e.\ }}
-\newcommand*{\@recthy at RE}{\@recthy at ensuretext{R.E.\ }}
-\newcommand*{\@recthy at CE}{\@recthy at ensuretext{C.E.\ }}
-\newcommand*{\@recthy at Re}{\@recthy at ensuretext{R.e.\ }}
-\newcommand*{\@recthy at Ce}{\@recthy at ensuretext{C.e.\ }}
-\newcommand*{\@recthy at recursive}{\@recthy at ensuretext{recursive}}
-\newcommand*{\@recthy at computable}{\@recthy at ensuretext{computable}}
-\newcommand*{\@recthy at recursivelyEnumerable}{\@recthy at ensuretext{recursively enumerable}}
-\newcommand*{\@recthy at computablyEnumerable}{\@recthy at ensuretext{computably enumerable}}
-\newcommand*{\@recthy at Recursive}{\@recthy at ensuretext{Recursive}}
-\newcommand*{\@recthy at Computable}{\@recthy at ensuretext{Computable}}
-\newcommand*{\@recthy at RecursivelyEnumerable}{\@recthy at ensuretext{Recursively enumerable}}
-\newcommand*{\@recthy at ComputablyEnumerable}{\@recthy at ensuretext{Computably enumerable}}
-\def\@recthy at REA{REA}
-\def\@recthy at CEA{CEA}
 
-\NewDocumentCommand{\REA}{d()o}{\ensuremath{\IfValueTF{#2}{#2 \@recthy at mhyphen}{}\text{\@recthy at REA}\IfValueTF{#1}{(#1)}{}}}
-\NewDocumentCommand{\CEA}{d()o}{\ensuremath{\IfValueTF{#2}{#2 \@recthy at mhyphen}{}\text{\@recthy at CEA}\IfValueTF{#1}{(#1)}{}}}
 
+\NewDocumentCommand{\REA}{d()o}{\ensuremath{\IfValueTF{#2}{#2 \@recthy at mhyphen}{}\text{REA}\IfValueTF{#1}{(#1)}{}}}
+\NewDocumentCommand{\CEA}{d()o}{\ensuremath{\IfValueTF{#2}{#2 \@recthy at mhyphen}{}\text{CEA}\IfValueTF{#1}{(#1)}{}}}
 
-\ifrecthy at nonames
-    \@packinfo{No names loading.}
-\else
-    \@packinfo{Names loading.}
-    \recthy at strip{re}
-    \recthy at strip{ce}
-    \recthy at strip{RE}
-    \recthy at strip{CE}
-    \recthy at strip{Re}
-    \recthy at strip{Ce}
-    \recthy at strip{recursive}
-    \recthy at strip{computable}
-    \recthy at strip{recursivelyEnumerable}
-    \recthy at strip{computablyEnumerable}
-    \recthy at strip{Recursive}
-    \recthy at strip{Computable}
-    \recthy at strip{RecursivelyEnumerable}
-    \recthy at strip{ComputablyEnumerable}
-\fi
 
 
 
@@ -1118,7 +1032,6 @@
 \newcommand*{\@recthy at setovercmp}[1]{\overline{#1}}
 \newcommand*{\@recthy at setsimcmp}[1]{\backsim #1}
 \let\@recthy at setcmp=\@recthy at setovercmp
-\newcommand*{\@recthy at setdiff}{\mathbin{\@recthy at setdiffSYM}}
 
 
 
@@ -1126,6 +1039,7 @@
 
 
 
+
 % \WithSuffix\def\@recthy at setcmp[#1]#2{#1\@recthy at setminus#2}
 \ifrecthy at nosets
     \@packinfo{No set cmds loading.}
@@ -1146,7 +1060,6 @@
     \recthy at strip{setcmp}
     % \recthy at strip{setovercmp}
     % \recthy at strip{setminuscmp}
-    \recthy at strip{setdiff}
     \let\crossOrig=\cross
     \def\cross{}
     \renewcommand*{\cross}{\mathbin{\times}}
@@ -1154,14 +1067,6 @@
     \def\Cross{}
     \renewcommand*{\Cross}{\mathop{\Pi}}
     \providecommand*{\symdiff}{\mathbin{\Delta}}
-    % \ifdefined\interior
-    % \else
-    %     \DeclareMathOperator{\interior}{int}
-    % \fi
-    % \ifdefined\closure
-    % \else
-        % \DeclareMathOperator{\clos}{cl}
-    % \fi
 \fi
 
 
@@ -1226,17 +1131,12 @@
 
 
 
-    \providecommand*{\True}{\top}
-    \providecommand*{\False}{\bot}
+    % \providecommand*{\True}{\top}
+    % \providecommand*{\False}{\bot}
 
-    \providecommand*{\Land}{\mathop{\bigwedge}}
-    \providecommand*{\Lor}{\mathop{\bigvee}}
-    \providecommand*{\LLand}{\mathop{\bigwedge\mkern-15mu\bigwedge}}
-    \providecommand*{\LLor}{\mathop{\bigvee\mkern-15mu\bigvee}}
+    % \providecommand*{\liff}{\ensuremath{\leftrightarrow}}
+    % \providecommand*{\limplies}{\ensuremath{\rightarrow}}
 
-    \providecommand*{\liff}{\ensuremath{\leftrightarrow}}
-    \providecommand*{\limplies}{\ensuremath{\rightarrow}}
-
 \fi
 
 %%%%%%%%% Formula Classes
@@ -1248,387 +1148,31 @@
     \@packinfo{No syntax loading.}
 \else
     \@packinfo{syntax loading.}
-    \recthy at strip{CDelta}
-    \recthy at strip{CSigma}
-    \recthy at strip{CPi}
-    \newcommand*{\deltan}[1]{\Delta_{#1}}
-    \WithSuffix\def\deltan[#1]#2{\Delta^{#1}_{#2}}
-    % \WithSuffix\def\deltan(#1)#2{\deltan{#2}\!\left(#1\right)}
-    \newcommand*{\deltaZeroN}[1]{\Delta^{0}_{#1}}
-    \WithSuffix\def\deltaZeroN[#1]#2{\Delta^{0,#1}_{#2}}
-    % \WithSuffix\def\deltaZeroN(#1)#2{\deltaZeroN{#2}\!\left(#1\right)}
-    \newcommand*{\deltaZeroTwo}{\deltaZeroN{2}}
-    \WithSuffix\def\deltaZeroTwo[#1]{\deltaZeroN[#1]{2}}
-    % \WithSuffix\def\deltaZeroTwo(#1){\deltaZeroN[#1]{2}}
-    \newcommand*{\deltaZeroThree}{\deltaZeroN{3}}
-    \WithSuffix\def\deltaZeroThree[#1]{\deltaZeroN[#1]{3}}
-    % \WithSuffix\def\deltaZeroThree(#1){\deltaZeroN[#1]{3}}
-    \newcommand*{\deltaZeroOne}{\deltaZeroN{1}}
-    \WithSuffix\def\deltaZeroOne[#1]{\deltaZeroN[#1]{1}}
-    % \WithSuffix\def\deltaZeroOne(#1){\deltaZeroN[#1]{1}}
-    \newcommand*{\deltaZeroZero}{\deltaZeroN{0}}
-    \WithSuffix\def\deltaZeroZero[#1]{\deltaZeroN[#1]{0}}
-    % \WithSuffix\def\deltaZeroZero(#1){\deltaZeroN[#1]{0}}
+    \NewDocumentCommand{\DeltaN}{sod()m}{{\IfBooleanTF{#1}{\symbf{\Delta}}{\Delta}}\IfValueT{#2}{^{#2}}_{#4}\IfValueT{#3}{\!\left(#3\right)}}
+    \NewDocumentCommand{\PiN}{sod()m}{{\IfBooleanTF{#1}{\symbf{\Pi}}{\Pi}}\IfValueT{#2}{^{#2}}_{#4}\IfValueT{#3}{\!\left(#3\right)}}
+    \NewDocumentCommand{\SigmaN}{sod()m}{{\IfBooleanTF{#1}{\symbf{\Sigma}}{\Sigma}}\IfValueT{#2}{^{#2}}_{#4}\IfValueT{#3}{\!\left(#3\right)}}
 
+    \NewDocumentCommand{\DeltaZeroN}{sod()m}{{\IfBooleanTF{#1}{\symbf{\Delta}}{\Delta}}^{0\IfValueT{#2}{, #2}}_{#4}\IfValueT{#3}{\!\left(#3\right)}}
+    \NewDocumentCommand{\PiZeroN}{sod()m}{{\IfBooleanTF{#1}{\symbf{\Pi}}{\Pi}}^{0\IfValueT{#2}{, #2}}_{#4}\IfValueT{#3}{\!\left(#3\right)}}
+    \NewDocumentCommand{\SigmaZeroN}{sod()m}{{\IfBooleanTF{#1}{\symbf{\Sigma}}{\Sigma}}^{0\IfValueT{#2}{, #2}}_{#4}\IfValueT{#3}{\!\left(#3\right)}}
 
-    \newcommand*{\deltaOneN}[1]{\deltan{#1}^1}
-    \WithSuffix\def\deltaOneN[#1]#2{\Delta^{1,#1}_{#2}}
-    % \WithSuffix\def\deltaOneN(#1)#2{\deltaOneN{#2}\!\left(#1\right)}
-    \newcommand*{\deltaOneOne}{\deltaOneN{1}}
-    \WithSuffix\def\deltaOneOne[#1]{\deltaOneN[#1]{1}}
-    % \WithSuffix\def\deltaOneOne(#1){\deltaOneN[#1]{1}}
-    \newcommand*{\deltaOneTwo}{\deltaOneN{2}}
-    \WithSuffix\def\deltaOneTwo[#1]{\deltaOneN[#1]{2}}
-    % \WithSuffix\def\deltaOneTwo(#1){\deltaOneN[#1]{2}}
-    \newcommand*{\deltaOneThree}{\deltaOneN{3}}
-    \WithSuffix\def\deltaOneThree[#1]{\deltaOneN[#1]{3}}
-    % \WithSuffix\def\deltaOneThree(#1){\deltaOneN[#1]{3}}
+    \NewDocumentCommand{\DeltaOneN}{sod()m}{{\IfBooleanTF{#1}{\symbf{\Delta}}{\Delta}}^{1\IfValueT{#2}{, #2}}_{#4}\IfValueT{#3}{\!\left(#3\right)}}
+    \NewDocumentCommand{\PiOneN}{sod()m}{{\IfBooleanTF{#1}{\symbf{\Pi}}{\Pi}}^{1\IfValueT{#2}{, #2}}_{#4}\IfValueT{#3}{\!\left(#3\right)}}
+    \NewDocumentCommand{\SigmaOneN}{sod()m}{{\IfBooleanTF{#1}{\symbf{\Sigma}}{\Sigma}}^{1\IfValueT{#2}{, #2}}_{#4}\IfValueT{#3}{\!\left(#3\right)}}
 
 
+    \ifrecthy at shortsyntax
+      \@packinfo{No syntax abbreviations loading.}
+      \let\pizn=\PiZeroN
+      \let\deltazn=\DeltaZeroN
+      \let\sigmazn=\SigmaOneN
+      \let\piin=\PiOneN
+      \let\deltain=\DeltaOneN
+      \let\sigmain=\SigmaOneN
+    \fi
 
-    \newcommand*{\sigman}[1]{\Sigma_{#1}}
-    \WithSuffix\def\sigman[#1]#2{\Sigma^{#1}_{#2}}
-    % \WithSuffix\def\sigman(#1)#2{\sigman{#2}\!\left(#1\right)}
-    \newcommand*{\sigmaZeroN}[1]{\Sigma^{0}_{#1}}
-    \WithSuffix\def\sigmaZeroN[#1]#2{\Sigma^{0,#1}_{#2}}
-    % \WithSuffix\def\sigmaZeroN(#1)#2{\sigmaZeroN{#2}\!\left(#1\right)}
-    \newcommand*{\sigmaZeroOne}{\sigmaZeroN{1}}
-    \WithSuffix\def\sigmaZeroOne[#1]{\sigmaZeroN[#1]{1}}
-    % \WithSuffix\def\sigmaZeroOne(#1){\sigmaZeroN[#1]{1}}
-    \newcommand*{\sigmaZeroTwo}{\sigmaZeroN{2}}
-    \WithSuffix\def\sigmaZeroTwo[#1]{\sigmaZeroN[#1]{2}}
-    % \WithSuffix\def\sigmaZeroTwo(#1){\sigmaZeroN[#1]{2}}
-    \newcommand*{\sigmaZeroThree}{\sigmaZeroN{3}}
-    \WithSuffix\def\sigmaZeroThree[#1]{\sigmaZeroN[#1]{3}}
-    % \WithSuffix\def\sigmaZeroThree(#1){\sigmaZeroN[#1]{3}}
 
-
-
-    \newcommand*{\sigmaOneN}[1]{\Sigma^1_{#1}}
-    \WithSuffix\def\sigmaOneN[#1]#2{\Sigma^{1,#1}_{#2}}
-    % \WithSuffix\def\sigmaOneN(#1)#2{\sigmaOneN{#2}\!\left(#1\right)}
-    \newcommand*{\sigmaOneOne}{\sigmaOneN{1}}
-    \WithSuffix\def\sigmaOneOne[#1]{\sigmaOneN[#1]{1}}
-    % \WithSuffix\def\sigmaOneOne(#1){\sigmaOneN[#1]{1}}
-    \newcommand*{\sigmaOneTwo}{\sigmaOneN{2}}
-    \WithSuffix\def\sigmaOneTwo[#1]{\sigmaOneN[#1]{2}}
-    % \WithSuffix\def\sigmaOneTwo(#1){\sigmaOneN[#1]{2}}
-    \newcommand*{\sigmaOneThree}{\sigmaOneN{3}}
-    \WithSuffix\def\sigmaOneThree[#1]{\sigmaOneN[#1]{3}}
-    % \WithSuffix\def\sigmaOneThree(#1){\sigmaOneN[#1]{3}}
-
-
-
-    \newcommand*{\pin}[1]{\Pi_{#1}}
-    \WithSuffix\def\pin[#1]#2{\Pi^{#1}_{#2}}
-    % \WithSuffix\def\pin(#1)#2{\pin{#2}\!\left(#1\right)}
-    \newcommand*{\piZeroN}[1]{\Pi^0_{#1}}
-    \WithSuffix\def\piZeroN[#1]#2{\Pi^{0,#1}_{#2}}
-    % \WithSuffix\def\piZeroN(#1)#2{\piZeroN{#2}\left(#1\right)}
-    \newcommand*{\piZeroOne}{\piZeroN{1}}
-    \WithSuffix\def\piZeroOne[#1]{\piZeroN[#1]{1}}
-    % \WithSuffix\def\piZeroOne(#1){\piZeroN[#1]{1}}
-    \newcommand*{\piZeroTwo}{\piZeroN{2}}
-    \WithSuffix\def\piZeroTwo[#1]{\piZeroN[#1]{2}}
-    % \WithSuffix\def\piZeroTwo(#1){\piZeroN[#1]{2}}
-    \newcommand*{\piZeroThree}{\piZeroN{3}}
-    \WithSuffix\def\piZeroThree[#1]{\piZeroN[#1]{3}}
-    % \WithSuffix\def\piZeroThree(#1){\piZeroN[#1]{3}}
-
-    \newcommand*{\piOneN}[1]{\Pi^1_{#1}}
-    \WithSuffix\def\piOneN[#1]#2{\Pi^{1,#1}_{#2}}
-    % \WithSuffix\def\piOneN(#1)#2{\piOneN{#2}\!\left(#1\right)}
-    \newcommand*{\piOneOne}{\piOneN{1}}
-    \WithSuffix\def\piOneOne[#1]{\piOneN[#1]{1}}
-    % \WithSuffix\def\piOneOne(#1){\piOneN[#1]{1}}
-    \newcommand*{\piOneTwo}{\piOneN{2}}
-    \WithSuffix\def\piOneTwo[#1]{\piOneN[#1]{2}}
-    % \WithSuffix\def\piOneTwo(#1){\piOneN[#1]{2}}
-    \newcommand*{\piOneThree}{\piOneN{3}}
-    \WithSuffix\def\piOneThree[#1]{\piOneN[#1]{3}}
-    % \WithSuffix\def\piOneThree(#1){\piOneN[#1]{3}}
-
-
-
-    %%%ABREVIATIONS
-    \newcommand*{\deltaz}{\deltaN{0}}
-    \newcommand*{\deltazn}{\deltaZeroN}
-    \newcommand*{\deltazii}{\deltaZeroTwo}
-    \newcommand*{\deltazi}{\deltaZeroOne}
-    \newcommand*{\deltazz}{\deltaZeroZero}
-    \newcommand*{\deltaziii}{\deltaZeroThree}
-    \newcommand*{\deltaIn}{\deltaOneN}
-    \newcommand*{\deltaIi}{\deltaOneOne}
-    \newcommand*{\deltaoneone}{\deltaOneOne}
-    \newcommand*{\deltaIii}{\deltaOneTwo}
-    \newcommand*{\deltaIiii}{\deltaOneThree}
-    \newcommand*{\sigmazn}{\sigmaZeroN}
-    \newcommand*{\sigmazi}{\sigmaZeroOne}
-    \newcommand*{\sigmazii}{\sigmaZeroTwo}
-    \newcommand*{\sigmaziii}{\sigmaZeroThree}
-    \newcommand*{\sigmaIn}{\sigmaOneN}
-    \newcommand*{\sigmaIi}{\sigmaOneOne}
-    \newcommand*{\sigmaIii}{\sigmaOneTwo}
-    \newcommand*{\sigmaIiii}{\sigmaOneThree}
-    \newcommand*{\pizn}{\piZeroN}
-    \newcommand*{\pizi}{\piZeroOne}
-    \newcommand*{\pizii}{\piZeroTwo}
-    \newcommand*{\piziii}{\piZeroThree}
-    \newcommand*{\piIn}{\piOneN}
-    \newcommand*{\piIi}{\piOneOne}
-    \newcommand*{\piIii}{\piOneTwo}
-    \newcommand*{\piIiii}{\piOneThree}
-
-    %%%%%%%%%%%%%
-    % \newcommand*{\sigmapizn}[1]{\sigmazn{#1} \union \pizn{#1}}
-    % \WithSuffix\def\sigmapizn[#1]#2{\sigmazn[#1]{#2} \union \pizn[#1]{#2}}
-    % \WithSuffix\def\sigmapizn(#1)#2{\sigmazn[#1]{#2} \union \pizn[#1]{#2}}
-    % \let\pisigmazn=\sigmapizn
-    %%%%%%%%%%%%%%
-
-    %%%%%%%%
-    % Logics
-    %\newcommand*{\equiv}
     \newcommand*{\logic}[2]{\mathcal{L}_{#1,#2}}
-    % \newcommand*{\logicwiw}{\logic{\omega_{1}}{\omega}}
-    % \newcommand*{\Clogic}[2]{\mathcal{CL}_{#1,#2}}
-    % \newcommand*{\FOlogic}{\logic{\omega}{\omega}}
-    % \NewDocumentCommand{\hyplogic}{o}{\Clogic{\omega_{1}}{\omega}\ifthenelse{\isempty{#1}}{}{\left(#1\right)} }
-
-
-
-    %May never use...specific notation for computable formulas...supplanted by \( \sigmazn{\alpha} \) notation.
-    %%%%%%%%%%%
-
-
-
-
-
-    \newcommand*{\Cdeltan}[1]{\CDelta_{#1}}
-    \WithSuffix\def\Cdeltan[#1]#2{\Cdeltan{#2}^{#1}}
-    \newcommand*{\Cpin}[1]{\CPi_{#1}}
-    \WithSuffix\def\Cpin[#1]#2{\Cpin{#2}^{#1}}
-    \newcommand*{\Csigman}[1]{\CSigma_{#1}}
-    \WithSuffix\def\Csigman[#1]#2{\CSigma_{#2}^{#1}}
-
-        \newcommand*{\CdeltaZeroN}[1]{\Cdeltan[0]{#1}}
-    \newcommand*{\CdeltaZeroTwo}{\CdeltaZeroN{2}}
-    \newcommand*{\CdeltaZeroThree}{\CdeltaZeroN{3}}
-    \newcommand*{\CdeltaZeroOne}{\CdeltaZeroN{1}}
-    \newcommand*{\CdeltaZeroZero}{\CdeltaZeroN{0}}
-    \newcommand*{\CdeltaOneN}[1]{\Cdeltan[1]{#1}}
-    \newcommand*{\CdeltaOneOne}{\CdeltaOneN{1}}
-    \newcommand*{\CdeltaOneTwo}{\CdeltaOneN{2}}
-    \newcommand*{\CdeltaOneThree}{\CdeltaOneN{3}}
-        \newcommand*{\CpiZeroN}[1]{\Cpin[0]{#1}}
-    \newcommand*{\CpiOneN}[1]{\Cpin[1]{#1}}
-    \newcommand*{\CpiOneOne}{\CpiOneN{1}}
-    \newcommand*{\CpiOneThree}{\CpiOneN{3}}
-    \newcommand*{\CpiOneTwo}{\CpiOneN{2}}
-    \newcommand*{\CpiZeroOne}{\CpiZeroN{1}}
-    \newcommand*{\CpiZeroThree}{\CpiZeroN{3}}
-    \newcommand*{\CpiZeroTwo}{\CpiZeroN{2}}
-    \newcommand*{\CsigmaOneN}[1]{\Csigman[1]{#1}}
-    \newcommand*{\CsigmaOneOne}{\CsigmaOneN{1}}
-    \newcommand*{\CsigmaOneThree}{\CsigmaOneN{3}}
-    \newcommand*{\CsigmaOneTwo}{\CsigmaOneN{2}}
-    \newcommand*{\CsigmaZeroN}[1]{\Csigman[0]{#1}}
-    \newcommand*{\CsigmaZeroOne}{\CsigmaZeroN{1}}
-    \newcommand*{\CsigmaZeroThree}{\CsigmaZeroN{3}}
-    \newcommand*{\CsigmaZeroTwo}{\CsigmaZeroN{2}}
-
-
-    \WithSuffix\def\CsigmaOneN[#1]#2{\Csigma[1,#1]{#2}}
-    \WithSuffix\def\CsigmaOneOne[#1]{\CsigmaOneN[#1]{1}}
-    \WithSuffix\def\CsigmaOneThree[#1]{\CsigmaOneN[#1]{3}}
-    \WithSuffix\def\CsigmaOneTwo[#1]{\CsigmaOneN[#1]{2}}
-    \WithSuffix\def\CsigmaZeroN[#1]#2{\Csigma[0,#1]{#2}}
-    \WithSuffix\def\CsigmaZeroOne[#1]{\CsigmaZeroN[#1]{1}}
-    \WithSuffix\def\CsigmaZeroThree[#1]{\CsigmaZeroN[#1]{3}}
-    \WithSuffix\def\CsigmaZeroTwo[#1]{\CsigmaZeroN[#1]{2}}
-        \WithSuffix\def\CpiOneN[#1]#2{\Cpi[1,#1]{#2}}
-    \WithSuffix\def\CpiOneOne[#1]{\CpiOneN[#1]{1}}
-    \WithSuffix\def\CpiOneThree[#1]{\CpiOneN[#1]{3}}
-    \WithSuffix\def\CpiOneTwo[#1]{\CpiOneN[#1]{2}}
-    \WithSuffix\def\CpiZeroN[#1]#2{\Cpi[0,#1]{#2}}
-    \WithSuffix\def\CpiZeroOne[#1]{\CpiZeroN[#1]{1}}
-    \WithSuffix\def\CpiZeroThree[#1]{\CpiZeroN[#1]{3}}
-    \WithSuffix\def\CpiZeroTwo[#1]{\CpiZeroN[#1]{2}}
-        \WithSuffix\def\CdeltaOneN[#1]#2{\Cdelta[1,#1]{#2}}
-    \WithSuffix\def\CdeltaOneOne[#1]{\CdeltaOneN[#1]{1}}
-    \WithSuffix\def\CdeltaOneTwo[#1]{\CdeltaOneN[#1]{2}}
-    \WithSuffix\def\CdeltaOneThree[#1]{\CdeltaOneN[#1]{3}}
-        \WithSuffix\def\CdeltaZeroZero[#1]{\CdeltaZeroN[#1]{0}}
-    \WithSuffix\def\CdeltaZeroN[#1]#2{\Cdelta[0,#1]{#2}}
-        \WithSuffix\def\CdeltaZeroTwo[#1]{\CdeltaZeroN[#1]{2}}
-        \WithSuffix\def\CdeltaZeroThree[#1]{\CdeltaZeroN[#1]{3}}
-        \WithSuffix\def\CdeltaZeroOne[#1]{\CdeltaZeroN[#1]{1}}
-
-
-    %%%ABREVIATIONS
-    \newcommand*{\Cdeltaz}{\CdeltaN{0}}
-    \newcommand*{\Cdeltazn}{\CdeltaZeroN}
-    \newcommand*{\Cdeltazii}{\CdeltaZeroTwo}
-    \newcommand*{\Cdeltazi}{\CdeltaZeroOne}
-    \newcommand*{\Cdeltazz}{\CdeltaZeroZero}
-    \newcommand*{\Cdeltaziii}{\CdeltaZeroThree}
-    \newcommand*{\CdeltaIn}{\CdeltaOneN}
-    \newcommand*{\CdeltaIi}{\CdeltaOneOne}
-    \newcommand*{\Cdeltaoneone}{\CdeltaOneOne}
-    \newcommand*{\CdeltaIii}{\CdeltaOneTwo}
-    \newcommand*{\CdeltaIiii}{\CdeltaOneThree}
-    \newcommand*{\Csigmazn}{\CsigmaZeroN}
-    \newcommand*{\Csigmazi}{\CsigmaZeroOne}
-    \newcommand*{\Csigmazii}{\CsigmaZeroTwo}
-    \newcommand*{\Csigmaziii}{\CsigmaZeroThree}
-    \newcommand*{\CsigmaIn}{\CsigmaOneN}
-    \newcommand*{\CsigmaIi}{\CsigmaOneOne}
-    \newcommand*{\CsigmaIii}{\CsigmaOneTwo}
-    \newcommand*{\CsigmaIiii}{\CsigmaOneThree}
-    \newcommand*{\Cpizn}{\CpiZeroN}
-    \newcommand*{\Cpizi}{\CpiZeroOne}
-    \newcommand*{\Cpizii}{\CpiZeroTwo}
-    \newcommand*{\Cpiziii}{\CpiZeroThree}
-    \newcommand*{\CpiIn}{\CpiOneN}
-    \newcommand*{\CpiIi}{\CpiOneOne}
-    \newcommand*{\CpiIii}{\CpiOneTwo}
-    \newcommand*{\CpiIiii}{\CpiOneThree}
-
-%%%BOLDFACE
-
-    \newcommand*{\Deltan}[1]{\utilde{\symbf{\Delta}}_{#1}}
-    \WithSuffix\def\Deltan[#1]#2{\utilde{\symbf{\Delta}}^{#1}_{#2}}
-    % \WithSuffix\def\Deltan(#1)#2{\deltan{#2}\!\left(#1\right)}
-    \newcommand*{\DeltaZeroN}[1]{\utilde{\symbf{\Delta}}^{0}_{#1}}
-    \WithSuffix\def\DeltaZeroN[#1]#2{\utilde{\symbf{\Delta}}^{0,#1}_{#2}}
-    % \WithSuffix\def\DeltaZeroN(#1)#2{\DeltaZeroN{#2}\!\left(#1\right)}
-    \newcommand*{\DeltaZeroTwo}{\DeltaZeroN{2}}
-    \WithSuffix\def\DeltaZeroTwo[#1]{\DeltaZeroN[#1]{2}}
-    % \WithSuffix\def\DeltaZeroTwo(#1){\DeltaZeroN[#1]{2}}
-    \newcommand*{\DeltaZeroThree}{\DeltaZeroN{3}}
-    \WithSuffix\def\DeltaZeroThree[#1]{\DeltaZeroN[#1]{3}}
-    % \WithSuffix\def\DeltaZeroThree(#1){\DeltaZeroN[#1]{3}}
-    \newcommand*{\DeltaZeroOne}{\DeltaZeroN{1}}
-    \WithSuffix\def\DeltaZeroOne[#1]{\DeltaZeroN[#1]{1}}
-    % \WithSuffix\def\DeltaZeroOne(#1){\DeltaZeroN[#1]{1}}
-    \newcommand*{\DeltaZeroZero}{\DeltaZeroN{0}}
-    \WithSuffix\def\DeltaZeroZero[#1]{\DeltaZeroN[#1]{0}}
-    % \WithSuffix\def\DeltaZeroZero(#1){\DeltaZeroN[#1]{0}}
-
-
-    \newcommand*{\DeltaOneN}[1]{\Deltan{#1}^1}
-    \WithSuffix\def\DeltaOneN[#1]#2{\utilde{\symbf{\Delta}}^{1,#1}_{#2}}
-    % \WithSuffix\def\DeltaOneN(#1)#2{\DeltaOneN{#2}\!\left(#1\right)}
-    \newcommand*{\DeltaOneOne}{\DeltaOneN{1}}
-    \WithSuffix\def\DeltaOneOne[#1]{\DeltaOneN[#1]{1}}
-    % \WithSuffix\def\DeltaOneOne(#1){\DeltaOneN[#1]{1}}
-    \newcommand*{\DeltaOneTwo}{\DeltaOneN{2}}
-    \WithSuffix\def\DeltaOneTwo[#1]{\DeltaOneN[#1]{2}}
-    % \WithSuffix\def\DeltaOneTwo(#1){\DeltaOneN[#1]{2}}
-    \newcommand*{\DeltaOneThree}{\DeltaOneN{3}}
-    \WithSuffix\def\DeltaOneThree[#1]{\DeltaOneN[#1]{3}}
-    % \WithSuffix\def\DeltaOneThree(#1){\DeltaOneN[#1]{3}}
-
-
-
-    \newcommand*{\Sigman}[1]{\utilde{\symbf{\Sigma}}_{#1}}
-    \WithSuffix\def\Sigman[#1]#2{\utilde{\symbf{\Sigma}}^{#1}_{#2}}
-    % \WithSuffix\def\Sigman(#1)#2{\sigman{#2}\!\left(#1\right)}
-    \newcommand*{\SigmaZeroN}[1]{\utilde{\symbf{\Sigma}}^{0}_{#1}}
-    \WithSuffix\def\SigmaZeroN[#1]#2{\utilde{\symbf{\Sigma}}^{0,#1}_{#2}}
-    % \WithSuffix\def\SigmaZeroN(#1)#2{\SigmaZeroN{#2}\!\left(#1\right)}
-    \newcommand*{\SigmaZeroOne}{\SigmaZeroN{1}}
-    \WithSuffix\def\SigmaZeroOne[#1]{\SigmaZeroN[#1]{1}}
-    % \WithSuffix\def\SigmaZeroOne(#1){\SigmaZeroN[#1]{1}}
-    \newcommand*{\SigmaZeroTwo}{\SigmaZeroN{2}}
-    \WithSuffix\def\SigmaZeroTwo[#1]{\SigmaZeroN[#1]{2}}
-    % \WithSuffix\def\SigmaZeroTwo(#1){\SigmaZeroN[#1]{2}}
-    \newcommand*{\SigmaZeroThree}{\SigmaZeroN{3}}
-    \WithSuffix\def\SigmaZeroThree[#1]{\SigmaZeroN[#1]{3}}
-    % \WithSuffix\def\SigmaZeroThree(#1){\SigmaZeroN[#1]{3}}
-
-
-
-    \newcommand*{\SigmaOneN}[1]{\utilde{\symbf{\Sigma}}^1_{#1}}
-    \WithSuffix\def\SigmaOneN[#1]#2{\utilde{\symbf{\Sigma}}^{1,#1}_{#2}}
-    % \WithSuffix\def\SigmaOneN(#1)#2{\SigmaOneN{#2}\!\left(#1\right)}
-    \newcommand*{\SigmaOneOne}{\SigmaOneN{1}}
-    \WithSuffix\def\SigmaOneOne[#1]{\SigmaOneN[#1]{1}}
-    % \WithSuffix\def\SigmaOneOne(#1){\SigmaOneN[#1]{1}}
-    \newcommand*{\SigmaOneTwo}{\SigmaOneN{2}}
-    \WithSuffix\def\SigmaOneTwo[#1]{\SigmaOneN[#1]{2}}
-    % \WithSuffix\def\SigmaOneTwo(#1){\SigmaOneN[#1]{2}}
-    \newcommand*{\SigmaOneThree}{\SigmaOneN{3}}
-    \WithSuffix\def\SigmaOneThree[#1]{\SigmaOneN[#1]{3}}
-    % \WithSuffix\def\SigmaOneThree(#1){\SigmaOneN[#1]{3}}
-
-
-
-    \newcommand*{\Pin}[1]{\utilde{\symbf{\Pi}}_{#1}}
-    \WithSuffix\def\Pin[#1]#2{\utilde{\symbf{\Pi}}^{#1}_{#2}}
-    % \WithSuffix\def\Pin(#1)#2{\pin{#2}\!\left(#1\right)}
-    \newcommand*{\PiZeroN}[1]{\utilde{\symbf{\Pi}}^0_{#1}}
-    \WithSuffix\def\PiZeroN[#1]#2{\utilde{\symbf{\Pi}}^{0,#1}_{#2}}
-    % \WithSuffix\def\PiZeroN(#1)#2{\PiZeroN{#2}\left(#1\right)}
-    \newcommand*{\PiZeroOne}{\PiZeroN{1}}
-    \WithSuffix\def\PiZeroOne[#1]{\PiZeroN[#1]{1}}
-    % \WithSuffix\def\PiZeroOne(#1){\PiZeroN[#1]{1}}
-    \newcommand*{\PiZeroTwo}{\PiZeroN{2}}
-    \WithSuffix\def\PiZeroTwo[#1]{\PiZeroN[#1]{2}}
-    % \WithSuffix\def\PiZeroTwo(#1){\PiZeroN[#1]{2}}
-    \newcommand*{\PiZeroThree}{\PiZeroN{3}}
-    \WithSuffix\def\PiZeroThree[#1]{\PiZeroN[#1]{3}}
-    % \WithSuffix\def\PiZeroThree(#1){\PiZeroN[#1]{3}}
-
-    \newcommand*{\PiOneN}[1]{\utilde{\symbf{\Pi}}^1_{#1}}
-    \WithSuffix\def\PiOneN[#1]#2{\utilde{\symbf{\Pi}}^{1,#1}_{#2}}
-    % \WithSuffix\def\PiOneN(#1)#2{\PiOneN{#2}\!\left(#1\right)}
-    \newcommand*{\PiOneOne}{\PiOneN{1}}
-    \WithSuffix\def\PiOneOne[#1]{\PiOneN[#1]{1}}
-    % \WithSuffix\def\PiOneOne(#1){\PiOneN[#1]{1}}
-    \newcommand*{\PiOneTwo}{\PiOneN{2}}
-    \WithSuffix\def\PiOneTwo[#1]{\PiOneN[#1]{2}}
-    % \WithSuffix\def\PiOneTwo(#1){\PiOneN[#1]{2}}
-    \newcommand*{\PiOneThree}{\PiOneN{3}}
-    \WithSuffix\def\PiOneThree[#1]{\PiOneN[#1]{3}}
-    % \WithSuffix\def\PiOneThree(#1){\PiOneN[#1]{3}}
-
-
-
-    %%%ABREVIATIONS
-    \newcommand*{\Deltaz}{\deltaN{0}}
-    \newcommand*{\Deltazn}{\DeltaZeroN}
-    \newcommand*{\Deltazii}{\DeltaZeroTwo}
-    \newcommand*{\Deltazi}{\DeltaZeroOne}
-    \newcommand*{\Deltazz}{\DeltaZeroZero}
-    \newcommand*{\Deltaziii}{\DeltaZeroThree}
-    \newcommand*{\DeltaIn}{\DeltaOneN}
-    \newcommand*{\DeltaIi}{\DeltaOneOne}
-    \newcommand*{\Deltaoneone}{\DeltaOneOne}
-    \newcommand*{\DeltaIii}{\DeltaOneTwo}
-    \newcommand*{\DeltaIiii}{\DeltaOneThree}
-    \newcommand*{\Sigmazn}{\SigmaZeroN}
-    \newcommand*{\Sigmazi}{\SigmaZeroOne}
-    \newcommand*{\Sigmazii}{\SigmaZeroTwo}
-    \newcommand*{\Sigmaziii}{\SigmaZeroThree}
-    \newcommand*{\SigmaIn}{\SigmaOneN}
-    \newcommand*{\SigmaIi}{\SigmaOneOne}
-    \newcommand*{\SigmaIii}{\SigmaOneTwo}
-    \newcommand*{\SigmaIiii}{\SigmaOneThree}
-    \newcommand*{\Pizn}{\PiZeroN}
-    \newcommand*{\Pizi}{\PiZeroOne}
-    \newcommand*{\Pizii}{\PiZeroTwo}
-    \newcommand*{\Piziii}{\PiZeroThree}
-    \newcommand*{\PiIn}{\PiOneN}
-    \newcommand*{\PiIi}{\PiOneOne}
-    \newcommand*{\PiIii}{\PiOneTwo}
-    \newcommand*{\PiIiii}{\PiOneThree}
-
-
-
-
-
-
 \fi
 
 
@@ -1641,6 +1185,8 @@
     \@packinfo{Spaces loading.}
 
     \providecommand*{\bstrs}{2^{<\omega}}
+    \NewDocumentCommand{\cbstrs}{}{{2^{< \omega}}^{< \omega}}
+    \newcommand{\bpfuncs}{{\lbrace 0,1, \diverge \rbrace}^{< \omega}}
     \providecommand*{\wstrs}{\omega^{<\omega}}
 
     \providecommand*{\cantor}{2^{\omega}}
@@ -1654,6 +1200,31 @@
 
 
 
+    \newcommand\quotient at recthy[2]{
+        \mathchoice
+            {% \displaystyle
+                \text{\raise1ex\hbox{$#1$}\Big/\lower1ex\hbox{$#2$}}%
+            }
+            {% \textstyle
+                #1\,/\,#2
+            }
+            {% \scriptstyle
+                #1\,/\,#2
+            }
+            {% \scriptscriptstyle  
+                #1\,/\,#2
+            }
+    }
+    \DeclareRobustCommand{\unlhdneq at recthy}{\mathrel{\text{$\m at th\@unlhdneq at recthy$}}}
+    \newcommand{\@unlhdneq at recthy}{%
+      \ooalign{$\lneq$\cr\raise.22ex\hbox{$\lhd$}\cr}%
+    }
+    \DeclareRobustCommand{\unrhdneq at recthy}{\mathrel{\text{$\m at th\@unrhdneq at recthy$}}}
+    \newcommand{\@unrhdneq at recthy}{%
+      \ooalign{$\gneq$\cr\raise.22ex\hbox{$\rhd$}\cr}%
+    }
+  %   \newcommand*{\unlhdneq at recthy}{%
+  % \mathrel{\ooalign{$\lneq$\cr\raise.22ex\hbox{$\lhd$}\cr}}}
 
 
 \ifrecthy at notrees
@@ -1663,6 +1234,10 @@
     \newcommand*{\CBderiv}[2][1]{#2^{\langle#1\rangle}}
     \newcommand*{\pruneTree}[1]{\CBderiv[\infty]{#1}}
     \newcommand*{\hgt}[1]{\lVert #1 \rVert}
+    \let\TreeMod=\quotient at recthy
+    \newcommand*{\TreeMul}{\mathbin{\ast}}
+    \newcommand*{\TreeExt}{\mathrel{\triangleleft}}
+    \newcommand*{\TreeExtNeq}{\mathrel{\unlhdneq at recthy}}
 \fi
 
 
@@ -1749,6 +1324,8 @@
 %%% ORdinal notations
 % constructive/recursive ordinals
 
+% \DeclarePairedDelimiter\@recthy at Vert{\lVert}{\rVert}
+
 \ifrecthy at noordinalnotations
     \@packinfo{No ordinal notations loading.}
 \else
@@ -1756,22 +1333,11 @@
 
 \providecommand*{\wck}{\ensuremath{\omega^{\mathrm{CK}}_1}}
   % \newcommand*{\ordtype}[1]{\ensuremath{\@recthy at abs{#1}_{\kleeneO}}}
-    \newcommand*{\ordzero}{\ensuremath{0}}
+    % \newcommand*{\ordzero}{\ensuremath{0}}
   \def\kleeneOSYM{\mathcal{O}}
-   \NewDocumentCommand{\kleeneO}{sD(){}oD(){}}{{
-       \kleeneOSYM^{#2#4}_{%
-            \IfNoValueTF{#1}{%
-                \IfNoValueTF{#3}{}{%
-                    \abs{#3}}% 
-                }%
-                {%
-                    1%
-                    \IfNoValueTF{#3}{}{%
-                        , \abs{#3}
-                    }%
-                }%
-        }%
-    }}
+     \NewDocumentCommand{\kleeneO}{st+t-D(){}o}{\IfBooleanTF{#2}{\vphantom{\kleeneOSYM}^{+}{\kleeneOSYM}}{\IfBooleanTF{#3}{\overrightarrow{\kleeneOSYM}}{\kleeneOSYM}}^{#4}_{\IfBooleanTF{#1}{1\IfValueTF{#5}{,\, #5}{}}{\IfValueTF{#5}{#5}{}}}}
+     \newcommand*{\Ouniq}{\kleeneO*}
+
     % \newcommand*{\kleeneO}{\let\@PMG at parenarg\@PMG at undefined\let\@PMG at braketarg\@PMG at undefined\@kleeneObody}
     % \newcommand*{\@kleeneObody}{\kleeneOSYM\ifdefined\@PMG at parenarg
     % ^{\@PMG at parenarg}%
@@ -1786,32 +1352,69 @@
 % \newcommand*{\kleeneObelow}[2][]{\kleeneOSYM_{<#2\ifthenelse{\isempty{#1}}{}{, #1}}}
 % \let\kleeneOless\kleeneObelow
 
-    \newcommand*{\kleeneOuniq}{\kleeneO*}
-    \let\ordNotations=\kleeneO
-    \let\uniqOrdNotations=\kleeneOuniq
-    \newcommand*{\kleeneNum}[1]{{#1}_{\kleeneO}}
-    \newcommand*{\kleeneZero}{\kleeneNum{0}}
-    \newcommand*{\kleeneOne}{\kleeneNum{1}}
-    \NewDocumentCommand{\kleeneless}{o}{<_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
-    \let\kleenel=\kleeneless
-    \NewDocumentCommand{\kleeneleq}{o}{\leq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
-    \NewDocumentCommand{\kleenenless}{o}{\nless_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
-    \let\kleenenl=\kleenenless
-    \NewDocumentCommand{\kleenenleq}{o}{\nleq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
-    \NewDocumentCommand{\kleenegtr}{o}{>_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
-    \let\kleeneg=\kleenegtr
-    \NewDocumentCommand{\kleenegeq}{o}{\geq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
-    \NewDocumentCommand{\kleenengtr}{o}{\ngtr_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
-    \let\kleeneng=\kleenengtr
-    \NewDocumentCommand{\kleenengeq}{o}{\ngeq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
-    \newcommand*{\kleenePlus}{\mathbin{+_{\kleeneO}}}
-    \newcommand*{\kleeneMul}{\cdot_{\kleeneO}}
-    \newcommand*{\kleenehgt}[1]{\lVert #1\rVert_{\kleeneO}}
-    \let\kleeneHgt=\kleenehgt
+   
+    
+    % \NewDocumentCommand{\Obelow}{sm}{\IfNoValueTF{#1}{\kleeneO[#1]}{\kleeneO*[#1]}}
+    % \NewDocumentCommand{\ObelowOrd}{sm}{\IfNoValueTF{#1}{\kleeneO[\abs{#1}]}{\kleeneO*[\abs{#1}]}}
+    % \let\uniqOrdNotations=\kleeneOuniq
+    % \newcommand*{\kleeneNum}[1]{{#1}_{\kleeneOSYM}}
+    \NewDocumentCommand{\Oless}{o}{<_{\kleeneOSYM\IfNoValueTF{#1}{}{, #1}}}
+    % \let\kleenel=\kleeneless
+    \NewDocumentCommand{\Oleq}{o}{\leq_{\kleeneOSYM\IfNoValueTF{#1}{}{,#1}}}
+    \NewDocumentCommand{\Onless}{o}{\nless_{\kleeneOSYM\IfNoValueTF{#1}{}{,#1}}}
+    % \let\kleenenl=\kleenenless
+    \NewDocumentCommand{\Onleq}{o}{\nleq_{\kleeneOSYM\IfNoValueTF{#1}{}{,#1}}}
+    \NewDocumentCommand{\Ogtr}{o}{>_{\kleeneOSYM\IfNoValueTF{#1}{}{,#1}}}
+    % \let\kleeneg=\kleenegtr
+    \NewDocumentCommand{\Ogeq}{o}{\geq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    \NewDocumentCommand{\Ongtr}{o}{\ngtr_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    % \let\kleeneng=\kleenengtr
+    \NewDocumentCommand{\Ongeq}{o}{\ngeq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    \newcommand*{\Oadd}{\mathbin{+_{\kleeneOSYM}}}
+    \newcommand*{\Omul}{\times_{\kleeneOSYM}}
+    \NewDocumentCommand{\Ohgt}{sm}{\IfBooleanT{#1}{\left}\lVert #2 \IfBooleanT{#1}{\right}\rVert_{\kleeneOSYM}}
+    % \newcommand*{\Ohgt}[1]{\lVert #1\rVert_{\kleeneOSYM}}
+    \let\Oabs=\Ohgt
     % \let\hgtO=\kleenehgt
-    \newcommand*{\kleenelim}[2]{{#1}_{[#2]}}
-    \newcommand*{\kleenepred}[1]{{#1}^{-}}
+    \newcommand*{\Olim}[2]{{#1}_{[#2]}}
+    \newcommand*{\Opred}[1]{{#1}^{-}}
+    \NewDocumentCommand{\Ofunc}{mod()}{{\left\{ #1 \right\}}^{\kleeneOSYM}\IfValueTF{#2}{_{#2}}{}\IfValueTF{#3}{\left(#3\right)}{}}
 
+    % \ifrecthy at shortO
+    %   \@packinfo{Short O enabled (disable if you define O to be a macro elsewhere).}
+    %   \let\Oless=\kleeneless
+    %   % \NewDocumentCommand{\Oless}{o}{<_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    %   \newcommand*{\Ouniq}{\kleeneO*}
+    % % \let\kleenel=\kleeneless
+    %   \let\Oleq=\kleeneleq
+    %   \let\Onless=\kleenenless
+    %   \let\Onleq=\kleenenleq
+    %   \let\Ogtr=\kleenegtr
+
+
+    % % \NewDocumentCommand{\Oleq}{o}{\leq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    % % \NewDocumentCommand{\Onless}{o}{\nless_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    % % \let\Onl=\kleenenless
+    % % \NewDocumentCommand{\Onleq}{o}{\nleq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    % \NewDocumentCommand{\Ogtr}{o}{>_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    % % \let\Og=\kleenegtr
+    % \NewDocumentCommand{\Ogeq}{o}{\geq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    % \NewDocumentCommand{\Ongtr}{o}{\ngtr_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    % \let\Ongeq=\kleenengeq
+    % \NewDocumentCommand{\Ongeq}{o}{\ngeq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
+    % \newcommand*{\OPlus}{\mathbin{+_{\kleeneO}}}
+    % % \newcommand*{\kleeneMul}{\cdot_{\kleeneO}}
+    % \newcommand*{\Oabs}[1]{\lvert #1\rvert_{\kleeneOSYM}}
+    % % \let\Oabs=\Ohgt
+    % % \let\kleeneHgt=\kleenehgt
+    % % \let\hgtO=\kleenehgt
+
+    % % \newcommand*{\Ofunc}[2]{\lbracket{#1}\rbracket^{\kleeneOSYM}\left(#2\right)}}
+    % % \newcommand*{\kleenepred}[1]{{#1}^{-}}
+    % % \newcomand*{\limOrd}
+    % % \DeclareMathOperator{\limO}
+    % \else
+    % \fi
 \fi
 
 
@@ -1830,16 +1433,21 @@
     \@packinfo{No forcing loading.}
 \else
     \@packinfo{forcing loading.}
-    \providecommand*{\forces}{\def\@PMG at frcparenarg{}\def\@PMG at frcbraketarg{}\def\@PMG at curfrcsym{\Vdash}\@forcesBody}
+    \def\@PMG at curfrcsym{\Vdash}
+    \providecommand*{\forces}{\def\@PMG at frcparenarg{}\def\@PMG at frcbraketarg{}\@forcesBody}
     \newcommand*{\@forcesBody}{\mathrel{{\@PMG at curfrcsym}^{\@PMG at frcparenarg}_{\@PMG at frcbraketarg}}}
     \WithSuffix\def\@forcesBody(#1){\def\@PMG at frcparenarg{#1}\@forcesBody}
     \WithSuffix\def\@forcesBody[#1]{\def\@PMG at frcbraketarg{#1}\@forcesBody}
     \WithSuffix\def\@forcesBody*{\let\@PMG at curfrcsym=\@PMG at VdashStar\@forcesBody}
+    % \newcommand*{\wforces}[]{\forces(w)[#1]}
+    \NewDocumentCommand{\wforces}{d()O{}}{{\forces(w\IfValueT{#1}{, #1})[#2]}}
+    % \newcommand*{\wforces}[1][]{\forces(w)[#1]}
+    % \newcommand*{\wforces}[1][]{\mathrel{{\@PMG at curfrcsym}^{w}_{#1}}}
 
     % \long\def\forces@[#1][#2]{\Vdash^{#2}_{#1}}
     % \newcommand{\forces}{\optparams{\forces@}{[][]}%
     % }
-    \providecommand*{\frc}{\forces}
+    % \providecommand*{\frc}{\forces}
 \fi
 
 
@@ -1848,20 +1456,16 @@
 %%%ABREVIATIONS
 
 
-%Degree Classes
-\ifrecthy at nodegclasses
-    \@packinfo{No degree classes loading.}
-\else
-    \@packinfo{Degree classes loading.}
-    \newcommand*{\Tdegrees}{\ensuremath{\mathscr{D}}}
-    \newcommand*{\REdegrees}{\ensuremath{\mathscr{R}}}
-    \newcommand{\Low}[1][]{\ensuremath{ \text{Low}^{#1} }}
-    \newcommand{\LowN}[2][]{\ensuremath{ \text{Low}^{#1}_{#2} }}
-    \newcommand{\lowN}[2][]{\ensuremath{ \mathcal{L}^{#1}_{#2} }}
-\fi
+% %Degree Classes
+% \ifrecthy at nodegclasses
+%     \@packinfo{No degree classes loading.}
+% \else
+%     \@packinfo{Degree classes loading.}
 
+% \fi
 
 
+
 \ifrecthy at nocomputations
     \@packinfo{No computations loading.}
 \else
@@ -1874,74 +1478,20 @@
     %\newcommand*{\brecf}[3][]{\brecfSYM^{#1}_{#2}\ifthenelse{\isempty{#3}}{}{\left(#3\right)}}
     %\recfnl[d]{i}{Y}{x} gives i-th d-recursive functional operating on set Y and integer x
 
-    \NewDocumentCommand{\recfnl at improved}{oD(){}m!G{#2}!g!d()}{{
+    \NewDocumentCommand{\recfnl}{oD(){}m!G{#2}!g!d()}{{
       \def\temp at pmg@arg{}
       \IfValueTF{#5}{\ifthenelse{\isempty{#5}}{}{\def\temp at pmg@arg{; #5}}}{\IfValueTF{#6}{\ifthenelse{\isempty{#6}}{}{\def\temp at pmg@arg{; #6}}}}
         \@recthy at recfnlSYM_{#3\IfValueT{#1}{, #1}}\ifthenelse{\isempty{#4}}{}{\!\left(#4\temp at pmg@arg \right)}
     }}
 
-    \NewDocumentCommand{\recfnl at threeSix}{omm!g!d()}{{
-      \def\temp at pmg@arg{}
-      \IfValueTF{#4}{\ifthenelse{\isempty{#4}}{}{\def\temp at pmg@arg{; #4}}}{\IfValueTF{#5}{\ifthenelse{\isempty{#5}}{}{\def\temp at pmg@arg{; #5}}}}
-        \@recthy at recfnlSYM_{#2\IfValueT{#1}{, #1}}\ifthenelse{\isempty{#3}}{}{\!\left(#3\temp at pmg@arg \right)}
-    }}
-    \newcommand*{\recfnl at threeFive}[4][]{\@recthy at recfnlSYM_{#2\ifthenelse{\isempty{#1}}{}{,{#1}} }%
-        \ifthenelse{\isempty{#4}}%
-        {\ifthenelse{\isempty{#3}}%
-            {}% No args then print no parents
-            {(#3)}
-        }%If no oracle we just refer to the functional without any arguments
-        {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}%
-    }}
-    \let\recfnl=\recfnl at improved
-    \appto{\recthy at rollback@threeSix}{
-      \let\recfnl=\recfnl at threeFive
-    }
-    \appto{\recthy at rollback@threeSeven}{
-      \let\recfnl=\recfnl at threeSix
-    }
+
+
     \NewDocumentCommand{\recf}{od()md()}{
         \@recthy at recfSYM_{#3\IfNoValueTF{#1}{}{\ifthenelse{\isempty{#3}}{}{, }{#1}}}\IfNoValueTF{#2}{}{^{#2}}\IfNoValueTF{#4}{}{(#4)}
     }
 
 
-    % \newcommand*{\thetafnl}[4][]{\Theta_{#2\ifthenelse{\isempty{#1}}{}{,#1} }%
-    %     \ifthenelse{\isempty{#4}}%
-    %     {\ifthenelse{\isempty{#3}}%
-    %         {}% No args then print no parents
-    %         {(#3)}
-    %     }%If no oracle we just refer to the functional without any arguments
-    %     {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}%
-    % }}
 
-    % \newcommand*{\psifnl}[4][]{\Psi_{#2\ifthenelse{\isempty{#1}}{}{,#1} }%
-    %     \ifthenelse{\isempty{#4}}%
-    %     {\ifthenelse{\isempty{#3}}%
-    %         {}% No args then print no parents
-    %         {(#3)}
-    %     }%If no oracle we just refer to the functional without any arguments
-    %     {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}%
-    % }}
-
-    % \newcommand*{\phifnl}[4][]{\Phi_{#2\ifthenelse{\isempty{#1}}{}{,#1} }%
-    %     \ifthenelse{\isempty{#4}}%
-    %     {\ifthenelse{\isempty{#3}}%
-    %         {}% No args then print no parents
-    %         {(#3)}
-    %     }%If no oracle we just refer to the functional without any arguments
-    %     {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}%
-    % }}
-
-    % \newcommand*{\upsilonfnl}[4][]{\Upsilon_{#2\ifthenelse{\isempty{#1}}{}{,#1} }%
-    %     \ifthenelse{\isempty{#4}}%
-    %     {\ifthenelse{\isempty{#3}}%
-    %         {}% No args then print no parents
-    %         {(#3)}
-    %     }%If no oracle we just refer to the functional without any arguments
-    %     {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}%
-    % }}
-
-
     \newcommand*{\cequiv}{\mathrel{\simeq}}
     \newcommand*{\ncequiv}{\mathrel{\not\simeq}}
     \NewDocumentCommand{\conv}{O{}}{\mathpunct{\downarrow}_{#1}}
@@ -1948,7 +1498,7 @@
     \let\converge=\conv
     %\newcommand*{\convs}[1]{\ensuremath{\conv_{#1}}}
 %   \NewDocumentCommand{\nconv}{o}{\mathpunct{\mkern-4mu{\arrownot\mkern 4mu \downarrow}_{#1}}}
-    \NewDocumentCommand{\nconv}{O{}}{\mathpunct{\mkern-4mu{\smallsetminus\mkern 4mu \downarrow}_{#1}}}
+    \NewDocumentCommand{\nconv}{O{}}{\mathpunct{\ndownarrow_{#1}}}
     \newcommand*{\diverge}{\mathpunct{\uparrow}}
     \newcommand*{\use}[1]{\mathop{\@recthy at useSYM}\left[#1\right]}
 % \newcommand*{\use}[1]{\ltx at ifpackageloaded{unicode-math}{\symbffrak{u}}{\mathfrak{u}}\left(#1\right)}
@@ -1956,17 +1506,7 @@
     % W_{#2\IfNoValueTF{#1}{}{, #1}}\IfNoValueTF{#3}{}{^{#3}}
     % }
     \NewDocumentCommand{\REset}{D(){}oD(){#1}mO{#2}}{{W_{#4\IfValueTF{#5}{, #5}{}}^{#3}}}
-    % \newcommand*{\REset}{\let\@PMG at parenarg\@PMG at undefined\let\@PMG at braketarg\@PMG at undefined\@REsetbody}
-    % \newcommand*{\@REsetbody}[1]{W\ifdefined\@PMG at parenarg
-    % ^{\@PMG at parenarg}%
-    % \fi%
-    % \ifdefined\@PMG at braketarg
-    % _{#1, {\@PMG at braketarg}}%
-    % \else
-    % _{#1}
-    % \fi}
-    % \WithSuffix\def\@REsetbody(#1){\def\@PMG at parenarg{#1}\@REsetbody}
-    % \WithSuffix\def\@REsetbody[#1]{\def\@PMG at braketarg{#1}\@REsetbody}
+
     \NewDocumentCommand{\Hop}{oD(){}mD(){}}{\mathcal{H}_{#3\IfValueTF{#1}{, #1}{}}\left(\ifthenelse{\isempty{#2#4}}{\eset}{#2#4} \right)}
     \NewDocumentCommand{\REAop}{st+d()od()mm}{%
       {\IfBooleanTF{#1}%
@@ -1981,48 +1521,54 @@
 
     \newcommand*{\entersat}[1]{\mathbin{\searrow_{#1}}}
     
-
-    % \appto{\recthy at rollback@threeSeven}{
-    %    \NewDocumentCommand{\oneREAop}{st+d()od()m}{{\IfBooleanTF{#1}{\mathcal{J}}{\widehat{\mathcal{J}}}}^{\IfBooleanTF{#1}{\vphantom{x}^\dagger}{}}_{#6\IfValueTF{#4}{, #4}{}} \IfValueTF{#3}{\left(#3\right)}{\IfValueTF{#5}{\left(#5\right)}{}}}
-    % \let\iREAop=\oneREAop
-    % }
-
-    % % \newcommand*{\alphaREAop}[2][]{\mathcal{J}^{#2}_{#1}}
-    % \appto{\recthy at rollback@threeTwo}{
-    %     \let\reaop=\REAop
-    %     \let\alphaREAop=\REAop
-    %     \let\aREAop=\alphaREAop
-    % }
-
-
-    
-
-    % \newcommand*{\oneREAop}[1]{J_{#1}}
-    % \let\iREAop=\oneREAop
-    % \WithSuffix\def\reaop*#1{\oneREAop{#1}}
-    %converges
-
 \fi
 
+\newcommand*{\@recthy at join}{\mathbin{\vee}}
+\newcommand*{\@recthy at meet}{\mathbin{\wedge}}
+\newcommand*{\@recthy at Meet}{\mathop{\bigwedge}}
+\newcommand*{\@recthy at Join}{\mathop{\bigvee}}
 
-
 \ifrecthy at nodegrees
     \@packinfo{No degrees loading.}
 \else
+    \DeclareMathOperator{\@recthy at HYP}{HYP}
+    \NewDocumentCommand{\HYP}{o}{\@recthy at HYP\IfValueTF{#1}{\left(#1\right)}{}}
+    \let\hyp=\HYP
+    \newcommand*{\@recthy at TSYM}{\symbf{T}}
+    \newcommand*{\@recthy at ASYM}{\symbf{a}}
+    \newcommand*{\Tdegrees}{\ensuremath{\mathscr{D}}}
+    \let\strcD=\Tdegrees
+    \newcommand*{\Tdegreesjump}{\ensuremath{\mathscr{D}'}}
+    % \WithSuffix\def\Tdegrees'\Tdegreesjump
+    % \WithSuffix\def\Tdegrees(#1){\Tdegrees\left(#1\right)}
+    % \WithSuffix\def\Tdegreesjump(#1){\Tdegreesjump\left(#1\right)}
+    \newcommand*{\REdegrees}{\ensuremath{\mathscr{R}}}
+    \let\strcR=\REdegrees
+    % \WithSuffix\def\REdegrees(#1){\REdegrees\left(#1\right)}
 
+    \newcommand*{\Adegrees}{\ensuremath{\mathscr{D}_{\@recthy at ASYM}}}
+    \let\strcDa=\Adegrees
+    % \WithSuffix\def\Adegrees(#1){\Adegrees\left(#1\right)}
+    \newcommand*{\Adegreesjump}{\ensuremath{\mathscr{D}'_\@recthy at ASYM}}
+    % \WithSuffix\def\Adegrees'\Adegreesjump
+    % \WithSuffix\def\Adegreesjump(#1){\Adegreesjump\left(#1\right)}
+    \newcommand*{\AREAdegrees}{\ensuremath{\mathscr{R}_\@recthy at ASYM}}
+    \let\strcRa=\AREAdegrees
+    % \WithSuffix\def\AREdegrees(#1){\AREdegrees\left(#1\right)}
+    \newcommand{\Low}[1][]{\ensuremath{ \text{Low}^{#1} }}
+    \newcommand{\LowN}[2][]{\ensuremath{ \text{Low}^{#1}_{#2} }}
+    \newcommand{\lowN}[2][]{\ensuremath{ \mathcal{L}^{#1}_{#2} }}
 
     %%%%%%Turing Degrees
     \def\firsttokof at pmg#1{\first at pmg@rdmxs(#1)}
     \def\first at pmg@rdmxs(#1#2){#1}
 
-    \providecommand*{\Tdegvar}[1]{\symbf{#1}}
-    \providecommand*{\Tdegof}[1]{\utilde{#1}}
+    \let\Tdegvar=\symbf
+    % \providecommand*{\Tdegvar}[1]{\symbf{#1}}
+    % \providecommand*{\Tdegof}[1]{\utilde{#1}}
     \protected\def\Tdeg#1{\ifthenelse{
     % \equal{\detokenize{\Tzero}}{\futurelet\next at pmg\discard#1\@nil\expandafter\detokenize{\next at pmg}}
-                                        \equal{\detokenize{\Tzero}}{\detokenize{#1}} \OR  
-                                        \equal{\detokenize{\Tzeroj}}{\detokenize{#1}} \OR 
-                                        \equal{\detokenize{\Tzerojj}}{\detokenize{#1}} \OR
-                                        \equal{\detokenize{\Tzerojjj}}{\detokenize{#1}} \OR  
+                                        \equal{\detokenize{\Tzero}}{\detokenize{#1}} \OR   
                                         \equal{\detokenize{\zeroj}}{\detokenize{#1}} \OR 
                                         \equal{\detokenize{\zerojj}}{\detokenize{#1}} \OR 
                                         \equal{\detokenize{\zerojjj}}{\detokenize{#1}} \OR 
@@ -2030,6 +1576,7 @@
                                        }{#1}{\Tdegvar{#1}}}
 
 
+   % \let\Adef=\Tdeg
     \providecommand*{\Tjump}[1]{{#1}'}
     \let\jump=\Tjump
     \providecommand*{\jumpn}[2]{{#1}^{(#2)}}
@@ -2040,16 +1587,15 @@
     \providecommand*{\Tzero}{{\Tzerosym}}
     \providecommand*{\zeron}[1]{{\Tzerosym}^{(#1)}}
     \providecommand*{\zeroj}{\jump{{\Tzerosym}}}
-    \let\Tzeroj=\zeroj
     \providecommand*{\zerojj}{\jjump{\Tzerosym}}
     \providecommand*{\zerojjj}{\jjjump{\Tzerosym}}
-    \let\Tzerojj=\zerojj
-    \let\Tzerojjj=\zerojjj
+    % \let\Tzerojj=\zerojj
+    % \let\Tzerojjj=\zerojjj
 
     %%Misc Recursion theory stuff
     %turing equivalent
-    \newcommand*{\@recthy at TSYM}{\symbf{T}}
-    \providecommand*{\Tequiv}{\mathrel{\equiv_{\@recthy at TSYM}}}
+    
+    \providecommand*{\Tequiv}{\mathrel{\equiv_{\@recthy at TSYM}}} %DEPRECIATED
     \providecommand*{\Teq}{\Tequiv}
     \providecommand*{\nTequiv}{\mathrel{\ncong_{\@recthy at TSYM}}}
     \providecommand*{\nTeq}{\nTequiv}
@@ -2062,20 +1608,36 @@
     \providecommand*{\nTleq}{\nleq_{\@recthy at TSYM}}
     \providecommand*{\nTgeq}{\ngeq_{\@recthy at TSYM}}
 
-    \providecommand*{\Tdegjoin}{\mathbin{\vee_{\@recthy at TSYM}}}
-    \providecommand*{\Tdegmeet}{\mathbin{\wedge_{\@recthy at TSYM}}}
-    \providecommand*{\Tmeet}{\Tdegmeet}
-    \providecommand*{\Tsetjoin}{\mathbin{\oplus}}
-    \providecommand*{\TsetJoin}{\mathop{\bigoplus}}
-    \providecommand*{\Tplus}{\Tsetjoin}
-    \providecommand*{\TPlus}{\TsetJoin}
-    \providecommand*{\Tjoin}{\Tsetjoin}
-    \providecommand*{\TJoin}{\TsetJoin}
+    \providecommand*{\Aeq}{\mathrel{\equiv_{\@recthy at ASYM}}}
+    \providecommand*{\nAeq}{\mathrel{\ncong_{\@recthy at ASYM}}}
+    \providecommand*{\Alneq}{\lneq_{\@recthy at ASYM}}
+    \providecommand*{\Aleq}{\leq_{\@recthy at ASYM}}
+    \providecommand*{\Agneq}{\gneq_{\@recthy at ASYM}}
+    \providecommand*{\Ageq}{\geq_{\@recthy at ASYM}}
+    \providecommand*{\Agtr}{>_{\@recthy at ASYM}}
+    \providecommand*{\Aless}{<_{\@recthy at ASYM}}
+    \providecommand*{\nAleq}{\nleq_{\@recthy at ASYM}}
+    \providecommand*{\nAgeq}{\ngeq_{\@recthy at ASYM}}
+
+    % \providecommand*{\Tdegjoin}{\mathbin{\vee}}
+    % \providecommand*{\Tdegmeet}{\mathbin{\wedge}}
+    \let\MnJoin=\Join
+    \let\meet=\@recthy at meet
+    \let\join=\@recthy at join
+    \let\Join=\@recthy at Join
+    \let\Meet=\@recthy at Meet
+    % \let\Tjoin=\degjoin
+    % \let\Tjoin=\degJoin
+    % \let\Tmeet=\degmeet
+    % \let\TMeet=\degMeet
+    \providecommand*{\Tplus}{\mathbin{\oplus}}
+    \providecommand*{\TPlus}{\mathop{\bigoplus}}
+    \let\Oplus=\TPlus
     \providecommand*{\Tincompat}{\incompat at recthy[\@recthy at TSYM]}
-    \providecommand*{\Tincomp}{\Tincompat}
+    % \providecommand*{\Tincomp}{\Tincompat}
     \providecommand*{\Tcompat}{\compat at recthy[\@recthy at TSYM]}
     \providecommand*{\nTincompat}{\Tcompat}
-    \providecommand*{\nTincomp}{\Tcompat}
+    % \providecommand*{\nTincomp}{\Tcompat}
 
 
 
@@ -2094,8 +1656,19 @@
 
 
 
-    \newcommand*{\@recthy at ASYM}{\symbf{a}}
-    \providecommand*{\Adegvar}[1]{\symbf{#1}_{\@recthy at ASYM}}
+    
+    % \providecommand*{\Adegvar}[1]{\symbf{#1}_{\@recthy at ASYM}}
+    % \protected\def\Adeg#1{\ifthenelse{
+
+    %                                     \equal{\detokenize{\Azero}}{\detokenize{#1}} \OR  
+    %                                     \equal{\detokenize{\Azeroj}}{\detokenize{#1}} \OR 
+    %                                     \equal{\detokenize{\Azerojj}}{\detokenize{#1}} \OR
+    %                                     \equal{\detokenize{\Azerojjj}}{\detokenize{#1}} \OR  
+    %                                     \equal{\detokenize{\zeroj}}{\detokenize{#1}} \OR 
+    %                                     \equal{\detokenize{\zerojj}}{\detokenize{#1}} \OR 
+    %                                     \equal{\detokenize{\zerojjj}}{\detokenize{#1}} \OR 
+    %                                     \equal{\string \Azeron }{\expandafter\string \first at pmg@rdmxs(#1)}  
+    %                                    }{#1}{\Adegvar{#1}}}
     \providecommand*{\Aequiv}{\mathrel{\equiv_{\@recthy at ASYM}}}
     \providecommand*{\Aeq}{\Aequiv}
     \providecommand*{\nAequiv}{\mathrel{\ncong_{\@recthy at ASYM}}}
@@ -2114,9 +1687,14 @@
     \newcommand*{\Azerosym}{\symbf{0}_{\@recthy at ASYM}}
     \providecommand*{\Azero}{{\Azerosym}}
     \providecommand*{\Azeron}[1]{{\Azerosym}^{(#1)}}
-    \providecommand*{\Azeroj}{\jump{{\Azerosym}}}
+    \providecommand*{\Azeroj}{\jump{\Azerosym}}
     \providecommand*{\Azerojj}{\jjump{\Azerosym}}
     \providecommand*{\Azerojjj}{\jjjump{\Azerosym}}
+    \providecommand*{\Azeron}[1]{{\Azerosym}^{(#1)}}
+    \providecommand*{\Aincompat}{\incompat at recthy[\@recthy at ASYM]}
+    % \providecommand*{\Tincomp}{\Tincompat}
+    \providecommand*{\Acompat}{\compat at recthy[\@recthy at ASYM]}
+    \providecommand*{\nAincompat}{\Tcompat}
 
 \fi
 



More information about the tex-live-commits mailing list.