% (find-LATEX "2021systemF.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2021systemF.tex" :end))
% (defun C () (interactive) (find-LATEXSH "lualatex 2021systemF.tex" "Success!!!"))
% (defun D () (interactive) (find-pdf-page      "~/LATEX/2021systemF.pdf"))
% (defun d () (interactive) (find-pdftools-page "~/LATEX/2021systemF.pdf"))
% (defun e () (interactive) (find-LATEX "2021systemF.tex"))
% (defun u () (interactive) (find-latex-upload-links "2021systemF"))
% (defun v () (interactive) (find-2a '(e) '(d)))
% (defun cv () (interactive) (C) (ee-kill-this-buffer) (v) (g))
% (defun d0 () (interactive) (find-ebuffer "2021systemF.pdf"))
%          (code-eec-LATEX "2021systemF")
% (find-pdf-page   "~/LATEX/2021systemF.pdf")
% (find-sh0 "cp -v  ~/LATEX/2021systemF.pdf /tmp/")
% (find-sh0 "cp -v  ~/LATEX/2021systemF.pdf /tmp/pen/")
%   file:///home/edrx/LATEX/2021systemF.pdf
%               file:///tmp/2021systemF.pdf
%           file:///tmp/pen/2021systemF.pdf
% http://angg.twu.net/LATEX/2021systemF.pdf
% (find-LATEX "2019.mk")
% (find-lualatex-links "2021systemF")

% «.bool-and-prod»	(to "bool-and-prod")

\documentclass[oneside,a5paper,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")
%\input 2017planar-has-defs.tex    % (find-LATEX "2017planar-has-defs.tex")
%
%\usepackage[backend=biber,
%   style=alphabetic]{biblatex}            % (find-es "tex" "biber")
%\addbibresource{catsem-slides.bib}        % (find-LATEX "catsem-slides.bib")
%
% (find-es "tex" "geometry")
\begin{document}

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

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

% (find-books "__logic/__logic.el" "girard")
% (find-proofsandtypespage (+ 8 81) "11 System F")
% (find-proofsandtypespage (+ 8 81) "11.1 The calculus")
% (find-proofsandtypespage (+ 8 82) "11.2 Comments")
% (find-proofsandtypespage (+ 8 83) "11.3 Representation of simple types")
% (find-proofsandtypespage (+ 8 83) "11.3.1 Booleans")
% (find-proofsandtypespage (+ 8 83) "11.3.2 Product of types")
% (find-proofsandtypespage (+ 8 84) "11.3.3 Empty type")
% (find-proofsandtypespage (+ 8 84) "11.3.4 Sum type")
% (find-proofsandtypespage (+ 8 85) "11.3.5 Existential type")
% (find-proofsandtypespage (+ 8 85) "11.4 Representation of a free structure")
% (find-proofsandtypespage (+ 8 86) "11.4.1 Free structure")
% (find-proofsandtypespage (+ 8 87) "11.4.2 Representation of the constructors")
% (find-proofsandtypespage (+ 8 87) "11.4.3 Induction")
% (find-proofsandtypespage (+ 8 88) "11.5 Representation of inductive types")
% (find-proofsandtypespage (+ 8 88) "11.5.1 Integers")
% (find-proofsandtypespage (+ 8 90) "11.5.2 Lists")
% (find-proofsandtypespage (+ 8 92) "11.5.3 Binary trees")
% (find-proofsandtypespage (+ 8 92) "11.5.4 Trees of branching type U")


% «bool-and-prod»  (to ".bool-and-prod")
% (sysfp 1 "bool-and-prod")
% (sysfa   "bool-and-prod")
% (find-angg "AGDA/GLT.agda")

\def\Bool{\mathsf{Bool}}
\def\True{\mathsf{True}}
\def\False{\mathsf{False}}
\def\If{\mathsf{If}}
\def\Nat{\mathsf{Nat}}
\def\O{\mathsf{O}}
\def\S{\mathsf{S}}

$\Bool = ΠA.(A→A→A)$

$\True  = ΛA.(λa_1. \, λa_2. \, a_1)$

$\False = ΛA.(λa_1. \, λa_2. \, a_2)$

$\If \, b^\Bool \, c_1 \, c_2 = b \, C \, c_1 \, c_2$


\bsk

$A×B = ΠC.((A→B→C)→C)$

$(a,b) = ΛC. \, λf^{A→B→C}.\, f \, a \, b$

$π_1 \, (a,b) = (a,b) \, A \, (λa. \, λb. \, a)$

$π_2 \, (a,b) = (a,b) \, B \, (λa. \, λb. \, b)$

$π_1 \, p^{A×B} = p \, A \, (λa. \, λb. \, a)$

$π_2 \, p^{A×B} = p \, B \, (λa. \, λb. \, b)$



\bsk

\def\inj{\mathsf{inj}}

$A+B = ΠC.((A→C)→(B→C)→C)$

$\inj_1 \, a = ΛC. \, λf. \, λg. \, f \, a$

$\inj_2 \, b = ΛC. \, λf. \, λg. \, g \, b$

$[h^{A→D}, k^{B→D}] = (λs^{A+B}. \, s \, D \, h \, k)^{A+B→D}$


\bsk

$\Nat = ΠA.((A→A)→(A→A))$




\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=2021systemF veryclean
make -f 2019.mk STEM=2021systemF pdf

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