Skip to content

Instantly share code, notes, and snippets.

@lambdabetaeta
Last active April 8, 2024 14:48
Show Gist options
  • Save lambdabetaeta/4046c03e1d19e35bb42d130b3f3c59c7 to your computer and use it in GitHub Desktop.
Save lambdabetaeta/4046c03e1d19e35bb42d130b3f3c59c7 to your computer and use it in GitHub Desktop.
Macros for lattices
\RequirePackage{amsmath}
\RequirePackage{xparse}
\RequirePackage{bbold}
\NewDocumentCommand{\TV}{}{\mathbb{2}}
\NewDocumentCommand{\Sup}{o}{
\DelimMin{2} \mathop{\bigsqcup\IfValueT{#1}{_{#1}}}
}
\NewDocumentCommand{\DirectedSup}{o}{
\DelimMin{2} \mathop{\sideset{}{^\uparrow}\bigsqcup\IfValueT{#1}{_{#1}}}
}
%% Heyting algebra
\NewDocumentCommand{\HeyExp}{mm}{#1 \Rightarrow #2}
%% Upper and lower sets
\NewDocumentCommand{\Up}{sm}{\textsf{Up}\IfBooleanTF{#1}{\DelimPrn{#2}}{#2}}
\NewDocumentCommand{\UpSet}{sog}{
\mathop{\uparrow\IfValueT{#2}{_{#2}}}
\IfValueT{#3}{\IfBooleanTF{#1}{\DelimPrn{#3}}{#3}}
}
\NewDocumentCommand{\LowSet}{som}{
\mathop{\downarrow\IfValueT{#2}{_{#2}}}\IfBooleanTF{#1}{\DelimPrn{#3}}{#3}
}
%% Filters
\NewDocumentCommand{\Filt}{sm}{\textsf{Filt}\IfBooleanTF{#1}{\DelimPrn{#2}}{#2}}
\NewDocumentCommand{\PrincipalFilt}{sm}{\mathop{\uparrow}\IfBooleanTF{#1}{\DelimPrn{#2}}{#2}}
%% Compact elements
\NewDocumentCommand{\Compact}{m}{\textsf{K}\DelimPrn{#1}}
%% Various categories
\NewDocumentCommand{\POSET}{}{\textbf{Pos}}
\NewDocumentCommand{\POSETOPEN}{}{\textbf{Pos}_{\text{open}}}
\NewDocumentCommand{\LATT}{}{\textbf{Latt}} % Lattices
\NewDocumentCommand{\SEMILATT}{}{\textbf{SLatt}} % Semilattices
\NewDocumentCommand{\CSEMILATT}{}{\textbf{CSLatt}} % Complete semilattices
\NewDocumentCommand{\INFSEMILATT}{}{\textbf{SLatt}_\land} % Inf Semilattices
\NewDocumentCommand{\SUPSEMILATT}{}{\textbf{SLatt}_\lor} % Sup Semilattices
\NewDocumentCommand{\DLATT}{o}{\textbf{DLatt}\IfValueT{#1}{_{#1}}} % Distributive Lattices
\NewDocumentCommand{\CLATT}{}{\textbf{CLatt}} % Complete lattices
\NewDocumentCommand{\CDLATT}{}{\textbf{CDLatt}} % Completely distr. lattices
\NewDocumentCommand{\ALGLATT}{o}{\textbf{AlgLatt}\IfValueT{#1}{_{#1}}}
\NewDocumentCommand{\DALGLATT}{o}{\textbf{DAlgLatt}\IfValueT{#1}{_{#1}}}
\NewDocumentCommand{\COH}{o}{\textbf{Coh}\IfValueT{#1}{_{#1}}}
\NewDocumentCommand{\STABLE}{}{\textbf{Stable}}
%% Stuff from locales
\NewDocumentCommand{\FRAME}{}{\textbf{Frame}} % Frames
\NewDocumentCommand{\PRIMEALGLATT}{}{\textbf{PrAlgLatt}} % Prime algebraic lattices
\NewDocumentCommand{\PRIMEALGLATTCC}{}{\textbf{PrAlgLatt}_{\Rightarrow}}
\NewDocumentCommand{\PRIMEALGLATTCCINJ}{}{\textbf{PrAlgLatt}_{\Rightarrow, \text{inj}}}
\NewDocumentCommand{\PRIMEALGLATTO}{}{\textbf{PrAlgLattO}}
\NewDocumentCommand{\BIMOD}{}{\textbf{Bimod}}
\NewDocumentCommand{\EBIMOD}{}{\textbf{EBimod}}
%% Primes
\NewDocumentCommand{\Primes}{m}{\textsf{Prm}\DelimPrn{#1}}
%% Stuff from the Boolean setting
\NewDocumentCommand{\BOOL}{}{\textbf{Bool}} % Boolean algs
\NewDocumentCommand{\CABA}{}{\textbf{CABA}} % Complete atomic Boolean algs
\NewDocumentCommand{\BAO}{}{\textbf{BAO}} % Boolean algs with ops
\NewDocumentCommand{\CABAO}{}{\textbf{CABAO}} % Complete atomic Boolean algs with ops
%% Domain theory
\NewDocumentCommand{\CPO}{}{\textbf{Cpo}}
\NewDocumentCommand{\CPOs}{}{\textbf{Cpo}_\bot}
\NewDocumentCommand{\Sierpinski}{}{\textbb{O}}
\NewDocumentCommand{\Strict}{}{\multimap}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment