design/tpl: {\bullet=>\monoidop}

This abstraction was introduced in the previous commit.
master
Mike Gerwitz 2021-05-26 10:38:36 -04:00
parent ddcdb8d9c6
commit 972ea13623
2 changed files with 53 additions and 52 deletions

View File

@ -87,9 +87,9 @@ We use a $4$-tuple $\Classify\left(\odot,M,v,s\right)$ to represent a
scalar~($s$) matches,
rendered above in columns.\footnote{%
The symbol~$\odot$ was chosen since the binary operation for a monoid
is~$\bullet$
is~$\monoidop$
(see \secref{monoids})
and~$\odot$ looks vaguely like~$(\bullet)$,
and~$\odot$ looks vaguely like~$(\monoidop)$,
representing a portion of the monoid triple.}
A $\land$-classification is pronounced ``conjunctive classification'',
and $\lor$ ``disjunctive''.\footnote{%
@ -159,20 +159,20 @@ For notational convenience,
\end{equation}
\def\cpredmatseq{{M^0_j}_k \bullet\cdots\bullet {M^l_j}_k}
\def\cpredvecseq{v^0_j\bullet\cdots\bullet v^m_j}
\def\cpredscalarseq{s^0\bullet\cdots\bullet s^n}
\def\cpredmatseq{{M^0_j}_k \monoidops {M^l_j}_k}
\def\cpredvecseq{v^0_j\monoidops v^m_j}
\def\cpredscalarseq{s^0\monoidops s^n}
\begin{axiom}[Classification-Predicate Equivalence]\axmlabel{class-pred}
\index{classification!as predicate}
Let $\Classify^c_\gamma\left(\Monoid\Bool\bullet e,M,v,s\right)$ be a
Let $\Classify^c_\gamma\left(\Monoid\Bool\monoidop e,M,v,s\right)$ be a
classification by~\axmref{class-intro}.
We then have the first-order sentence
\begin{equation*}
c \equiv
{} \Exists{j\in J}{\Exists{k\in K_j}\cpredmatseq\bullet\cpredvecseq}
\bullet\cpredscalarseq.
{} \Exists{j\in J}{\Exists{k\in K_j}\cpredmatseq\monoidop\cpredvecseq}
\monoidop\cpredscalarseq.
\end{equation*}
\end{axiom}
@ -180,7 +180,7 @@ For notational convenience,
\begin{axiom}[Classification Yield]\axmlabel{class-yield}
\indexsym\Gamma{classification, yield}
\index{classification!yield (\ensuremath\gamma, \ensuremath\Gamma)}
Let $\Classify^c_\gamma\left(\Monoid\Bool\bullet e,M,v,s\right)$ be a
Let $\Classify^c_\gamma\left(\Monoid\Bool\monoidop e,M,v,s\right)$ be a
classification by~\axmref{class-intro}.
Then,
@ -193,11 +193,11 @@ For notational convenience,
\end{cases} \\
\displaybreak[0]
\exists{j\in J}\Big(\exists{k\in K_j}\Big(
\Gamma^2_{j_k} &= \cpredmatseq\bullet\cpredvecseq\bullet\cpredscalarseq
\Gamma^2_{j_k} &= \cpredmatseq\monoidop\cpredvecseq\monoidop\cpredscalarseq
\Big)\Big), \\
%
\exists{j\in J}\Big(
\Gamma^1_j &= \cpredvecseq\bullet\cpredscalarseq
\Gamma^1_j &= \cpredvecseq\monoidop\cpredscalarseq
\Big), \\
%
\Gamma^0 &= \cpredscalarseq. \\
@ -215,9 +215,9 @@ For notational convenience,
\begin{equation}
c \equiv \Exists{j\in J}{
\Exists{k\in K_j}{\Gamma^2_{j_k}}
\bullet \Gamma^1_j
\monoidop \Gamma^1_j
}
\bullet \Gamma^0.
\monoidop \Gamma^0.
\end{equation}
\end{theorem}
@ -229,37 +229,37 @@ For notational convenience,
\begin{alignat*}{3}
c &\eejJ\Exists{k\in K_j}{\Gamma^2_{j_k}}
\bullet \Gamma^1_j
\monoidop \Gamma^1_j
\Big)
\bullet \Gamma^0
\monoidop \Gamma^0
&&\text{by \axmref{class-yield}} \\
%
&\eejJ\exists{k\in K_j}\Big(
\cpredmatseq \bullet \cpredvecseq \bullet \cpredscalarseq
\cpredmatseq \monoidop \cpredvecseq \monoidop \cpredscalarseq
\Big) \\
&\hphantom{\eejJ}\;\cpredvecseq \bullet \cpredscalarseq \Big)
\bullet \cpredscalarseq, \\
&\hphantom{\eejJ}\;\cpredvecseq \monoidop \cpredscalarseq \Big)
\monoidop \cpredscalarseq, \\
%
&\eejJ\exists{k\in K_j}\Big(\cpredmatseq\Big)
\bullet \cpredvecseq \bullet \cpredscalarseq \\
&\hphantom{\eejJ}\;\cpredvecseq \bullet \cpredscalarseq \Big)
\bullet \cpredscalarseq,
\monoidop \cpredvecseq \monoidop \cpredscalarseq \\
&\hphantom{\eejJ}\;\cpredvecseq \monoidop \cpredscalarseq \Big)
\monoidop \cpredscalarseq,
&&\text{by \dfnref{quant-conn}} \\
%
&\eejJ\exists{k\in K_j}\Big(\cpredmatseq\Big)
&&\text{by \dfnref{prop-taut}} \\
&\hphantom{\eejJ}\;\cpredvecseq \bullet \cpredscalarseq \Big)
\bullet \cpredscalarseq, \\
&\hphantom{\eejJ}\;\cpredvecseq \monoidop \cpredscalarseq \Big)
\monoidop \cpredscalarseq, \\
%
&\eejJ\exists{k\in K_j}\Big(\cpredmatseq\Big)
&&\text{by \dfnref{quant-conn}} \\
&\hphantom{\eejJ}\;\cpredvecseq\Big) \bullet \cpredscalarseq
\bullet \cpredscalarseq, \\
&\hphantom{\eejJ}\;\cpredvecseq\Big) \monoidop \cpredscalarseq
\monoidop \cpredscalarseq, \\
%
&\eejJ\exists{k\in K_j}\Big(\cpredmatseq\Big)
&&\text{by \dfnref{prop-taut}} \\
&\hphantom{\eejJ}\;\cpredvecseq\Big)
\bullet \cpredscalarseq.
\monoidop \cpredscalarseq.
\tag*{\qedhere} \\
\end{alignat*}
\end{proof}
@ -268,7 +268,7 @@ For notational convenience,
\begin{lemma}[Classification Predicate Vacuity]\lemlabel{class-pred-vacu}
\index{classification!vacuity|(}
Let $\Classify^c_\gamma\left(\Monoid\Bool\bullet e,\emptyset,\emptyset,\emptyset\right)$
Let $\Classify^c_\gamma\left(\Monoid\Bool\monoidop e,\emptyset,\emptyset,\emptyset\right)$
be a classification by~\axmref{class-intro}.
$\odot$ is a monoid by \corref{odot-monoid}.
Then $c \equiv \gamma \equiv e$.
@ -276,13 +276,13 @@ For notational convenience,
\begin{proof}
First consider $c$.
\begin{alignat*}{3}
c &\equiv \Exists{j\in J}{\Exists{k}{e}\bullet e} \bullet e
c &\equiv \Exists{j\in J}{\Exists{k}{e}\monoidop e} \monoidop e
\qquad&&\text{by \dfnref{monoid-seq}} \label{p:cri-c} \\
&\equiv \Exists{j\in J}{e \bullet e} \bullet e
&\equiv \Exists{j\in J}{e \monoidop e} \monoidop e
&&\text{by \dfnref{quant-elim}} \\
&\equiv \Exists{j\in J}{e} \bullet e
&\equiv \Exists{j\in J}{e} \monoidop e
&&\text{by \ref{eq:monoid-identity}} \\
&\equiv e \bullet e
&\equiv e \monoidop e
&&\text{by \dfnref{quant-elim}} \\
&\equiv e.
&&\text{by \ref{eq:monoid-identity}}
@ -331,7 +331,7 @@ These classifications are typically referenced directly for clarity rather
\begin{theorem}[Classification Rank Independence]\thmlabel{class-rank-indep}
\index{classification!rank|(}
Let $\odot=\Monoid\Bool\bullet e$.
Let $\odot=\Monoid\Bool\monoidop e$.
Then,
\begin{equation}
\Classify_\gamma\left(\odot,M,v,s\right)
@ -361,15 +361,15 @@ These classifications are typically referenced directly for clarity rather
\begin{multline}\label{eq:rank-indep-goal}
\Exists{j\in J}{
\Exists{k\in K_j}{\cpredmatseq}
\bullet \cpredvecseq
\monoidop \cpredvecseq
}
\bullet \cpredscalarseq \\
\monoidop \cpredscalarseq \\
\equiv c \equiv
\Exists{j\in J}{
\Exists{k\in K_j}{\gamma'''_{j_k}}
\bullet \gamma''_j
\monoidop \gamma''_j
}
\bullet \gamma'.
\monoidop \gamma'.
\end{multline}
By \axmref{class-yield},
@ -729,9 +729,9 @@ We therefore establish a relationship to the notation of linear algebra
\begin{equation}\label{eq:prop-vec}
\begin{aligned}
c &\equiv \Exists{j\in J}{\cpredvecseq}, \\
&\equiv \left(v^0_0\bullet\cdots\bullet v^m_0\right)
&\equiv \left(v^0_0\monoidops v^m_0\right)
\lor\cdots\lor
\left(v^0_{|J|-1}\bullet\cdots\bullet v^m_{|J|-1}\right),
\left(v^0_{|J|-1}\monoidops v^m_{|J|-1}\right),
\end{aligned}
\end{equation}
which is a propositional formula.
@ -741,9 +741,9 @@ We therefore establish a relationship to the notation of linear algebra
\begin{align*}
c &\equiv \Exists{j\in J}{\Exists{k\in K_j}{\cpredmatseq}}, \nonumber\\
&\equiv \Exists{j\in J}{
\left({M^0_j}_0\bullet\cdots\bullet{M^0_j}_{|K_j|-1}\right)
\left({M^0_j}_0\monoidops{M^0_j}_{|K_j|-1}\right)
\lor\cdots\lor
\left({M^l_j}_0\bullet\cdots\bullet{M^l_j}_{|K_j|-1}\right)
\left({M^l_j}_0\monoidops{M^l_j}_{|K_j|-1}\right)
},
\end{align*}
and then proceed as in~\ref{eq:prop-vec}.

View File

@ -329,15 +329,16 @@ Given that, we have $f\bicomp{[]} = f\bicomp{[A]}$ for functions returning
\index{abstract algebra!monoid}
\index{monoid|see abstract algebra, monoid}
\begin{definition}[Monoid]\dfnlabel{monoid}
Let $S$ be some set. A \dfn{monoid} is a triple $\Monoid S\bullet e$
Let $S$ be some set. A \dfn{monoid} is a triple $\Monoid S\monoidop e$
with the axioms
\begin{align}
\bullet &: S\times S \rightarrow S
\monoidop &: S\times S \rightarrow S
\tag{Monoid Binary Closure} \\
\Forall{a,b,c\in S&}{a\bullet(b\bullet c) = (a\bullet b)\bullet c)},
\tag{Monoid Associativity} \\
\Exists{e\in S&}{\Forall{a\in S}{e\bullet a = a\bullet e = a}}.
\Forall{a,b,c\in S&}{
a\monoidop(b\monoidop c) = (a\monoidop b)\monoidop c)
}, \tag{Monoid Associativity} \\
\Exists{e\in S&}{\Forall{a\in S}{e\monoidop a = a\monoidop e = a}}.
\tag{Monoid Identity}\label{eq:monoid-identity}
\end{align}
\end{definition}
@ -347,35 +348,35 @@ Given that, we have $f\bicomp{[]} = f\bicomp{[A]}$ for functions returning
Monoids originate from abstract algebra.
A monoid is a semigroup with an added identity element~$e$.
Only the identity element must be commutative,
but if the binary operation~$\bullet$ is \emph{also} commutative,
but if the binary operation~$\monoidop$ is \emph{also} commutative,
then the monoid is a \dfn{commutative monoid}.\footnote{%
A commutative monoid is less frequently referred to as an
\dfn{abelian monoid},
related to the common term \dfn{abelian group}.}
Consider some sequence of operations
$x_0 \bullet\cdots\bullet x_n \in S$.
$x_0 \monoidops x_n \in S$.
Intuitively,
a monoid tells us how to combine that sequence into a single element
of~$S$.
When the sequence has one or zero elements,
we then use the identity element $e\in S$:
as $x_0 \bullet e = x_0$ in the case of one element
or $e \bullet e = e$ in the case of zero.
as $x_0 \monoidop e = x_0$ in the case of one element
or $e \monoidop e = e$ in the case of zero.
\indexsym\cdots{sequence}
\index{sequence}
\begin{definition}[Monoidic Sequence]\dfnlabel{monoid-seq}
Generally,
given some monoid $\Monoid S\bullet e$ and a sequence $\Fam{x}jJ\in S$
given some monoid $\Monoid S\monoidop e$ and a sequence $\Fam{x}jJ\in S$
where $n<|J|$,
we have
$x_0\bullet x_1\bullet\cdots\bullet x_{n-1}\bullet x_n$
$x_0\monoidop x_1\monoidops x_{n-1}\monoidop x_n$
represent the successive binary operation on all indexed elements
of~$x$.
When it's clear from context that the index is increasing by a constant
of~$1$,
that notation is shortened to $x_0\bullet\cdots\bullet x_n$ to save
that notation is shortened to $x_0\monoidops x_n$ to save
space.
When $|J|=1$, then $n=0$ and we have the sequence $x_0$.
When $|J|=0$, then $n=-1$,