Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
% (find-LATEX "2020closure-operator.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2020closure-operator.tex" :end))
% (defun d () (interactive) (find-pdf-page      "~/LATEX/2020closure-operator.pdf"))
% (defun d () (interactive) (find-pdftools-page "~/LATEX/2020closure-operator.pdf"))
% (defun e () (interactive) (find-LATEX "2020closure-operator.tex"))
% (defun u () (interactive) (find-latex-upload-links "2020closure-operator"))
% (defun v () (interactive) (find-2a '(e) '(d)) (g))
% (find-pdf-page   "~/LATEX/2020closure-operator.pdf")
% (find-sh0 "cp -v  ~/LATEX/2020closure-operator.pdf /tmp/")
% (find-sh0 "cp -v  ~/LATEX/2020closure-operator.pdf /tmp/pen/")
%   file:///home/edrx/LATEX/2020closure-operator.pdf
%               file:///tmp/2020closure-operator.pdf
%           file:///tmp/pen/2020closure-operator.pdf
% http://angg.twu.net/LATEX/2020closure-operator.pdf
% (find-LATEX "2019.mk")

\documentclass[oneside,12pt]{article}
\usepackage[colorlinks,citecolor=DarkRed,urlcolor=DarkRed]{hyperref} % (find-es "tex" "hyperref")
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pict2e}
\usepackage[x11names,svgnames]{xcolor} % (find-es "tex" "xcolor")
%\usepackage{colorweb}                 % (find-es "tex" "colorweb")
%\usepackage{tikz}
%
% (find-dn6 "preamble6.lua" "preamble0")
\usepackage{proof}   % For derivation trees ("%:" lines)
\input diagxy        % For 2D diagrams ("%D" lines)
\xyoption{curve}     % For the ".curve=" feature in 2D diagrams
%
\usepackage{edrx15}               % (find-LATEX "edrx15.sty")
\input edrxaccents.tex            % (find-LATEX "edrxaccents.tex")
\input edrxchars.tex              % (find-LATEX "edrxchars.tex")
\input edrxheadfoot.tex           % (find-LATEX "edrxheadfoot.tex")
\input edrxgac2.tex               % (find-LATEX "edrxgac2.tex")
%
% (find-es "tex" "geometry")
\begin{document}

\catcode`\^^J=10
\directlua{dofile "dednat6load.lua"}  % (find-LATEX "dednat6load.lua")

% (find-angg ".emacs.papers" "johnstone")
% (find-topostheorypage (+ 24  76) "3.1. Topologies")
% (find-topostheorypage (+ 24  77) "3.13. Definition")

(Page 77):

3.13 Definition. Let $\calE$ be any category with pullbacks. A {\sl
  universal closure operation} on $\calE$ is defined by specifying,
for each $X∈\calE$, a closure operation (i.e., an increasing,
order-preserving, idempotent map) on the poset of subobjects of $X$
--- we denote the closure of $X' \monicto X$ by $\ovl{X'} \monicto X$
--- in such a way that closure commutes with pullback along morphisms
of $\calE$; i.e., given $Y \ton{f} X$, we have $f^*(\ovl{X'}) ≅
\ovl{f^*(X')}$ as subobjects of $Y$.

We shall use the words {\sl dense} and {\sl closed} with their usual
meanings relative to a universal closure operation; i.e., $X' \monicto
X$ is dense if $\ovl{X'} ≅ X'$, and closed if $\ovl{X'} ≅ X'$.


\msk

Here is a way to visualize those rules.

First line: a monic map $α:A \monicto B$ factors through its closure
$\ovl{α}:\ovl{A} \monicto B$; the factorization arrow $A \monicto
\ovl{A}$ is not usually named. The closure of $\ovl{α}:\ovl{A}
\monicto B$ is a monic $\ovl{\ovl{α}}:\ovl{\ovl{A}} \monicto B$
isomorphic to $\ovl{α}:\ovl{A} \monicto B$. In a shorter notation,
$A≤\ovl{A}≅\ovl{\ovl{A}}$.

Second line: in the shorter notation the closure operation is
order-preserving iff $A≤B$ implies $\ovl{A}≤\ovl{B}$; more formally,
if $(α:A \monicto C) ≤ (β:B \monicto C)$ implies $(\ovl{α}:\ovl{A}
\monicto C) ≤ (\ovl{β}:\ovl{B} \monicto C)$, where each `$≤$'s between
monics should be read as ``factors through''.

%D diagram ??
%D 2Dx     100 +25 +25 +25 +25 +25
%D 2D  100     A0      B0
%D 2D
%D 2D  +25 A1      B1  B2  B3
%D 2D
%D 2D  +20 C0      D0
%D 2D
%D 2D  +25     C1      D1  D2
%D 2D
%D 2D  +25 C2      D3  D4
%D 2D
%D 2D
%D ren    A0    B0    ==>  B   B
%D ren A1    B1 B2 B3 ==> A  A \ovl{A} \ovl{\ovl{A}}   
%D ren C0    D0       ==> C  C
%D ren    C1    D1 D2 ==>  B  B \ovl{B}
%D ren C2    D3 D4    ==> A  A \ovl{A}
%D
%D (( A1 A0 >-> .plabel= l α
%D    B1 B0 >-> .plabel= l α
%D    B2 B0 >-> .plabel= m \ovl{α}
%D    B3 B0 >-> .plabel= r \ovl{\ovl{α}}
%D    B1 B2 >->
%D    B2 B3 <-> .plabel= a ≅
%D
%D    A0 B1 midpoint .TeX= ⇒          place
%D    C1 D0 midpoint .TeX= ⇒ xy+= 0 5 place
%D
%D    C0 C1 <-< .plabel= r β
%D    C0 C2 <-< .plabel= l α
%D    C1 C2 <-<
%D    D0 D1 <-< .plabel= m β
%D    D0 D2 <-< .plabel= m \ovl{β}
%D    D0 D3 <-< .plabel= l α
%D    D0 D4 <-< .plabel= m \ovl{α}
%D    D1 D2 >->
%D    D1 D3 <-<
%D    D2 D4 <-<
%D    D3 D4 >->
%D ))
%D enddiagram
%D
$$\pu
  \diag{??}
$$

\newpage

The best way to visualize the last rule is by a slight diagrammatic
abuse of of language. We start with a monic $γ:C→D$ and an arrow
$f:B→D$ that is not necessarily a monic, as below. We form their
pullback, and we call the arrow at the left wall $f^*(γ):A \monicto
B$. Let $\ovl{γ}:\ovl{C} \monicto D$ and $\ovl{f^*(γ)}:\ovl{A}
\monicto B$ be the closures of $γ$ and $f^*(γ)$. If we draw everything
as below then the natural way to draw the pullback of $\ovl{γ}:\ovl{C}
\monicto D$ by $f$ would be as an arrow $f^*(\ovl{γ})$ in the same
position as $\ovl{f^*(γ)}:\ovl{A} \monicto B$; what the rule
$\ovl{f^*(γ)}≅f^*(\ovl{γ})$ says is that $\ovl{f^*(γ)}$ and
$f^*(\ovl{γ})$ are isomorphic as subobjects of $B$ --- but we will
draw $\ovl{f^*(γ)}$ and $f^*(\ovl{γ})$ as if they were a single arrow.
%
%D diagram ??
%D 2Dx     100 +25 +25 +35 +25 +25 +25
%D 2D  100 E0      E1  F0      F1
%D 2D
%D 2D  +20                 F2      F3
%D 2D
%D 2D  +20         E5  F4      F5
%D 2D
%D ren E0  E1  F0  F1   ==> B  D B  D
%D ren           F2  F3 ==>       \ovl{A} \ovl{C}
%D ren     E5  F4  F5   ==>    C A  C
%D
%D (( E0 E1  -> .plabel= a f
%D    E1 E5 <-< .plabel= l γ
%D    F0 F1  -> .plabel= a f
%D    F0 F2 <-< .plabel= m \phantom{mmmm}\ovl{f^*(γ)}≅f^*(\ovl{γ})
%D    F0 F4 <-< .plabel= l f^*(γ)
%D    F1 F3 <-< .plabel= r \ovl{γ}
%D    F1 F5 <-< .plabel= l γ
%D    F4 F5  ->
%D
%D    E1 F4 midpoint .TeX= ⇒ xy+= -5 0 place
%D
%D ))
%D enddiagram
%D
$$\pu
  \diag{??}
