Showing posts with label pullbacks. Show all posts
Showing posts with label pullbacks. Show all posts

Thursday, May 15, 2014

Pullbacks : pairing and matching

The prerequisite to read and understand most, if not all, of this top directory
is no more than a basic knowledge of sets and functions.
Example of a pullback
Here is a simple, elementary example of a pullback:
Suppose you have a set of men and a set of women, each with a political preference.

This situation can be expressed mathematically by
three sets, named Men, Women, and Parties,
connected by two functions,
named PolPref-Men and PolPref-Women (for Political Preference),
with a common target, Parties, but with sources Men and Women.
This situation is called, by categorists, a cospan in the category of sets,
and is usually represented most compactly in one or another of the two one-line formats,
which differ only in where the names of the functions are placed:
PolPref-Men PolPref-Women Men ------------> Parties <-------------- Women PolPref-Men: Men --------> Parties <-------- Women :PolPref-Women
but in preparation for the next step may be drawn as an angle:
Men Women \ / PolPref-Men \ / PolPref-Women \ / _| |_ Parties
You want to construct
a set of all pairs of men and women who have the same political preference.
That is called by categorists the pullback (@ncatlab, @Wikipedia)
(sometimes called "fibered product")
of the above diagram,
and is commonly denoted, for the situation above, as Men ×Parties Women,
and diagrammed as follows:
Men ×Parties Women / \ / \ / \ |_ _| Men Women \ / PolPref-Men \ / PolPref-Women \ / _| |_ Parties ,
where the arrows from Men ×Parties Women are the evident projections.
The general case
For the general case (at least in the category of sets),
we replace the specific sets mentioned above by names representing arbitrary sets:
X ×Z Y / \ / \ / \ |_ _| X Y \ / f \ / g \ / _| |_ Z
Some remarks on terminology

Two arrows that have the same source, such as the top two in the above diagram,
are called a span,
which is a special case of a cone,
which is any number (including, as a very special case, zero)
of arrows having a common source.
In both category theory and graph theory the common vertex is called the source.
(However, in category theory it has been common to call it the domain of the arrow,
based on the case of a function in the category of sets.)

Two arrows that have the same target, such as the bottom two in the above diagram,
are called a cospan (pronounced "co-span"),
which is a special case of a cocone,
which is any number (including, as a very special case, zero)
of arrows having a common target.
In category theory the common vertex is called the target
(or sometimes the codomain,
based on the case of a function in the category of sets).
In graph theory the common vertex is called the sink.

(As to the usefulness of the "span/cospan" terminology,
here is an example of its use in a more complex situation:
Cospans and spans of graphs:
a categorical algebra for the sequential and parallel composition of discrete systems

by L. de Francesco Albasini, N. Sabadini, R.F.C. Walters.)

Constructions of pullbacks
There are three valid and useful ways to construct the pullback.
In the first way, we first form the cartesian product set Men × Women,
then apply the comprehension principle to form the subset
{ (man, woman) ∈ Men × Women : PolPref(man) = PolPref(woman) }
Here "man" and "woman" are variables ranging over, respectively,
the sets Men and Women.
The second way is to form the triple cartesian product set Men × Parties × Women,
then to take the subset of that defined by
{ (man, party, woman) ∈ Men × Parties × Women : PolPref(man) = party = PolPref(woman) }
In the third way, the fibered product,
for each party ∈ Parties we form the subsets { man ∈ Men : PolPref(man) = party } and { woman ∈ Women : PolPref(woman) = party },
i.e. the fibers of PolPref : Men ----> Parties and PolPref : Women ----> Parties over party,
then take the cartesian product of those subsets.
After this is done for each party ∈ Parties
we take the sum (coproduct or disjoint union) of the cartesian products.
The kernel pair: when the two arrows of a cospan are equal
An important special case of the pullback is when
the two arrows that make up the cospan are equal.
Suppose, for example, we start with
PolPref-Men PolPref-Men Men ------------> Parties <------------ Men
to form
Men ×Parties Men / \ / \ / \ |_ _| Men Men \ / PolPref-Men \ / PolPref-Men \ / _| |_ Parties ,

This is usually called by categorists the kernel pair,
although G.M. Kelly called it in a 1969 paper the discriminant.
Why it's called "pullback" and aligning the diagram horizontally and vertically

Drawing the pullback diagram as a diamond balanced on its lowest vertex
is useful in emphasizing that
the two arrows of the cospan play an equal role in defining the pullback, due to that facts that the binary cartesian product is pseudo-symmetric
(i.e., A × B is not equal to B × A, but isomorphic (or bijective)),
while equality is symmetric.
However, in some cases
the arrows play different roles before the pullback is created.
In particular, it often desired to view one of the arrows as being fixed,
while the other arrow is allowed to vary.
To emphasize those different roles,
and also to make drawing such diagrams a lot easier :-)
it is customary in most mathematical writing
to draw the pullback square with horizontal and vertical sides,
rather than sloping sides.
It is often the case that the arrow at the bottom of the square is viewed as fixed,
while the right arrow is viewed as varying.

Here is an example,
where we also use symbols intended to represent arbitrary sets and functions,
not those in the specific example presented above.
(The diagram is presented first using my home-brew HTML format, then using the American Mathematical Society's amsmath cd package.)

X ×Y B --------> B | | | | g | | V V X -------------> Y f

\begin{equation}\begin{CD} X \times_Y B @>>> B\\ @VVV @VVgV\\ X @>>f> Y\\ \end{CD}\end{equation}

Here $f$ is viewed as a fixed arrow,
while $B \xrightarrow{g} Y$ varies over all the arrows into $Y$,
(called "objects over $Y$").
It is this point of view that caused the construction to be called “pullback”:
it “pulls-back” {objects over $Y$} to {objects over $X$}.


For a result about pullbacks which is used repeatedly in both the theory and applications of categories, see “The Pullback Lemma”.

The Pullback Lemma

A key lemma in category theory is the pullback lemma.
Here we prove it in the category $\Set$.
(The diagram in $\Set$ showing the situation) is in (the lower part of the box below); (the functions which implement the isomorphism) are shown (above the diagram).
$$\langle\eltx,\elty,\eltc\rangle \mapsto \langle\eltx,\eltc\rangle \mapsto \langle\eltx,\eltx\functionf,\eltc\rangle \mapsto \langle\eltx,\eltc\rangle$$ $$\begin{array}{} \boxed{ \begin{array}{} \\ (\functionf \functiong)\inv \gamma\\ \langle\eltx,\eltc\rangle \mid \eltx\functionf\functiong \xlongequal{\setZ} \eltc\gamma \\ \\ \\ \\ \end{array} } & \stackrel {\text{PBL}}\cong & \boxed{ \begin{array}{} \setX\times_\setY(\setY\times_\setZ\setC) \\ \functionf\inv\functiong\inv \gamma\\ \langle\eltx, \elty, \eltc\rangle \mid \eltx\functionf \xlongequal{\setY} \elty \wedge \elty\functiong \xlongequal{\setZ} \eltc\gamma \\ \langle\eltx,\eltc\rangle \mid \eltx\functionf\functiong \xlongequal{\setZ} \eltc\gamma \\ (\functionf\functiong)\inv\gamma \\ \setX\times_\setZ\setC \\ \end{array} } & \xrightarrow{\mkern3em} & \boxed{ \begin{array}{} \\ \\ \\ \langle\elty,\eltc\rangle \mid \elty\functiong \xlongequal{\setZ} \eltc\gamma \\ \functiong\inv \gamma \\ \setY\times_\setZ\setC \\ \end{array} } & \xrightarrow{\mkern3em} & \setC \\ && \big\downarrow & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \big\downarrow & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \big\downarrow \rlap\gamma \\ && \setX & \xrightarrow[\textstyle \functionf]{} & \setY & \xrightarrow[\textstyle \functiong]{} & \setZ \\ \end{array}$$

A significant example of the use of this result is:
$$\langle\eltx,\elty\rangle \mapsto \eltx \mapsto \langle\eltx,\eltx\functionf\rangle \mapsto \eltx$$ $$\begin{array}{} \boxed{ \begin{array}{} \\ (\functionf \functionB)\inv \radjtop\\ \eltx \mid \eltx\functionf\functionB \xlongequal{\bftwo} \radjtop \\ \end{array} } & \stackrel {\text{PBL}}\cong & \boxed{ \begin{array}{} \functionf\inv\setB\\ \functionf\inv\functionB\inv \radjtop\\ \langle\eltx, \elty\rangle \mid \eltx\functionf \xlongequal{\setY} \elty \wedge \elty\functionB \xlongequal{\bftwo} \radjtop \\ \end{array} } & \xrightarrow{\mkern3em} & \boxed{ \begin{array}{} \setB \\ \functionB\inv \radjtop\\ \elty \mid \elty\functionB \xlongequal{\bftwo} \radjtop \\ \end{array} } & \xrightarrow{\mkern3em} & \bfone\\ && \big\downarrow & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \big\downarrow & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \big\downarrow \rlap\radjtop\\ && \setX & \xrightarrow[\textstyle \functionf]{} & \setY & \xrightarrow[\textstyle \functionB]{} & \bftwo\\ \end{array}$$

This demonstrates the naturality of the predicate/subset bijection.
The diagram below is a two-dimensional generalization of the ordinary (one-dimensional) pullback lemma stated above:
\[\begin{array}{} && \boxed{\begin{array}{} (\setU \times_\setZ \setY) \times_{(\setV\times_\setZ\setY)}(\setV \times_\setZ \setX)\\ \eltu, \elty, \eltv, \eltx \mid \eltu\functions\functiont \xlongequal{\setZ} \elty\functiong \land \langle \eltu\functions,\elty \rangle \xlongequal{\setV\times_\setZ\setY} \langle \eltv, \eltx\functionf \rangle \land \eltv\functiont \xlongequal{\setZ} \eltx\functionf\functiong \\ \eltu,\eltx \mid \eltu\functions\functiont \xlongequal{\setZ} \eltx\functionf\functiong \\ \setU \times_\setZ \setX \\ \end{array} } & \xrightarrow{} & \boxed{\begin{array}{} (\setV\times_\setZ\setY) \times_\setY \setX \\ \eltv, \elty, \eltx \mid \eltv\functiont \xlongequal{\setZ} \elty\functiong \land \elty \xlongequal{\setY} \eltx\functionf \\ \eltv,\eltx \mid \eltv\functiong \xlongequal{\setZ} \eltx\functionf\functiong \\ \setV \times_\setZ \setX \\ \end{array} } & \xrightarrow{} & \setX & \ni & \eltx \\ && \Bigg\downarrow & \llap {{\raise2ex\hbox{$\lrcorner$}}\mkern1em} \searrow & \Bigg\downarrow & \mkern-2em{\raise2ex\hbox{$\lrcorner$}} & \Bigg\downarrow \rlap\functionf \\ && \boxed{\begin{array}{} \setU \times_\setV (\setV\times_\setZ\setY) \\ \eltu,\eltv,\elty \mid \eltu\functions \xlongequal{\setV} \eltv \land \eltv\functiont \xlongequal{\setZ} \elty\functiong \\ \eltu,\elty \mid \eltu\functionf\functiong \xlongequal{\setZ} \elty\functiong \\ \setU \times_\setZ \setY \\ \end{array} } & \xrightarrow{} & \boxed{\begin{array}{} \\ \\ \eltv,\elty \mid \eltv\functiont \xlongequal{\setZ} \elty\functiong \\ \setV \times_\setZ \setY \\ \end{array} } & \xrightarrow{} & \setY & \ni & \elty \\ && \Bigg\downarrow & \mkern-10em{\raise2ex\hbox{$\lrcorner$}} & \Bigg\downarrow & \llap { {\raise2ex\hbox{$\lrcorner$}} \mkern3em } \searrow & \Bigg\downarrow \rlap\functiong \\ && \setU & \xrightarrow[\textstyle \mkern.8em \functions \mkern.8em]{} & \setV & \xrightarrow[\textstyle \mkern.8em \functiont \mkern.8em]{} & \setZ \\ &&\eltu &&\eltv \\ \end{array} \]

Thursday, April 24, 2014

The fiber product at work (in elementary combinatorics)

In the post “The bimodule of sets, functions and permutations, and its quotients”
we have seen (that $\SetXY$ generates a double quotient square diagram),
and, when $\source{(\setX=[4]=\{0,1,2,3\})}$ and $\target{(\setY=\{\elta,\eltb\})}$,
(the classifications of (the $2^4=16$ elements of $\SetXY$) according to their $\symsX$-orbits or $\symtY$-orbits).

The comparison map into (actually, onto) the fibre product, i.e., pullback,
$\SetXY \longrightarrow \source(\symsX \source\backslash \SetXY\source) \times_{(\symsX \source\backslash \SetXY \target/ \symtY)} \target(\SetXY \target/ \symtY\target)$
when $\source{(\setX=[4]=\{0,1,2,3\})}$ and $\target{(\setY=\{\elta,\eltb\})}$
$\SetXY \rlap{\target{{} \xrightarrow[\mkern42em]{\textstyle \functiont} {}}}$
$\mkern-.5em \SetXY \target/ \symtY$
$\displaystyle { \source{0123 \mid {} } \brack \target{aaaa} }$ $\displaystyle { \source{ {} \mid 0123} \brack \target{bbbb} }$ $0123\mid{}$ ${\cdot} {\cdot} {\cdot} {\cdot}$
$4+0$
$\displaystyle {4 \brace 1}$
$\smash{\llap{\functions}\Bigg\downarrow} \smash{\Rule {1px} {30ex} {25ex}}$ $\displaystyle { \source{012 \mid 3} \brack \target{aaab} }$ $\displaystyle { \source{3 \mid 012} \brack \target{bbba} }$ $012\mid3$
$\begin{subarray}{l} {\cdot} {\cdot} {\cdot}\\ {\cdot}\\ \end{subarray}$

$3+1$
$\displaystyle {4 \brace 2}$
$\displaystyle { \source{013 \mid 2} \brack \target{aaba} }$ $\displaystyle { \source{2 \mid 013} \brack \target{bbab} }$ $013\mid2$
$\displaystyle { \source{023 \mid 1} \brack \target{abaa} }$ $\displaystyle { \source{1 \mid 023} \brack \target{babb} }$ $023\mid1$
$\displaystyle { \source{123 \mid 0} \brack \target{baaa} }$ $\displaystyle { \source{0 \mid 123} \brack \target{abbb} }$ $123\mid0$
$\displaystyle { \source{01 \mid 23} \brack \target{aabb} }, { \source{23 \mid 01} \brack \target{bbaa} }$ $01\mid23$
$\begin{subarray}{l} {\cdot} {\cdot} \\ {\cdot} {\cdot} \\ \end{subarray}$

$2+2$
$\displaystyle { \source{02 \mid 13} \brack \target{abab} }, { \source{13 \mid 02} \brack \target{baba} }$ $02\mid13$
$\curlyvee$ $\displaystyle { \source{03 \mid 12} \brack \target{abba} },{ \source{12 \mid 03} \brack \target{baab} }$ $03\mid12$
$\smash{\begin{array}{} \symsX \source\backslash \SetXY\\ \displaystyle \bigg(\mkern-.35em {\target{{\setY=\{\elta,\eltb\}}} \choose \source{|\setX|=4}} \mkern-.35em\bigg)\\ \end{array}}$ ${\cdot} {\cdot} {\cdot} {\cdot} \mid {}$
$4+0$
$\elta^4$
${} \mid {\cdot} {\cdot} {\cdot} {\cdot}$
$0+4$
$\eltb^4$
${\cdot} {\cdot} {\cdot} \mid \cdot$
$3+1$
$\elta^3\eltb$
$\cdot \mid {\cdot} {\cdot} {\cdot}$
$1+3$
$\elta\eltb^3$
${\cdot \cdot} \mid {\cdot \cdot}$
$2+2$
$\elta^2\eltb^2$
${\cdot} {\cdot} {\cdot} {\cdot}$
$4+0$
$\begin{subarray}{l} {\cdot} {\cdot} {\cdot}\\ {\cdot}\\ \end{subarray}$

$3+1$
$\begin{subarray}{l} {\cdot} {\cdot} \\ {\cdot} {\cdot} \\ \end{subarray}$

$2+2$
$\mkern-2em \symsX \source\backslash \SetXY \target/ \symtY$
$\big( \setY = \{\elta,\eltb\} \big) \calP^{{+}}$ ${\cdot}\mid{}$
$\{\elta\}$
${}\mid{\cdot}$
$\{\eltb\}$
${\cdot}\mid{\cdot}$
$\{\elta,\eltb\}$
$\displaystyle {2 \choose 1}1!$ $\displaystyle {2 \choose 2}2!$
$\text{image}$
$\text{size}$
$1 \text{ or } 2$
The comparison map at right
combines all three aspects.

Here the thick edges bound
1) the three elements in the double quotient (d.q.), and
2) fibres of (those three d.q. elements) with respect to any of (the three maps into (actually, onto) the d.q.).

The thin edges separate
1) elements in the two single quotients, and
2) fibres of (those elements) w.r.t. either of (the two maps $\functions,\functiont$ from $\SetXY$ onto the two single quotients):
(the thin horizontal lines) separate
(the fibres over $\SetXY \target{/\symtY}$),
i.e., (the $\symtY$-orbits $?\symtY$);
(the thin vertical lines) separate
(the fibres over $\source{\symsX\backslash}\SetXY$),
i.e., (the $\symsX$-orbits $?\symsX$).
(The fiber in $\SetXY$ over $2+2$)
has no vertical line,
(its six functions) are all in
(the same $\symsX$-orbit).

The dashed cells correspond to other decompositions of $\SetXY$,
according either to (the images),
or to (the size, $1$ or $2$, of the images),
thus also to
(the size (number of blocks) of
(the kernel-partitions)).
The contents of some of the dashed cells are the factors that appear in the sum $${\target{|\setY|}}^{\source{|\setX|}} = \displaystyle\target{\sum_{i=0}^{|\setY|}} \source{{|\setX| \brace \target i}}\target{i!}\target{{|\setY| \choose i}}$$ when ($\source{\setX=[4]}$), ($\target{\setY=\{\elta,\eltb\}}$),
and ($i=1$ or $2$) —
thus demonstrating, in this case,
the validity of that equality.

The above exhibits four (among many) ways of partitioning/decomposing/classifying $\SetXY$:
orbits under $\symsX$, orbits under $\symtY$, orbits under $\symsX\op\times\symtY$, and by (the size of the image).

This, among other things, provides an example of a two-way classification scheme.

An alternative description of the cells:

Here the thick edges bound
1) the three elements of the double quotient (d.q.), that is,
(the three orbits $\symsX?\symtY$ in $\SetXY$) of (the combined (product) group $\symsX\op\times\symtY$),
containing (two, eight, and six functions),
2) (the unordered $2$-partitions of $4$, $4+0$, $3+1$, $2+2$) associated with, and designating, (those orbits), and
3) the intermediate subsets of (the designators for the single quotients).

The thin edges separate
1) the orbits of the single group actions, that is, of $\symsX\op$ and $\symtY$ in $\SetXY$, and
2) the designators for those orbits as
a) unordered $2$-partitions of $[4]$ (for the $\symtY$ action) and
b) ordered $2$-partitions of $4$ (for the $\symsX$ action).

$\homst {[2]} \Set {\{\elta,\eltb\}}$ $\homst {[2]} \Set {\{\elta,\eltb,\eltc\}}$ $\homst {[2]} \Set {\{\elta,\eltb,\eltc,\eltd\}}$
$\homst {[3]} \Set {\{\elta,\eltb\}}$ $\homst {[3]} \Set {\{\elta,\eltb,\eltc\}}$
$\homst {[4]} \Set {\{\elta,\eltb\}}$
The table at right lists some (clickable) further examples, given below:
The comparison map into (actually, onto) the fibre product, i.e., pullback,
$\SetXY \longrightarrow \source(\symsX \source\backslash \SetXY\source) \times_{(\symsX \source\backslash \SetXY \target/ \symtY)} \target(\SetXY \target/ \symtY\target)$
when $\source{(\setX=[2]=\{0,1\})}$ and $\target{(\setY=\{\elta,\eltb\})}$
$\SetXY \rlap{\target{{} \xrightarrow[\mkern23em]{\textstyle \functiont} {}}}$
$\mkern-1em \SetXY \target/ \symtY$
$\smash{\llap{\functions}\Bigg\downarrow} \smash{\Rule {1px} {10ex} {7.5ex}}$ $\displaystyle { \source{01 \mid {} } \brack \target{aa} }$ $\displaystyle { \source{ {} \mid 01} \brack \target{bb} }$ $01\mid{}$ ${\cdot} {\cdot}$
$2+0$
$\displaystyle {2 \brace 1}$
v
$\displaystyle { \source{0 \mid 1} \brack \target{ab} }, { \source{1 \mid 0} \brack \target{ba} }$ $0\mid1$
$\begin{subarray}{l} {\cdot} \\ {\cdot}\\ \end{subarray}$

$1+1$
$\displaystyle {2 \brace 2}$
$\smash{\begin{array}{} \symsX \source\backslash \SetXY\\ \displaystyle \bigg(\mkern-.35em {\target{{\setY=\{\elta,\eltb\}}} \choose \source{|\setX|=2}} \mkern-.35em\bigg)\\ \end{array}}$ ${\cdot} {\cdot} \mid {}$
$2+0$
$\elta^2$
${} \mid {\cdot} {\cdot}$
$0+2$
$\eltb^2$
${\cdot} \mid {\cdot}$
$1+1$
$\elta\eltb$
${\cdot} {\cdot}$
$2+0$
$\begin{subarray}{l} {\cdot} \\ {\cdot}\\ \end{subarray}$

$1+1$
$\mkern-1.5em \symsX \source\backslash \SetXY \target/ \symtY$
$\big( \setY = \{\elta,\eltb\} \big) \calP^{{+}}$ ${\cdot}\mid{}$
$\{\elta\}$
${}\mid{\cdot}$
$\{\eltb\}$
${\cdot}\mid{\cdot}$
$\{\elta,\eltb\}$
$\displaystyle {2 \choose 1}1!$ $\displaystyle {2 \choose 2}2!$
$\text{image}$
$\text{size}$
$1 \text{ or } 2$
The comparison map into (actually, onto) the fibre product, i.e., pullback,
$\SetXY \longrightarrow \source(\symsX \source\backslash \SetXY\source) \times_{(\symsX \source\backslash \SetXY \target/ \symtY)} \target(\SetXY \target/ \symtY\target)$
when $\source{(\setX=[2]=\{0,1\})}$ and $\target{(\setY=\{\elta,\eltb,\eltc\})}$
$\SetXY \rlap{\target{{} \xrightarrow[\mkern45em]{\textstyle \functiont} {}}}$
$\mkern-.5em \SetXY \target/ \symtY$
$\displaystyle { \source{01 \mid \mid {} } \brack \target{aa} }$ $\displaystyle { \source{ {} \mid 01 \mid {}} \brack \target{bb} }$ $\displaystyle { \source{ {} \mid \mid 01} \brack \target{cc} }$ $01\mid\mid$ ${\cdot} {\cdot}$
$2+0+0$
$\displaystyle {2 \brace 1}$
$\smash{\llap{\functions}\Bigg\downarrow} \smash{\Rule {1px} {12ex} {9ex}}$ $\displaystyle { \source{0 \mid 1 \mid {}} \brack \target{\elta\eltb} }$ $\displaystyle { \source{0 \mid\mid 1} \brack \target{\elta\eltc} }$ $\displaystyle { \source{{} \mid 0 \mid 1 } \brack \target{\eltb\eltc} }$ $0\mid1\mid{}$
$\begin{subarray}{l} {\cdot}\\ {\cdot}\\ \end{subarray}$

$1+1+0$
$\displaystyle {2 \brace 2}$
v
$\displaystyle { \source{1 \mid 0 \mid{} } \brack \target{\eltb\elta} }$ $\displaystyle { \source{1 \mid\mid 0 } \brack \target{\eltc\elta} }$ $\displaystyle { \source{{}\mid1\mid0} \brack \target{\eltc\eltb} }$
$\smash{\begin{array}{} \symsX \source\backslash \SetXY\\ \displaystyle \bigg(\mkern-.35em {\target{{\setY=\{\elta,\eltb,\eltc\}}} \choose \source{|\setX|=2}} \mkern-.35em\bigg)\\ \end{array}}$ ${\cdot} {\cdot} \mid\mid {}$
$2+0+0$
$\elta^2$
${} \mid {\cdot} {\cdot} \mid {}$
$0+2+0$
$\eltb^2$
${} \mid\mid {\cdot} {\cdot}$
$0+0+2$
$\eltc^2$
${\cdot} \mid {\cdot} \mid {}$
$1+1+0$
$\elta\eltb$
${\cdot} \mid\mid {\cdot}$
$1+0+1$
$\elta\eltc$
${} \mid {\cdot} \mid {\cdot}$
$0+1+1$
$\eltb\eltc$
${\cdot} {\cdot}$
$2+0+0$
$\begin{subarray}{l} {\cdot}\\ {\cdot}\\ \end{subarray}$

