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

% (find-angg "LUA/distributivity.lua")
% (find-LATEXgrep "grep -nH -e istributi *.tex")

\documentclass[oneside]{book}
\usepackage[colorlinks]{hyperref} % (find-es "tex" "hyperref")
%\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pict2e}
\usepackage{color}                % (find-LATEX "edrx15.sty" "colors")
\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-angg "LATEX/edrx15.sty")
\input edrxaccents.tex            % (find-angg "LATEX/edrxaccents.tex")
\input edrxchars.tex              % (find-LATEX "edrxchars.tex")
\input edrxheadfoot.tex           % (find-dn4ex "edrxheadfoot.tex")
\input edrxgac2.tex               % (find-LATEX "edrxgac2.tex")
%
\begin{document}

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

\directlua{dofile "edrxtikz.lua"} % (find-LATEX "edrxtikz.lua")
\directlua{dofile "edrxpict.lua"} % (find-LATEX "edrxpict.lua")
%L V.__tostring = function (v) return format("(%.3f,%.3f)", v[1], v[2]) end

% (fooi "->" "→" "|-" "⊢" "&" "∧")

%:**\land *
%:*v*\lor *

This proof presents no problems:

(It uses ``ND with a single hypothesis'')
%:
%:  
%:             [P∧R]^1           [Q∧R]^1
%:             -------           -------
%:                P     [P∧R]^1     Q       [Q∧R]^1
%:               ---    -------    ----     ----
%:               P∨Q       R       P∨Q       R
%:               -----------       -----------
%:  (P∧R)∨(Q∧R)    (P∨Q)∧R           (P∨Q)∧R
%:  ----------------------------------------
%:            (P∨Q)∧R
%:  
%:            ^distr-ok-dn
%:  
%:             [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
%:
%:  ------  ------
%:  P∧Q⊢P  P⊢PvQ
%:  -------------   --------  ------  ------
%:     P∧Q⊢PvQ     Q∧R⊢PvQ  P∧R⊢R  Q∧R⊢R
%:     ---------------------  --------------
%:      (P∧R)v(Q∧R)⊢PvQ      (P∧R)v(Q∧R)⊢R
%:      ------------------------------------
%:            (P∧R)v(Q∧R)⊢(PvQ)∧R
%:  
%:            ^distr-ok-seq
%:  
\pu
$$\ded{distr-ok-dn}$$
$$\ded{distr-ok-dn2}$$
$$\ded{distr-ok-seq}$$

%:            P∧((PvQ)∧R)⊢P  P∧((PvQ)∧R)⊢R  Q∧((PvQ)∧R)⊢Q  Q∧((PvQ)∧R)⊢R  
%:            ------------------------------  ------------------------------ 
%:                   P∧((PvQ)∧R)⊢P∧R            Q∧((PvQ)∧R)⊢Q∧R          
%:                  -------------------         ------------------
%:                  P⊢((PvQ)∧R)→(P∧R)         Q⊢((PvQ)∧R)→(Q∧R)
%:                  -----------------------------------------------
%:  (PvQ)∧R⊢PvQ                  PvQ⊢((PvQ)∧R)→(P∧R)
%:  =======================    ------------------------
%:  (PvQ)∧R⊢(PvQ)∧((PvQ)∧R)    (PvQ)∧((PvQ)∧R)⊢P∧RvQ∧R
%:  -----------------------------------------------
%:            (PvQ)∧R⊢P∧RvQ∧R
%:  
%:            ^distr-ok-hard
%:  
% $$\pu
%   \ded{distr-ok-hard}
% $$

This one, which seems to require `$→$', fails in some way:
%:  
%:              (PvQ)∧R       (PvQ)∧R
%:              ------        -------
%:        [P]^1   R     [Q]^1   R
%:        ---------     ---------
%:              P∧R           Q∧R
%:            ------------   -----------
%:  (PvQ)∧R   (P∧R)v(Q∧R)  (P∧R)v(Q∧R)
%:  -------   --------------------------
%:    PvQ      (P∧R)v(Q∧R)
%:    ----------------1
%:          (P∧R)v(Q∧R)
%:  
%:          ^distr-weird-1
%:  
$$\pu
  \ded{distr-weird-1}
$$
%:  
%:  P,(PvQ)∧R⊢P  P,(PvQ)∧R⊢R  Q,(PvQ)∧R⊢Q  Q,(PvQ)∧R⊢R  
%:  --------------------------  --------------------------  
%:      P,(PvQ)∧R⊢P∧R              Q,(PvQ)∧R⊢Q∧R          
%:    ==================          ==================
%:    P,(PvQ)∧R⊢P∧RvQ∧R          Q,(PvQ)∧R⊢P∧RvQ∧R
%:    ----------------------      ------------------
%:    P⊢((PvQ)∧R)→(P∧RvQ∧R)      Q⊢((PvQ)∧R)→(P∧RvQ∧R)
%:    --------------------------------------------------
%:             PvQ⊢((PvQ)∧R)→(P∧RvQ∧R)
%:            ==========================
%:            PvQ∧R⊢((PvQ)∧R)→(P∧RvQ∧R)
%:  
%:            ^distr-weird-2
%:  
$$\pu
  \ded{distr-weird-2}
$$

\newpage


% (find-books "__alg/__alg.el" "davey-priestley")
% (find-daveypriestleypage (+ 14  88)  "The M3-N5 Theorem")

%L forths["-"] = function () pusharrow("-") end

%D diagram ??
%D 2Dx     100  +20  +20    +40
%D 2D  100           A0
%D 2D              /    \
%D 2D  +20      A1       \
%D 2D         /    \      \
%D 2D  +20 A2        A3     A4
%D 2D         \    /      /
%D 2D  +20      A5       /
%D 2D              \    /
%D 2D  +20           A6
%D 2D
%D ren     A0      ==> B_1{∨}B_2
%D ren   A1        ==> ·
%D ren A2  A3   A4 ==> A B_1 B_2
%D ren   A5        ==> A{∧}B_1
%D ren     A6      ==> A{∧}B_2
%D
%D (( A0 A1 - A0 A4 -
%D    A1 A2 - A1 A3 - A2 A5 - A3 A5 -
%D    A4 A6 - A5 A6 -
%D
%D    newnode: A2L at: @A2+v(-25,0) .TeX= A{∧}(\bigvee_{i}B_i)= place
%D    newnode: A5L at: @A5+v(-45,0) .TeX= \bigvee_{i}(A{∧}B_i)= place
%D ))
%D enddiagram
%D
$$\pu
  \diag{??}
$$




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

\end{document}

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