$$

We will usually draw that diagram as this, and omit the names of most,
or all, of its arrows.
%
%D diagram ??
%D 2Dx     100 +20 +20 +20
%D 2D  100 F0      F1
%D 2D
%D 2D  +20     F2      F3
%D 2D
%D 2D  +20 F4      F5
%D 2D
%D ren F0  F1   ==> B  D
%D ren   F2  F3 ==>  \ovl{A} \ovl{C}
%D ren F4  F5   ==> A  C
%D
%D (( F0 F1  -> # .plabel= a f
%D    F0 F2 <-< # .plabel= m \phantom{mmmm}\ovl{f^*(γ)}≅f^*(\ovl{γ})
%D    F0 F4 <-< # .plabel= l f^*(γ)
%D    F1 F3 <-< # .plabel= r \ovl{γ}
%D    F1 F5 <-< # .plabel= l γ
%D    F2 F3  ->
%D    F2 F4 <-<
%D    F3 F5 <-<
%D    F4 F5  ->
%D ))
%D enddiagram
%D
$$\pu
  \diag{??}
$$

\section*{A J-operator induces a universal closure}

%D diagram ??
%D 2Dx     100 +20 +20 +20
%D 2D  100 F0      F1
%D 2D
%D 2D  +20     F2      F3
%D 2D
%D 2D  +20 F4      F5
%D 2D
%D ren F0  F1   ==> Q  1
%D ren   F2  F3 ==>  \ovl{P}∧Q \ovl{P}
%D ren F4  F5   ==> P∧Q  P
%D
%D (( F0 F1  -> # .plabel= a f
%D    F0 F2 <-< # .plabel= m \phantom{mmmm}\ovl{f^*(γ)}≅f^*(\ovl{γ})
%D    F0 F4 <-< # .plabel= l f^*(γ)
%D    F1 F3 <-< # .plabel= r \ovl{γ}
%D    F1 F5 <-< # .plabel= l γ
%D    F2 F3  ->
%D    F2 F4 <-<
%D    F3 F5 <-<
%D    F4 F5  ->
%D ))
%D enddiagram
%D
$$\pu
  \diag{??}
$$

%D diagram ??
%D 2Dx     100 +20 +20 +20
%D 2D  100 F0      F1
%D 2D
%D 2D  +20     F2      F3
%D 2D
%D 2D  +20 F4      F5
%D 2D
%D ren F0  F1   ==> Q  1
%D ren   F2  F3 ==>  \ovl{P}∧Q \ovl{P}
%D ren F4  F5   ==> P∧Q  P
%D
%D (( F0 F1  -> # .plabel= a f
%D    F0 F2 <-< # .plabel= m \phantom{mmmm}\ovl{f^*(γ)}≅f^*(\ovl{γ})
%D    F0 F4 <-< # .plabel= l f^*(γ)
%D    F1 F3 <-< # .plabel= r \ovl{γ}
%D    F1 F5 <-< # .plabel= l γ
%D    F2 F3  ->
%D    F2 F4 <-<
%D    F3 F5 <-<
%D    F4 F5  ->
%D ))
%D enddiagram
%D
$$\pu
  \diag{??}
$$





\end{document}

%  __  __       _        
% |  \/  | __ _| | _____ 
% | |\/| |/ _` | |/ / _ \
% | |  | | (_| |   <  __/
% |_|  |_|\__,_|_|\_\___|
%                        
% <make>

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-LATEXfile "2019planar-has-1.mk")
make -f 2019.mk STEM=2020closure-operator veryclean
make -f 2019.mk STEM=2020closure-operator pdf

% Local Variables:
% coding: utf-8-unix
% ee-tla: "clo"
% End: