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

\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}
%
\usepackage{agda}
\usepackage{fontspec,unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
%
% (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")
%
% (find-es "tex" "geometry")
\begin{document}

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


\begin{code}
module 2022AgdaYoneda1 where

infix 60 ¬_
infix 30 _∧_
infix 20 _∨_

-- And:
--
data _∧_ (P Q : Set) : Set where
  pair : P → Q → P ∧ Q

proj1 : {P Q : Set} → (P ∧ Q) → P
proj1 {P} {Q} (pair <P> <Q>) = <P>
proj2 : {P Q : Set} → (P ∧ Q) → Q
proj2 {P} {Q} (pair <P> <Q>) = <Q>

-- True:
--
data True : Set where
  tt : True

-- Or:
--
data _∨_ (P Q : Set) : Set where
  ∨-IL : P → P ∨ Q
  ∨-IR : Q → P ∨ Q

inL : {P Q : Set} → P → (P ∨ Q)
inL {P} {Q} <P> = ∨-IL <P>
inR : {P Q : Set} → Q → (P ∨ Q)
inR {P} {Q} <Q> = ∨-IR <Q>

[,] : {P Q R : Set} → (P → R) → (Q → R) → (P ∨ Q → R)
[,] {P} {Q} {R} <P→R> <Q→R> (∨-IL <P>) = <P→R> <P>
[,] {P} {Q} {R} <P→R> <Q→R> (∨-IR <Q>) = <Q→R> <Q>

-- False:
--
data False : Set where

elim-False : {A : Set} → False → A
elim-False ()

-- Not:
--
¬_ : Set → Set
¬ P = P → False

-- Biimplication:
-- ?

-- Exists:
--
data ∃ {A : Set} (P : A → Set) : Set where
  ∃-I : (a : A) → P a → ∃ P

-- Forall:
--
∏ : {A : Set} (P : A → Set) → Set
∏ {A} P = (a : A) → P a
\end{code}

\end{document}


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

\end{document}

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

 (eepitch-shell)
 (eepitch-kill)
 (eepitch-shell)
agda --latex --latex-dir=. 2022AgdaYoneda1.lagda.tex
lualatex 2022AgdaYoneda1.tex


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