Warning: this is an htmlized version! The original is here, and the conversion rules are here.
% (find-angg "LATEX/2019jacobs.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2019jacobs.tex"))
% (defun d () (interactive) (find-pdf-page "~/LATEX/2019jacobs.pdf"))
% (defun b () (interactive) (find-zsh "bibtex 2019jacobs; makeindex 2019jacobs"))
% (defun e () (interactive) (find-LATEX "2019jacobs.tex"))
% (defun u () (interactive) (find-latex-upload-links "2019jacobs"))
% (find-xpdfpage "~/LATEX/2019jacobs.pdf")
% (find-sh0 "cp -v  ~/LATEX/2019jacobs.pdf /tmp/")
% (find-sh0 "cp -v  ~/LATEX/2019jacobs.pdf /tmp/pen/")
%   file:///home/edrx/LATEX/2019jacobs.pdf
%               file:///tmp/2019jacobs.pdf
%           file:///tmp/pen/2019jacobs.pdf
% http://angg.twu.net/LATEX/2019jacobs.pdf
\documentclass[oneside]{book}
\usepackage[colorlinks]{hyperref} % (find-es "tex" "hyperref")
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pict2e}
\usepackage[x11names,svgnames]{xcolor} % (find-es "tex" "xcolor")
%\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 edrxgac2.tex               % (find-LATEX "edrxgac2.tex")
%
\begin{document}

\catcode\^^J=10

% %L dofile "edrxtikz.lua"  -- (find-LATEX "edrxtikz.lua")
% %L dofile "edrxpict.lua"  -- (find-LATEX "edrxpict.lua")
% \pu

% (find-books "__cats/__cats.el" "jacobs")

% (find-jacobspage (+ 20 219) "4. First order predicate logic")
% (find-jacobspage (+ 20 221) "4.1. Signatures, connectives and quantifiers")
% (find-jacobspage (+ 20 232) "4.2. Fibrations for first order predicate logic")

% (find-jacobspage (+ 19 610) "10.4.2." "comprehension category")
% (find-jacobspage (+ 19 614)     "some important examples of (full) comprehension")
% (find-jacobspage (+ 19 616) "10.4.7." "comprehension category with unit")

\def\AAA{AAA}
\def\BBB{BBB}

%
%D 2Dx     100     +25
%D 2D  100 A1      A2
%D 2D  +25 A3      A4
%D 2D
%D
%D
%D ((
%D    ren A1 A2 A3 A4 ==> \AAA \BBB \AAA \BBB
%D
%D    # 1cells
%D
%D
%D    A1 A2    ->      .plabel= a G
%D    A1 A3    =
%D    A2 A4    =
%D    A3 A4    ->      .plabel= b G
%D    A2 A3    ->      .plabel= m F
%D
%D
%D
%D    # 1cells
%D
%D
%D
%D    # 2cells
%D
%D    A2 A3 harrownodes  10 18 nil <=  .slide= -10pt        .plabel= a \eta
%D    A2 A3 harrownodes -5 18 nil <=  .slide= 10pt        .plabel= a \varepsilon
%D
%D
%D ))
%D enddiagram
%D

\pu

\begin{equation*}
\end{equation*}

%
%D 2Dx     100     +25     +25
%D 2D  100 T1      T2      T3
%D 2D  +25         T4
%D 2D
%D
%D
%D ((
%D    T1 .tex= T
%D    T2 .tex= T
%D    T3 .tex= T
%D    T4 .tex= T
%D
%D    # 1cells
%D
%D    T1 T2    ->       .plabel= a \id_T\ast\eta
%D    T3 T2    ->       .plabel= a \eta\ast\id_T
%D    T2 T4    ->       .plabel= m \mu
%D    T1 T4    =
%D    T3 T4    =
%D
%D
%D    # 2cells
%D
%D ))
%D enddiagram
%D

\pu
%
%D 2Dx     100     +25
%D 2D  100 T1      T2
%D 2D  +25 T4      T3
%D 2D
%D
%D
%D ((
%D    T1 .tex= T^3
%D    T2 .tex= T^2
%D    T3 .tex= T^2
%D    T4 .tex= T
%D
%D    # 1cells
%D
%D    T1 T2    ->       .plabel= a \mu\ast\id_T
%D    T1 T4    ->       .plabel= a \id_T\ast\mu
%D    T4 T3    ->       .plabel= b \mu
%D    T2 T3    ->       .plabel= r c
%D
%D
%D    # 2cells
%D
%D ))
%D enddiagram
%D

\pu

\begin{equation*}
\end{equation*}

%
%D 2Dx     100     +25     +25
%D 2D  100 T1      T2      T3
%D 2D  +25         T4
%D 2D
%D
%D
%D ((
%D    T1 .tex= T
%D    T2 .tex= T
%D    T3 .tex= T
%D    T4 .tex= T
%D
%D    # 1cells
%D
%D    T1 T2    ->       .plabel= a \id_T\ast\eta
%D    T3 T2    ->       .plabel= a \eta\ast\id_T
%D    T2 T4    ->       .plabel= m \mu
%D    T1 T4    =
%D    T3 T4    =
%D
%D
%D    # 2cells
%D
%D ))
%D enddiagram
%D

\pu

%
%D 2Dx     100     +25
%D 2D  100 T1      T2
%D 2D  +25 T4      T3
%D 2D
%D
%D
%D ((
%D    T1 .tex= T^3
%D    T2 .tex= T^2
%D    T3 .tex= T^2
%D    T4 .tex= T
%D
%D    # 1cells
%D
%D    T1 T2    ->       .plabel= a \mu\ast\id_T
%D    T1 T4    ->       .plabel= a \id_T\ast\mu
%D    T4 T3    ->       .plabel= l \mu
%D    T2 T3    ->       .plabel= r \mu
%D
%D
%D    # 2cells
%D
%D ))
%D enddiagram
%D

\pu

\begin{equation*}
\end{equation*}

%
%D 2Dx     100     +25     +25
%D 2D  100 T1      T2      T3
%D 2D  +25         T4
%D 2D
%D
%D
%D ((
%D    T1 .tex= T
%D    T2 .tex= T^2
%D    T3 .tex= T
%D    T4 .tex= T
%D
%D    # 1cells
%D
%D    T1 T2    ->       .plabel= a \id_T\ast\eta
%D    T3 T2    ->       .plabel= a \eta\ast\id_T
%D    T2 T4    ->       .plabel= m \mu
%D    T1 T4    =
%D    T3 T4    =
%D
%D
%D    # 2cells
%D
%D ))
%D enddiagram
%D

\pu

%
%D 2Dx     100     +25
%D 2D  100 T1      T2
%D 2D  +25 T3      T4
%D 2D
%D
%D
%D ((
%D    T1 .tex= T^3
%D    T2 .tex= T^2
%D    T3 .tex= T^2
%D    T4 .tex= T
%D
%D    # 1cells
%D
%D    T1 T2    ->       .plabel= a \mu\ast\id_T
%D    T1 T3    ->       .plabel= a \id_T\ast\mu
%D    T3 T4    ->       .plabel= l \mu
%D    T2 T4    ->       .plabel= r \mu
%D
%D
%D    # 2cells
%D
%D ))
%D enddiagram
%D

%D ren T1 T2 T2 T4 ==> T^3 T^2 T^2 T

\pu

\begin{equation*}
`