Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
% This file: (find-LATEX "2017planar-has-defs.tex")
% Usage:
%   \input 2017planar-has-defs.tex    % (find-LATEX "2017planar-has-defs.tex")
%
% «.picturedots»	(to "picturedots")
% «.defs»		(to "defs")
% «.squigbij»		(to "squigbij")
% «.squigbijtest»	(to "squigbijtest")
% «.defzha-and-deftcg»	(to "defzha-and-deftcg")
% «.defpido»		(to "defpido")
% «.defpicturedots»	(to "defpicturedots")
% «.picturedotsdef»	(to "picturedotsdef")
% «.defub»		(to "defub")
% «.sa-and-ga»		(to "sa-and-ga")




%        _      _                      _       _       
%  _ __ (_) ___| |_ _   _ _ __ ___  __| | ___ | |_ ___ 
% | '_ \| |/ __| __| | | | '__/ _ \/ _` |/ _ \| __/ __|
% | |_) | | (__| |_| |_| | | |  __/ (_| | (_) | |_\__ \
% | .__/|_|\___|\__|\__,_|_|  \___|\__,_|\___/ \__|___/
% |_|                                                  
%
% «picturedots» (to ".picturedots")
% (find-LATEX "edrxpict.lua" "beginpicture")
% (find-LATEX "edrxpict.lua" "pictaxes")
% (find-LATEX "edrxpict.lua" "pictdots")
% (find-LATEX "2016-2-GA-algebra.tex" "picturedots")
% (find-LATEX "2016-2-GA-algebra.tex" "comprehension-gab")
% (gaap 5)
%
\def\beginpicture(#1,#2)(#3,#4){\expr{beginpicture(v(#1,#2),v(#3,#4))}}
\def\pictaxes{\expr{pictaxes()}}
\def\pictdots#1{\expr{pictdots("#1")}}
\def\picturedotsa(#1,#2)(#3,#4)#5{%
  \vcenter{\hbox{%
  \beginpicture(#1,#2)(#3,#4)%
  \pictaxes%
  \pictdots{#5}%
  \end{picture}%
  }}%
}
\def\picturedots(#1,#2)(#3,#4)#5{%
  \vcenter{\hbox{%
  \beginpicture(#1,#2)(#3,#4)%
  %\pictaxes%
  \pictdots{#5}%
  \end{picture}%
  }}%
}

%      _       __     
%   __| | ___ / _|___ 
%  / _` |/ _ \ |_/ __|
% | (_| |  __/  _\__ \
%  \__,_|\___|_| |___/
%                     
% «defs» (to ".defs")

\def\sa{\rightsquigarrow}
\def\BPM{\mathsf{BPM}}
\def\WPM{\mathsf{WPM}}
\def\ZHAG{\mathsf{ZHAG}}

\def\LR{\mathbb{LR}}

\def\catTwo{\mathbf{2}}
%\def\Pts{\mathcal{P}}
\def\calS{\mathcal{S}}
\def\calI{\mathcal{I}}
\def\calK{\mathcal{K}}
\def\calV{\mathcal{V}}

\def\und#1#2{\underbrace{#1}_{#2}}

\def\subst#1{\left[\begin{array}{rcl}#1\end{array}\right]}
\def\subst{\bsm}

% (find-LATEXfile "2015planar-has.tex" "\\def\\Mop")

\def\MP  {\mathsf{MP}}
\def\J   {\mathsf{J}}
\def\Mo  {\mathsf{Mo}}
\def\Mop {\mathsf{Mop}}
\def\Sand{\mathsf{Sand}}
\def\ECa {\mathsf{EC}{\&}}
\def\ECv {\mathsf{EC}{∨}}
\def\ECS {\mathsf{ECS}}
\def\pdiag#1{\left(\diag{#1}\right)}
\def\ltor#1#2{#1\_{\to}\_#2}
\def\lotr#1#2{#1\_{\ot}\_#2}
\def\Int{{\operatorname{int}}}
\def\Int{{\operatorname{\mathsf{int}}}}
\def\coInt{{\operatorname{\mathsf{coint}}}}
%\def\Opens{{\mathcal{O}}}
%
\def\LC {\mathsf{LC}}
\def\RC {\mathsf{RC}}
\def\TCG{\mathsf{2CG}}
\def\pile{\mathsf{pile}}
\def\ltor#1#2{#1\_{\to}\_#2}
\def\lotr#1#2{#1\_{\ot}\_#2}
\def\ltol#1#2{#1\_{\to}#2\_}
\def\rtor#1#2{\_#1{\to}\_#2}
%
\def\NoLcuts{\mathsf{No}λ\mathsf{cuts}}
\def\NoYcuts{\mathsf{NoYcuts}}
\def\astarcube{{\&}^*\mathsf{Cube}}
\def\ostarcube{{∨}^*\mathsf{Cube}}
\def\istarcube{{→}^*\mathsf{Cube}}
\def\acz{{\&}^*\mathsf{C}_0}
\def\ocz{{∨}^*\mathsf{C}_0}
\def\icz{{→}^*\mathsf{C}_0}
%
\def\astarcuben{{\&}^*\mathsf{Cube}_\mathsf{n}}
\def\ostarcuben{{∨}^*\mathsf{Cube}_\mathsf{n}}
\def\istarcuben{{→}^*\mathsf{Cube}_\mathsf{n}}
\def\astarcubev{{\&}^*\mathsf{Cube}_\mathsf{v}}
\def\ostarcubev{{∨}^*\mathsf{Cube}_\mathsf{v}}
\def\istarcubev{{→}^*\mathsf{Cube}_\mathsf{v}}
%
%\catcode`∧=13 \def∧{\mathop{\&}}

\def\biggest {\mathsf{biggest}}
\def\smallest{\mathsf{smallest}}
\def\Cuts    {\mathsf{Cuts}}

\def\myresizebox#1{%
  \noindent\hbox to \textwidth{\hss
    \resizebox{1.0\textwidth}{!}{#1}%
    \hss}
  }





\def\LR  {\mathbb{LR}}
\def\Taut{\mathsf{Taut}}
\def\IPL {\mathrm{IPL}}
\def\CPL {\mathrm{CPL}}
\def\ZHAL{\mathrm{ZHAL}}


% «squigbij» (to ".squigbij")
% (ph2 "question-marks")
% (find-es "tex" "pict2e-squigbij")

\def\squigbij{\newsquigbij}
\def\oldsquigbij{\;\; \diagxyto/<~>/<300> \;\;}

\def\newsquigbij{\;\; \squigbijbody \;\;}
\def\squigbijy{-1.2}
\def\squigbijbody{\squigbijbodywithparams{1.5pt}{0.3pt}{1.0}}
\def\squigbijtriangle(#1,#2)#3{\polygon*(#1,0)(#2,#3)(#2,-#3)}
\def\squigbijbodywithparams#1#2#3{{%
  \unitlength=#1
  \linethickness{#2}
  % \beginpicture(-5,-1)(17,1)%
  % \begin{picture}(22.4,2.4)(-5.2,-1.2)%
  \begin{picture}(22.4,2.4)(-5.2,\squigbijy)%
    \polyline(-3,0)(0,0)(1,1)(3,-1)(5,1)(7,-1)(9,1)(11,-1)(12,0)(14,0)
    \squigbijtriangle(-5,-2){#3}
    \squigbijtriangle(17,14){#3}
  \end{picture}%
  }}

% «squigbijtest»  (to ".squigbijtest")
\def\squigbijtest#1{
  \def\squigbijy{#1}
  \par #1: $A \squigbij B$
  }
% Use something like this to find a good value for \squigbijy.
%   \squigbijtest{-4.0}
%   \squigbijtest{-3.0}
%   \squigbijtest{-2.0}
%   \squigbijtest{-1.0}
%   \squigbijtest{0.0}
%   \squigbijtest{1.0}
%   \squigbijtest{2.0}
%   \squigbijtest{3.0}
%   \squigbijtest{4.0}
% These values work well for me:
%   \squigbijtest {-2.5}   % for 12pt
%   \def\squigbijy{-2.5}   % for 12pt
%   \squigbijtest {1.2}    % for 10pt
%   \def\squigbijy{1.2}    % for 10pt



% «defzha-and-deftcg»  (to ".defzha-and-deftcg")
% (find-es "dednat" "defzha-and-deftcg")
\def\defzha#1#2{\expandafter\def\csname zha-#1\endcsname{#2}}
\def\ifzhaundefined#1{\expandafter\ifx\csname zha-#1\endcsname\relax}
\def\zha#1{\ifzhaundefined{#1}
    \errmessage{UNDEFINED ZHA: #1}
  \else
    \csname zha-#1\endcsname
  \fi
}
\def\deftcg#1#2{\expandafter\def\csname tcg-#1\endcsname{#2}}
\def\iftcgundefined#1{\expandafter\ifx\csname tcg-#1\endcsname\relax}
\def\tcg#1{\iftcgundefined{#1}
    \errmessage{UNDEFINED TCG: #1}
  \else
    \csname tcg-#1\endcsname
  \fi
}

% «defpido»  (to ".defpido")
% (find-LATEX "edrxpict.lua" "defpictdots")
% (find-LATEX "2019oxford-abs.tex" "defpictdots")
\def\defpido#1#2{\expandafter\def\csname pido-#1\endcsname{#2}}
\def\ifpidoundefined#1{\expandafter\ifx\csname pido-#1\endcsname\relax}
\def\pido#1{\ifpidoundefined{#1}
    \errmessage{UNDEFINED PIDO: #1}
  \else
    \csname pido-#1\endcsname
  \fi
}

% Not used?
\def\defpicturedots #1(#2,#3)(#4,#5)#6{%
    \directlua{defpictdots(nil, "#1", #2,#3, #4,#5,nil, "#6")}
  }
\def\defpicturedotsa#1(#2,#3)(#4,#5)#6{%
    \directlua{defpictdots("axes", "#1", #2,#3, #4,#5,nil, "#6")}
  }

% «picturedotsdef»  (to ".picturedotsdef")
% (find-LATEX "edrxpict.lua" "defpictdots")
% This lets me rewrite the first two lines below as the other two lines...
% \picturedotsa        (-2,0)(2,5){ 0,0 1,1 2,2  -1,1 0,2 1,3  -2,2 -1,3 0,4   -1,5 }
% \picturedots         (-2,0)(2,5){ 0,0 1,1 2,2  -1,1 0,2 1,3  -2,2 -1,3 0,4   -1,5 }
% \picturedotsadef{foo}(-2,0)(2,5){ 0,0 1,1 2,2  -1,1 0,2 1,3  -2,2 -1,3 0,4   -1,5 }
% \picturedotsdef {bar}(-2,0)(2,5){ 0,0 1,1 2,2  -1,1 0,2 1,3  -2,2 -1,3 0,4   -1,5 }
%
\def\picturedotsadef#1(#2,#3)(#4,#5)#6{
  \directlua{ defpictdots("axes", "#1", #2,#3, #4,#5, nil, "#6") }
  \pido{#1}
  }
\def\picturedotsdef #1(#2,#3)(#4,#5)#6{
  \directlua{ defpictdots(nil,    "#1", #2,#3, #4,#5, nil, "#6") }
  \pido{#1}
  }


% «defub»  (to ".defub")
% Examples:
%   (find-LATEX "2017planar-has-1.tex" "prop-calc-ZHA")
%   (find-LATEX "2017planar-has-1.tex" "prop-calc-ZHA" "defub")
%   (excp 29 "type-inference")
%   (exca    "type-inference")
% Superseded by:
%   (find-angg "LUA/Und2D1.lua" "show2-test")
\def\defub#1#2{\expandafter\def\csname ub-#1\endcsname{#2}}
\def\ifubundefined#1{\expandafter\ifx\csname ub-#1\endcsname\relax}
\def\ub#1{\ifubundefined{#1}
    \errmessage{UNDEFINED UB: #1}
  \else
    \csname ub-#1\endcsname
  \fi
}


% «sa-and-ga»  (to ".sa-and-ga")
\def\sa#1#2{\expandafter\def\csname myarg#1\endcsname{#2}}
\def\ga#1{\csname myarg#1\endcsname}




% Local Variables:
% coding: utf-8-unix
% ee-anchor-format: "«%s»"
% End: