Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
% This file:
%   https://anggtwu.net/LATEX/edrx26c.tex.html
%   https://anggtwu.net/LATEX/edrx26c.tex
%           (find-angg "LATEX/edrx26c.tex")
% Author: Eduardo Ochs <eduardoochs@gmail.com>
% Date: 2026mar01
%
% This is the third part of:
%   (find-angg "LATEX/edrx26a.sty")
%   (find-angg "LATEX/edrx26b.tex")
%   (find-angg "LATEX/edrx26c.tex")

% (find-LATEX "2026logica-para-pessoas.tex" "defs")
% «.dednat7»		(to "dednat7")
%   «.saexpr»		(to "saexpr")
%   «.caepro»		(to "caepro")
%   «.maxima»		(to "maxima")
%   «.pict2e»		(to "pict2e")
%   «.picturedots»	(to "picturedots")
%   «.V»		(to "V")
%   «.Verbatim»		(to "Verbatim")
% «.co»			(to "co")
% «.tictactoe»		(to "tictactoe")
% «.toc»		(to "toc")
% «.TocLines3»		(to "TocLines3")



% «dednat7»  (to ".dednat7")

% «saexpr»  (to ".saexpr")
% See: (find-angg "LUA/Output1.lua" "saexpr")
%      (find-angg "LUA/Output1.lua" "saexpr-test")
% Compare with:
%   (find-angg "LUA/DednatPreamble1.lua" "preamble1" "\\def\\expr")
%
% (2026feb15) This is a hack that lets me rewrite _most_ calls to
% \expr{...} into things that work in Arxiv. If we simply run this,
%
%   \expr{ 1+2 }
%
% it just returns "3". But if we run this in LuaLaTeX,
%
%   \saexpr{ 1+2 }
%
% it first "output"s this, i.e., it runs it and saves it into the
% .dnt file,
%
%   % \saexpr{ 1+2 }
%   \sa      { 1+2 } {3}
%
% and then it runs \ga{ 1+2 }, that returns "3". When we recompile
% the ".tex" with pdflatex it first loads the .dnt that contains
% that \sa { 1+2 } {3}, and when we run the \saexpr{ 1+2 } it
% just runs the \ga{ 1+2 }, that returns "3".
%
\def\saexpr#1{%
  \directlua{output:saexpr([==[#1]==])}%
  \ga{#1}%
  }

% «caepro»  (to ".caepro")
%L dofile "Caepro5.lua"               -- (find-angg "LUA/Caepro5.lua" "LaTeX")
\def\Caurl   #1{\expr{Caurl("#1")}}    % Needs LuaLaTeX
\def\Cahref#1#2{\href{\Caurl{#1}}{#2}}
\def\Ca      #1{\Cahref{#1}{#1}}

% «maxima»  (to ".maxima")
%L dofile "Maxima3.lua"              -- (find-angg "LUA/Maxima3.lua")
\pu

% «pict2e»  (to ".pict2e")
%L dofile "Piecewise2.lua"           -- (find-LATEX "Piecewise2.lua")
%L --dofile "Escadas1.lua"           -- (find-LATEX "Escadas1.lua")
%L dofile "ExprDxDy1.lua"            -- (find-LATEX "ExprDxDy1.lua")
\def\pictgridstyle{\color{GrayPale}\linethickness{0.3pt}}
\def\pictaxesstyle{\linethickness{0.5pt}}
\def\pictnaxesstyle{\color{GrayPale}\linethickness{0.5pt}}
\celllower=2.5pt

% «picturedots»  (to ".picturedots")
%L dofile "PictureDots1.lua"         -- (find-LATEX "PictureDots1.lua")
\pu
\def\picturedots(#1,#2)(#3,#4)#5{\saexpr{
    PictureDots.from(#1,#2, #3,#4, "#5"):topict():pgat("patc")
  }}

% For:
% (find-LATEX "2017planar-has-1-body.tex" "positional" "\\picturedotsadef")
% (find-LATEX "2017planar-has-1-body.tex" "positional" "\\picturedotsdef")
\def\picturedotsadef#1(#2,#3)(#4,#5)#6{\saexpr{
      PictureDots.from(#2,#3, #4,#5, "#6"):topict():pgat("patc")
  }}
\def\picturedotsdef #1(#2,#3)(#4,#5)#6{\saexpr{
      PictureDots.from(#2,#3, #4,#5, "#6"):topict():pgat("ptc")
  }}



% «V»  (to ".V")
%L --- See: (find-angg "LUA/MiniV1.lua" "problem-with-V")
%L V = MiniV
%L v = V.fromab
\pu

% «Verbatim»  (to ".Verbatim")
% See: (find-LATEX "Verbatim3.lua" "Verbatim" " defvbt  =")
%      (find-LATEX "Verbatim3.lua" "dednat6" "defvbt =")
%      (find-LATEX "Verbatim3.lua" "dednat6-tests")
%      (find-LATEX "edrx21.sty" "defvbt")
%      (find-LATEX "edrx21.sty" "defvbt" "\\vbtbgboxcolor")
%L dofile "Verbatim3.lua"            -- (find-LATEX "Verbatim3.lua")
\pu
\def\vbtc       #1{\myvcenter{\vbt{#1}}}
\def\vbtsmash   #1{\nodepthnoheight{\vbtc{#1}}}
\def\vbtbgboxcolor{YellowOrangeLight!45}







% «co»  (to ".co")
% From: (find-LATEX "2022on-the-missing.tex" "defs")
% \co: a low-level way to typeset code; a poor man's "\verb"
\def\co#1{{%
  \def\%{\char37}%
  \def\\{\char92}%
  \def\^{\char94}%
  \def\~{\char126}%
  \tt#1%
  }}
\def\qco#1{`\co{#1}'}
\def\qqco#1{``\co{#1}''}


% «tictactoe»  (to ".tictactoe")
% (find-LATEX "2025-1-C2-S-defs.tex" "tictactoe")
\sa{tictactoe-.}{\phantom{\textsf{X}}}
\sa{tictactoe-x}{\textsf{X}}
\sa{tictactoe-o}{\textsf{O}}
\sa{tictactoe-X}{\ColorRed{\textsf{X}}}
\sa{tictactoe-O}{\ColorRed{\textsf{O}}}
\def\tictactoe#1#2#3#4#5#6#7#8#9{
  \ensuremath{
    \setlength{\arraycolsep}{2pt}
    \begin{array}[c]{c|c|c}
      \ga{tictactoe-#1} & \ga{tictactoe-#2} & \ga{tictactoe-#3} \\\hline
      \ga{tictactoe-#4} & \ga{tictactoe-#5} & \ga{tictactoe-#6} \\\hline
      \ga{tictactoe-#7} & \ga{tictactoe-#8} & \ga{tictactoe-#9} \\
    \end{array}
 }}


% «toc»        (to ".toc")
% «TocLines3»  (to ".TocLines3")
% See: (find-angg  "LUA/TocLines3.lua")
%      (find-LATEX     "TocLines3.lua")
%      (find-angg "LUA/TocLines2.lua" "dednat6")
%      (find-angg "LATEX/2024-2-defs-toc.tex")
%      (find-es "tex" "hyperref-hyperlink")
%
%L require "TocLines3"
%L toclines = toclines or TocLines3.new(status.filename)
\pu
\def\linktopage       #1#2{\hyperlink{page.#1}{#2}}
\def\mytocslide     #1#2#3{\par    \linktopage{#1}{#3} \dotfill\;\linktopage{#3}{#3}}
\def\toclineslidetex  #1#2{\par    \linktopage{#2}{#1} \dotfill \linktopage{#2}{#2}}
\def\toclineslidenttex#1#2{\par\;\;\linktopage{#2}{#1} \dotfill \linktopage{#2}{#2}}
\def\toclineslidelua  #1#2{\directlua{
    toclines:add {style="slide",   body=[=[#1]=], page=#2}
  }}
\def\toclineslidentlua#1#2{\directlua{
    toclines:add {style="slident", body=[=[#1]=], page=#2}
  }}
\def\SLIDE  #1{\par{\bf #1}\par \toclineslidelua  {#1}{\thepage}}
\def\SLIDENT#1{                 \toclineslidentlua{#1}{\thepage}}
\def\addslide#1#2{\SLIDE{#2}}







\def\Rq{\ColorRed{?}}




% (find-LATEX "2025-1-C2-S-defs.tex" "Aipim")
%\input 2025-1-C2-S-defs.tex   % (find-LATEX "2025-1-C2-S-defs.tex")

%L dofile "Pygments1.lua"    -- (find-angg "LUA/Pygments1.lua")

% «defs-T1-T2-T3-T4»  (to ".defs-T1-T2-T3-T4")
% (find-LATEX     "2025T1-T2-T3-T4.tex")
%\input             2025T1-T2-T3-T4.tex   % loads the defs
%%L processsubfile "2025T1-T2-T3-T4.tex"  -- runs the "defpygvbt"s
%\pu