$1+1+0$
$\mkern-1em \symsX \source\backslash \SetXY \target/ \symtY$
$\big( \setY = \{\elta,\eltb,\eltc\} \big) \calP_{1\leq 2}$ ${\cdot} \mid\mid {}$
$\{\elta\}$
${} \mid {\cdot} \mid {}$
$\{\eltb\}$
${} \mid\mid {\cdot}$
$\{\eltc\}$
${\cdot} \mid {\cdot} \mid {}$
$\{\elta,\eltb\}$
${\cdot} \mid \mid {\cdot}$
$\{\elta,\eltc\}$
${} \mid {\cdot} \mid {\cdot}$
$\{\eltb,\eltc\}$
$\displaystyle {3 \choose 1}1!$ $\displaystyle {3 \choose 2}2!$
$\text{image}$
$\text{size}$
$1 \text{ or } 2$

The comparison map into (actually, onto) the fibre product, i.e., pullback,
$\SetXY \longrightarrow \source(\symsX \source\backslash \SetXY\source) \times_{(\symsX \source\backslash \SetXY \target/ \symtY)} \target(\SetXY \target/ \symtY\target)$
when $\source{(\setX=[2]=\{0,1\})}$ and $\target{(\setY=\{\elta,\eltb,\eltc,\eltd \})}$
$\SetXY \rlap{\target{{} \xrightarrow[\mkern92em]{\textstyle \functiont} {}}}$
$\mkern-.5em \SetXY \target/ \symtY$
$\displaystyle { \source{01 \mid \mid \mid {} } \brack \target{aa} }$ $\displaystyle { \source{ {} \mid 01 \mid \mid {}} \brack \target{bb} }$ $\displaystyle { \source{ {} \mid \mid 01 \mid {}} \brack \target{cc} }$ $\displaystyle { \source{ {} \mid \mid \mid 01} \brack \target{dd} }$ $01\mid\mid\mid$ ${\cdot} {\cdot}$
$2+0+0+0$
$\displaystyle {2 \brace 1}$
$\smash{\llap{\functions}\Bigg\downarrow} \smash{\Rule {1px} {12ex} {9ex}}$ $\displaystyle { \source{0 \mid 1 \mid \mid {}} \brack \target{\elta\eltb} }$ $\displaystyle { \source{0 \mid \mid 1 \mid {}} \brack \target{\elta\eltc} }$ $\displaystyle { \source{0 \mid \mid \mid 1} \brack \target{\elta\eltd} }$ $\displaystyle { \source{{} \mid 0 \mid 1 \mid {} } \brack \target{\eltb\eltc} }$ $\displaystyle { \source{{} \mid 0 \mid \mid 1 } \brack \target{\eltb\eltd} }$ $\displaystyle { \source{{} \mid \mid 0 \mid 1 } \brack \target{\eltc\eltd} }$ $0\mid1\mid\mid{}$
$\begin{subarray}{l} {\cdot}\\ {\cdot}\\ \end{subarray}$

$1+1+0+0$
$\displaystyle {2 \brace 2}$
v
$\displaystyle { \source{1 \mid 0 \mid\mid {} } \brack \target{\eltb\elta} }$ $\displaystyle { \source{1 \mid\mid 0 \mid {} } \brack \target{\eltc\elta} }$ $\displaystyle { \source{1 \mid\mid\mid 0 } \brack \target{\eltd\elta} }$ $\displaystyle { \source{{}\mid1\mid0\mid {}} \brack \target{\eltc\eltb} }$ $\displaystyle { \source{{}\mid1\mid\mid 0} \brack \target{\eltd\eltb} }$ $\displaystyle { \source{{}\mid\mid1\mid0} \brack \target{\eltd\eltc} }$
$\smash{\begin{array}{} \symsX \source\backslash \SetXY\\ \displaystyle \bigg(\mkern-.35em {\target{{\setY=\{\elta,\eltb,\eltc,\eltd\}}} \choose \source{|\setX|=2}} \mkern-.35em\bigg)\\ \end{array}}$ ${\cdot} {\cdot} \mid\mid\mid {}$
$2+0+0+0$
$\elta^2$
${} \mid {\cdot} {\cdot} \mid\mid {}$
$0+2+0+0$
$\eltb^2$
${} \mid\mid {\cdot} {\cdot} \mid{}$
$0+0+2+0$
$\eltc^2$
${} \mid\mid\mid {\cdot} {\cdot}$
$0+0+0+2$
$\eltd^2$
${\cdot} \mid {\cdot} \mid\mid {}$
$1+1+0+0$
$\elta\eltb$
${\cdot} \mid\mid {\cdot}\mid {}$
$1+0+1+0$
$\elta\eltc$
${\cdot} \mid\mid\mid {\cdot}$
$1+0+0+1$
$\elta\eltd$
${}\mid {\cdot} \mid {\cdot} \mid{}$
$0+1+1+0$
$\eltb\eltc$
${}\mid {\cdot} \mid\mid {\cdot}$
$0+1+0+1$
$\eltb\eltd$
${} \mid\mid {\cdot} \mid {\cdot}$
$0+0+1+1$
$\eltc\eltd$
${\cdot} {\cdot}$
$2+0+0+0$
$\begin{subarray}{l} {\cdot}\\ {\cdot}\\ \end{subarray}$

$1+1+0+0$
$\mkern-1em \symsX \source\backslash \SetXY \target/ \symtY$
$\big( \setY = \{\elta,\eltb,\eltc\} \big) \calP_{1\leq 2}$ ${\cdot} \mid\mid\mid {}$
$\{\elta\}$
${} \mid {\cdot} \mid\mid {}$
$\{\eltb\}$
${} \mid\mid {\cdot} \mid {}$
$\{\eltc\}$
${} \mid\mid\mid {\cdot}$
$\{\eltd\}$
${\cdot} \mid {\cdot} \mid \mid {}$
$\{\elta,\eltb\}$
${\cdot} \mid \mid {\cdot} \mid {}$
$\{\elta,\eltc\}$
${\cdot} \mid \mid \mid {\cdot}$
$\{\elta,\eltd\}$
${}\mid {\cdot} \mid {\cdot} \mid {}$
$\{\eltb,\eltc\}$
${}\mid {\cdot} \mid \mid {\cdot}$
$\{\eltb,\eltd\}$
${} \mid\mid {\cdot} \mid {\cdot}$
$\{\eltc,\eltd\}$
$\displaystyle {4 \choose 1}1!$ $\displaystyle {4 \choose 2}2!$
$\text{image}$
$\text{size}$
$1 \text{ or } 2$

The comparison map into (actually, onto) the fibre product, i.e., pullback,
$\SetXY \longrightarrow \source(\symsX \source\backslash \SetXY\source) \times_{(\symsX \source\backslash \SetXY \target/ \symtY)} \target(\SetXY \target/ \symtY\target)$
when $\source{(\setX=[3]=\{0,1,2\})}$ and $\target{(\setY=\{\elta,\eltb\})}$
$\SetXY \rlap{\target{{} \xrightarrow[\mkern25em]{\textstyle \functiont} {}}}$
$\mkern-1em \SetXY \target/ \symtY$
$\displaystyle { \source{012 \mid {} } \brack \target{aaa} }$ $\displaystyle { \source{ {} \mid 012} \brack \target{bbb} }$ $012\mid{}$ ${\cdot} {\cdot} {\cdot}$
$3+0$
$\displaystyle {3 \brace 1}$
$\smash{\llap{\functions}\Bigg\downarrow} \smash{\Rule {1px} {15ex} {10.5ex}}$ $\displaystyle { \source{01 \mid 2} \brack \target{aab} }$ $\displaystyle { \source{2 \mid 01} \brack \target{bba} }$ $01\mid2$
$\begin{subarray}{l} {\cdot} {\cdot} \\ {\cdot}\\ \end{subarray}$

$2+1$
$\displaystyle {3 \brace 2}$
$\displaystyle { \source{02 \mid 1} \brack \target{aba} }$ $\displaystyle { \source{1 \mid 02} \brack \target{bab} }$ $02\mid1$
$\vee$ $\displaystyle { \source{12 \mid 0} \brack \target{baa} }$ $\displaystyle { \source{0 \mid 12} \brack \target{abb} }$ $12\mid0$
$\smash{\begin{array}{} \symsX \source\backslash \SetXY\\ \displaystyle \bigg(\mkern-.35em {\target{{\setY=\{\elta,\eltb\}}} \choose \source{|\setX|=3}} \mkern-.35em\bigg)\\ \end{array}}$ ${\cdot} {\cdot} {\cdot} \mid {}$
$3+0$
$\elta^3$
${} \mid {\cdot} {\cdot} {\cdot}$
$0+3$
$\eltb^3$
${\cdot} {\cdot} \mid {\cdot}$
$2+1$
$\elta^2\eltb$
${\cdot} \mid {\cdot} {\cdot}$
$1+2$
$\elta\eltb^2$
${\cdot} {\cdot} {\cdot}$
$3+0$
$\begin{subarray}{l} {\cdot} {\cdot} \\ {\cdot}\\ \end{subarray}$

$2+1$
$\mkern-1.5em \symsX \source\backslash \SetXY \target/ \symtY$
$\big( \setY = \{\elta,\eltb\} \big) \calP^{{+}}$ ${\cdot}\mid{}$
$\{\elta\}$
${}\mid{\cdot}$
$\{\eltb\}$
${\cdot}\mid{\cdot}$
$\{\elta,\eltb\}$
$\displaystyle {2 \choose 1}1!$ $\displaystyle {2 \choose 2}2!$
$\text{image}$
$\text{size}$
$1 \text{ or } 2$

The comparison map into (actually, onto) the fibre product, i.e., pullback,
$\SetXY \longrightarrow \source(\symsX \source\backslash \SetXY\source) \times_{(\symsX \source\backslash \SetXY \target/ \symtY)} \target(\SetXY \target/ \symtY\target)$
when $\source{(\setX=[3]=\{0,1,2\})}$ and $\target{(\setY=\{\elta,\eltb,\eltc\})}$
$\SetXY \rlap{\target{{} \xrightarrow[\mkern77em]{\textstyle \functiont} {}}}$
$\mkern-.5em \SetXY \target/ \symtY$
$\displaystyle { \source{012 \mid \mid {} } \brack \target{aaa} }$ $\displaystyle { \source{ {} \mid 012 \mid {}} \brack \target{bbb} }$ $\displaystyle { \source{ {} \mid \mid 012} \brack \target{ccc} }$ $012\mid\mid$ ${\cdot} {\cdot} {\cdot}$
$3+0+0$
$\displaystyle {3 \brace 1}$
$\smash{\llap{\functions}\Bigg\downarrow} \smash{\Rule {1px} {20ex} {27ex}}$ $\displaystyle { \source{01 \mid 2 \mid {}} \brack \target{\elta\elta\eltb} }$ $\displaystyle { \source{2\mid 01\mid{}} \brack \target{\eltb\eltb\elta} }$ $\displaystyle { \source{01 \mid\mid 2} \brack \target{\elta\elta\eltc} }$ $\displaystyle { \source{2\mid\mid 01} \brack \target{\eltc\eltc\elta} }$ $\displaystyle { \source{{} \mid 01\mid 2} \brack \target{\eltb\eltb\eltc} }$ $\displaystyle { \source{{} \mid 2 \mid 01} \brack \target{\eltc\eltc\eltb} }$ $01\mid2\mid{}$
$\begin{subarray}{l} {\cdot} {\cdot}\\ {\cdot}\\ \end{subarray}$

$2+1+0$
$\displaystyle {3 \brace 2}$
$\displaystyle { \source{02 \mid 1 \mid{} } \brack \target{\elta\eltb\elta} }$ $\displaystyle { \source{1\mid02\mid{}} \brack \target{\eltb\elta\eltb} }$ $\displaystyle { \source{02 \mid\mid 1 } \brack \target{\elta\eltc\elta} }$ $\displaystyle { \source{1\mid\mid02} \brack \target{\eltc\elta\eltc} }$ $\displaystyle { \source{{}\mid02\mid1} \brack \target{\eltb\eltc\eltb} }$ $\displaystyle { \source{{}\mid1\mid02} \brack \target{\eltc\eltb\eltc} }$ $02\mid1\mid{}$
$\displaystyle { \source{12 \mid 0 \mid{} } \brack \target{\eltb\elta\elta} }$ $\displaystyle { \source{0\mid12\mid{}} \brack \target{\elta\eltb\eltb} }$ $\displaystyle { \source{12 \mid\mid0} \brack \target{\eltc\elta\elta} }$ $\displaystyle { \source{0\mid\mid12} \brack \target{\elta\eltc\eltc} }$ $\displaystyle { \source{{}\mid12\mid0} \brack \target{\eltc\eltb\eltb} }$ $\displaystyle { \source{{}\mid0\mid12} \brack \target{\eltb\eltc\eltc} }$ $12\mid0\mid{}$
v
$\displaystyle {\source{0\mid1\mid2} \brack \target{\elta\eltb\eltc}}, \displaystyle {\source{0\mid2\mid1} \brack \target{\elta\eltc\eltb}},$
$\displaystyle {\source{1\mid0\mid2} \brack \target{\eltb\elta\eltc}}, \displaystyle {\source{2\mid0\mid1} \brack \target{\eltb\eltc\elta}},$
$\displaystyle {\source{1\mid2\mid0} \brack \target{\eltc\elta\eltb}}, \displaystyle {\source{2\mid1\mid0} \brack \target{\eltc\eltb\elta}}\;$
$0\mid1\mid2$
$\begin{subarray}{l} {\cdot}\\ {\cdot}\\ {\cdot}\\ \end{subarray}$

$1+1+1$
$\displaystyle {3 \brace 3}$
$\smash{\begin{array}{} \symsX \source\backslash \SetXY\\ \displaystyle \bigg(\mkern-.35em {\target{{\setY=\{\elta,\eltb,\eltc\}}} \choose \source{|\setX|=3}} \mkern-.35em\bigg)\\ \end{array}}$ ${\cdot} {\cdot} {\cdot} \mid\mid{}$
$3+0+0$
$\elta^3$
${}\mid {\cdot} {\cdot} {\cdot} \mid{}$
$0+3+0$
$\eltb^3$
${}\mid\mid {\cdot} {\cdot} {\cdot}$
$0+0+3$
$\eltc^3$
${\cdot} {\cdot} \mid {\cdot}\mid{}$
$2+1+0$
$\elta^2\eltb$
${\cdot} \mid {\cdot} {\cdot}\mid{}$
$1+2+0$
$\elta\eltb^2$
${\cdot} {\cdot} \mid\mid {\cdot}$
$2+0+1$
$\elta^2\eltc$
${\cdot} \mid\mid {\cdot} {\cdot}$
$1+0+2$
$\elta\eltc^2$
${}\mid {\cdot} {\cdot} \mid {\cdot}$
$0+2+1$
$\eltb^2\eltc$
${}\mid {\cdot} \mid {\cdot} {\cdot}$
$0+1+2$
$\eltb\eltc^2$
${\cdot} \mid {\cdot} \mid {\cdot}$
$1+1+1$
$\elta\eltb\eltc$
${\cdot} {\cdot} {\cdot}$
$3+0+0$
$\begin{subarray}{l} {\cdot} {\cdot}\\ {\cdot}\\ \end{subarray}$

$2+1+0$
$\begin{subarray}{l} {\cdot}\\ {\cdot}\\ {\cdot}\\ \end{subarray}$

$1+1+1$
$\mkern-1em \symsX \source\backslash \SetXY \target/ \symtY$
$\big( \setY = \{\elta,\eltb,\eltc\} \big) \calP^{{+}}$ ${\cdot} \mid\mid {}$
$\{\elta\}$
${} \mid {\cdot} \mid {}$
$\{\eltb\}$
${} \mid\mid {\cdot}$
$\{\eltc\}$
${\cdot} \mid {\cdot} \mid {}$
$\{\elta,\eltb\}$
${\cdot} \mid \mid {\cdot}$
$\{\elta,\eltc\}$
${} \mid {\cdot} \mid {\cdot}$
$\{\eltb,\eltc\}$
${\cdot} \mid {\cdot} \mid {\cdot}$
$\{\elta,\eltb,\eltc\}$
$\displaystyle {3 \choose 1}1!$ $\displaystyle {3 \choose 2}2!$ $\displaystyle {3 \choose 3}3!$
$\text{image}$
$\text{size}$
$1, 2, \text{ or } 3$

References

EC, Stanley, Richard P., Enumerative Combinatorics I, 1986/2011
W, Wikipedia, “Twelvefold way”
BMSFP, “The bimodule of sets, functions and permutations, and its quotients”, 2019
DG12W, “Double groupoids and the twelvefold way”, 2016
PF, “The parts of a function”, 2016
CFP, “Classifying functions by their parts”, 2016
QKA, “The quotient-kernel adjunction”, 2016
KQFC, “Kernels, quotients, and function composition”, 2019

Thursday, March 14, 2013

2 as the Boolean subobject classifier

Version of 2019-01-07:

Our aim is to illustrate the meaning of the term “subobject classifier” (Wikipedia, nLab)
by giving some examples of how the set $\bftwo = \{\ladjbot, \radjtop\}$
serves as a (“the”) subobject classifier in the familiar Boolean topos $\Set$.
Notation: The symbol “$\lrcorner$” indicates that (the square in which it is contained) is (a pullback square),
with (the pullback object) being (that which is bounded by the “$\lrcorner$”).


Basic examples of subobject classification

$\bbox[2ex, border:1px black solid] { \begin{array}{} && \emptyset & \xrightarrow[]{} & \bfone \\ && \llap{\emptyset = 1_\emptyset} \Big\Vert & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \Big\downarrow\rlap\radjtop & \\ && \emptyset & \xrightarrow[\displaystyle \emptyset]{} &\bftwo \\ \end{array} }$ $2^0 = {0 \choose 0} = 1$
$\bbox[2ex, border:1px black solid] { \begin{array}{} & \emptyset & \xrightarrow[]{} & \bfone \\ & \llap{\emptyset}\Big\downarrow & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \Big\downarrow\rlap\radjtop & \\ & \bfone & \xrightarrow[\displaystyle \ladjbot]{} &\bftwo \\ \end{array} }$ $\bbox[2ex, border:1px black solid] { \begin{array}{} & \bfone & \xrightarrow[]{} & \bfone \\ & \llap{1_\bfone} \Big\Vert & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \Big\downarrow\rlap\radjtop & \\ & \bfone & \xrightarrow[\displaystyle \radjtop]{} &\bftwo \\ \end{array} }$ $2^1 = {1 \choose 0} + {1 \choose 1} = 1 + 1 = 2$
$\bbox[2ex, border:1px black solid] { \begin{array}{} & \emptyset & \xrightarrow[]{} & \bfone \\ & \llap{\emptyset}\Big\downarrow & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \Big\downarrow\rlap\radjtop & \\ & \bftwo & \xrightarrow[\displaystyle !\ladjbot]{} &\bftwo \\ \end{array} }$ $\bbox[2ex, border:1px black solid] { \begin{array}{} \{\radjtop\} \cong \bfone & \xrightarrow[]{} & \bfone \\ \llap{\radjtop}\Big\downarrow & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \Big\downarrow\rlap\radjtop & \\ \bftwo & \xrightarrow[\displaystyle 1_\bftwo]{} &\bftwo \\ \end{array} }$ $\bbox[2ex, border:1px black solid] { \begin{array}{} \{\ladjbot\} \cong \bfone & \xrightarrow[]{} & \bfone \\ \llap{\ladjbot}\Big\downarrow & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \Big\downarrow\rlap\radjtop & \\ \bftwo & \xrightarrow[\displaystyle \neg\vphantom{1_\bftwo}]{} &\bftwo \\ \end{array} }$ $\bbox[2ex, border:1px black solid] { \begin{array}{} & \bftwo & \xrightarrow[]{} & \bfone \\ & \llap{1_\bftwo} \Big\Vert & \mkern-1.8em{\raise2ex\hbox{$\lrcorner$}} & \Big\downarrow\rlap\radjtop & \\ & \bftwo & \xrightarrow[\displaystyle !\radjtop]{} &\bftwo \\ \end{array} }$ $\begin{array}{l} 2^2 = (1+1)^2 = (1+1)\cdot(1+1) = \\ = 1\cdot 1 + 1\cdot 1 + 1\cdot 1 + 1\cdot 1 = \\ = 1 + 1 + 1 + 1 = \\ = {2\choose 0} + {2\choose 1} + {2\choose 2} = 1+2+1 =4\\ \bftwo^2 \cong (\ladjbot+\radjtop)^2 = (\ladjbot+\radjtop) \times (\ladjbot+\radjtop) \cong \\ {} \cong \ladjbot\times\ladjbot + \ladjbot\times\radjtop + \radjtop\times\ladjbot + \radjtop\times\radjtop \sim \\ {} \sim {!\ladjbot} + 1_\bftwo + {\neg} + {!\radjtop} \\ \end{array}$
$\bbox[2ex, border:1px black solid] { \begin{array}{lccc} \text{graph} & \radjtop \\ \text{of }\mkern.25em !\ladjbot & \ladjbot & \text{X} & \text{X} \\ \text{output} & & \ladjbot & \ladjbot \\ \text{input} & & \ladjbot & \radjtop \\ \end{array} }$ $\bbox[2ex, border:1px black solid] { \begin{array}{lccc} \text{graph} & \radjtop & & \class {red} {\text{X}} \\ \text{of }\mkern.25em 1_\bftwo & \ladjbot & \text{X} \\ \text{output} & & \ladjbot & \class {red} {\radjtop} \\ \text{input} & & \ladjbot & \radjtop \\ \end{array} }$ $\bbox[2ex, border:1px black solid] { \begin{array}{lccc} \text{graph} & \radjtop & \class {red} {\text{X}} \\ \text{of }\mkern.25em \neg & \ladjbot & & \text{X} \\ \text{output} & & \class {red} {\radjtop} & \ladjbot \\ \text{input} & & \ladjbot & \radjtop \\ \end{array} }$ $\bbox[2ex, border:1px black solid] { \begin{array}{lccc} \text{graph} & \radjtop & \class {red} {\text{X}} & \class {red} {\text{X}} \\ \text{of }\mkern.25em !\radjtop & \ladjbot \\ \text{output} & & \class {red} {\radjtop} & \class {red} {\radjtop} \\ \text{input} & & \ladjbot & \radjtop \\ \end{array} }$



General theorem: 2 is a subobject classifier for Set

For an arbitrary set $\setX\in\Set$, there is a bijection $\Sub(\setX) \cong \hom \setX \Set \bftwo$.
The correspondence between (subsets $\setA \subseteq \setX$, which are also denoted $i_\setA : \setA \rightarrowtail \setX$) and ($\bftwo$-valued predicates $\functionA : \setX \to \bftwo$) is given by:
From subsets to predicates From predicates to subsets
$\bbox[2ex, border:1px black solid] { \begin{array}{} & \functionA & \xrightarrow[]{\displaystyle !} & \bfone \\ & \llap{i_\setA}\Big\downarrow & \mkern-10em{\raise2ex\hbox{$\lrcorner$}} & \Big\downarrow\rlap\radjtop & \\ & X & \xrightarrow[ \displaystyle \boxed{ \begin{array}{} ?\in\functionA\\ (\exists\elta\in\setA)(?=\elta) \\ (\exists\elta)(\elta\in\setA \wedge {?=\elta} \wedge \radjtop) \\ \int^{\elta\in\setA} \hom ? \setX \elta \otimes {!\radjtop} \\ \Lan_{i_\setA} !\radjtop \\ \end{array} } ]{} &\bftwo \\ \end{array} }$ $\bbox[2ex, border:1px black solid] { \begin{array}{} & \boxed{ \begin{array}{} \{ \eltx \mid \functionA_\eltx \}\\ \{ \eltx \mid \functionA_\eltx = \radjtop \}\\ \functionA^{-1}\radjtop\\ \end{array} } & \xrightarrow[]{\displaystyle !} & \bfone \\ & \llap{}\Big\downarrow & \mkern-3em{\raise2ex\hbox{$\lrcorner$}} & \Big\downarrow\rlap\radjtop & \\ & X & \xrightarrow[\displaystyle \functionA]{} &\bftwo \\ \end{array} }$