Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
% (find-LATEX "2021fitch.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2021fitch.tex" :end))
% (defun C () (interactive) (find-LATEXSH "lualatex 2021fitch.tex" "Success!!!"))
% (defun D () (interactive) (find-pdf-page      "~/LATEX/2021fitch.pdf"))
% (defun d () (interactive) (find-pdftools-page "~/LATEX/2021fitch.pdf"))
% (defun e () (interactive) (find-LATEX "2021fitch.tex"))
% (defun f () (interactive) (find-LATEX "2021fitch.lua"))
% (defun l () (interactive) (find-LATEX "2021lean.lua"))
% (defun u () (interactive) (find-latex-upload-links "2021fitch"))
% (defun v () (interactive) (find-2a '(e) '(d)))
% (defun cv () (interactive) (C) (ee-kill-this-buffer) (v) (g))
% (defun d0 () (interactive) (find-ebuffer "2021fitch.pdf"))
%          (code-eec-LATEX "2021fitch")
% (find-pdf-page   "~/LATEX/2021fitch.pdf")
% (find-sh0 "cp -v  ~/LATEX/2021fitch.pdf /tmp/")
% (find-sh0 "cp -v  ~/LATEX/2021fitch.pdf /tmp/pen/")
%   file:///home/edrx/LATEX/2021fitch.pdf
%               file:///tmp/2021fitch.pdf
%           file:///tmp/pen/2021fitch.pdf
% http://angg.twu.net/LATEX/2021fitch.pdf
% (find-LATEX "2019.mk")
% (find-lualatex-links "2021fitch")

% «.defftch»	(to "defftch")

\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{edrx21}               % (find-LATEX "edrx21.sty")
\input edrxaccents.tex            % (find-LATEX "edrxaccents.tex")
\input edrx21chars.tex            % (find-LATEX "edrx21chars.tex")
\input edrxheadfoot.tex           % (find-LATEX "edrxheadfoot.tex")
\input edrxgac2.tex               % (find-LATEX "edrxgac2.tex")
%
\usepackage{kluwer-fitch}                % (find-LATEX "fitch.sty")
%
% (find-es "tex" "geometry")
\begin{document}

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


% (find-LATEX "2017distributivity.tex")

%:             [P∧R]^1  [Q∧R]^1       
%:             -------  -------       
%:                P        Q                 [P∧R]^1  [Q∧R]^1        
%:               ---      ----               -------  -------                 
%:  (P∧R)∨(Q∧R)  P∨Q      P∨Q    (P∧R)∨(Q∧R)     R       R
%:  --------------------------   -------------------------
%:            (P∨Q)                         R
%:            -------------------------------
%:                     (P∨Q)∧R
%:  
%:                     ^distr-ok-dn2
\pu
$$\ded{distr-ok-dn2}$$


%F 1  / (P∧R)∨(Q∧R)
%F    | ----
%F 2  | / P∧R
%F    | | ----
%F 3  | | P
%F 4  | \ P∨Q
%F 5  | / Q∧R
%F    | | ----
%F 6  | | Q
%F 7  | \ P∨Q
%F 8  | P∨Q         by 1, 2--4, 5--7
%F 9  | / P∧R
%F    | | ----
%F 10 | \ R
%F 11 | / Q∧R
%F    | | ----
%F 12 | \ R
%F 13 | R           by 1, 9--10, 11--2
%F 14 \ (P∨Q)∧R     by 8, 13
%L
%L defftch "??"
$$\pu
  \ftch{??}
$$




%F / h:P∧Q
%F | ----
%F | ⋮
%F \ α:R
%L
%L defftch "and-E-before"
%L
%F / h:P∧Q
%F | ----
%F | a:P
%F | b:Q
%F | {\vdots}
%F \ α:R
%L
%L defftch "and-E-after"
$$\pu
  \ftch{and-E-before}
  \quad ⇒ \quad
  \ftch{and-E-after}
$$




%F  1 / P∨Q
%F  2 | ¬Q
%F    | ----
%F  3 | / P
%F    | | ----
%F  4 | \ P       R,3
%F  5 | / Q
%F    | | ----
%F  6 | | ¬Q      R,2
%F  7 | | ⊥       $¬$E, 5, 6
%F  8 | \ P       $⊥$E, 7
%F  9 \ P         $∨$E, 1, 3-4, 5-8 ???
%L
%L defftch "foo"
\pu

$\ftch{foo}$


%L FitchGrid.__index.texmiddle = function (fg, str)
%L     return lean_translate(str)
%L   end
%L FitchGrid.__index.texright = function (fg, str)
%L     return lean_tactranslate(str)
%L   end

\def\By  #1{#1}
\def\Lean#1{$#1$}
\def\Tac #1#2{$#1 \ColorRed{⇒} #2$}

%F 1 / P
%F 2 | P→Q
%F   | ----
%F 3 | Q    \Lean{Hello_you}
%F 3 \ Q    \Tac{Hello_you}{Hello_you}
%L
%L defftch "??"
$$\pu
  \ftch{??}
$$




%V %F 1 / P
%V %F 2 | P→Q
%V %F   | ----
%V %F 3 | Q    \Lean{Hello_you}
%V %F 3 \ Q    \Tac{Hello_you}{Hello_you}
%V %L
%V %L defftch "??"
%V $$\pu
%V   \ftch{??}
%V $$
%L
%L defvbt "??"
$\pu
 a \vbt{??} b
$



\GenericWarning{Success:}{Success!!!}  % Used by `M-x cv'

\end{document}

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

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

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