Logiweb(TM)

Logiweb expansion of problemone in pyk

Up Help

"File page.tex
\documentclass [fleqn]{article}

\everymath{\rm}
\everydisplay{\rm}
\usepackage{latexsym}
\setlength {\overfullrule }{0mm}
%\input{lgwinclude}

\usepackage{url}
\usepackage[dvipdfm=true]{hyperref}
\usepackage{amsmath}
\usepackage{theorem}
\usepackage{amssymb}
\hypersetup{pdfpagemode=none}
\hypersetup{pdfstartpage=1}
\hypersetup{pdfstartview=FitBH}
\hypersetup{pdfpagescrop={120 80 490 730}}
\hypersetup{pdftitle=Logiweb sequent calculus}
\hypersetup{colorlinks=true}

% Save current \parindent (used by e.g. pyk display ... end display)
\newlength{\docparindent}
\setlength{\docparindent}{\parindent}

%Our extras
\newtheorem{Def}{Definition}[section]
\newtheorem{Lem}[Def]{Lemma}
\newtheorem{The}[Def]{Theorem}
\newtheorem{Cor}[Def]{Corollary}
\newtheorem{Alg}[Def]{Algorithm}
\theorembodyfont{\rmfamily} %normale bogstaver
\newtheorem{Exa}[Def]{Example}
\newtheorem{Rem}[Def]{Remark}

\begin{document}
\title{Formal Logic}
\author{Lasse Nielsen \& Morten Ib Nielsen\\
Department of Computer Science, University of Copenhagen}
\date{\today}
\maketitle

\section{Initial remarks}
Initially we planned to show a simple result of Group Theory namely the
uniqueness of the neutral element. Our idea was to develop propositional logic
and predicate calculus first. Based on these we planned to develop the axiomatic set theory ZFC
and finally when we had sets we could define groups. Unfortunately it turned out that this was
much more cumbersome than we thought both because we are newcommers to Logiweb\texttrademark and also because core Logiweb\texttrademark
is very low level. Being newcommers to Logiweb\texttrademark we have used a lot of time
trying to find out how to use the system. This hasn't been easy due to the total absence of a hands on users manual.
Thus we wasted a lot of time early on trying to parse other peoples code from earlier years in order to understand how
to use pyk (the language used to construct proofs ect. in Logiweb\texttrademark). This was a very frustrating and non-trivial task since this years pyk syntax is different from earlier years!
A lot of emailing back and forth with Klaus Grue helped us, but progress was slow. Very late in the course we had the oportunity
to sit down with Klaus in a kind of assisted programming session, where Klaus helped us with our problems as they occured -
this was very rewarding. After that we revised our goals with respect to this project and we found that even though we were now
able to prove things in Logiweb\texttrademark our initial goal was out of range because of the assembler like nature of our predicate calculus.
Instead we decided to take the first step towards a more high level interface to our predicate calculus.

\section{Conclusion}
In this report we define .... todo



Mainly we have experienced that Logiweb\texttrademark is very

Soon it turned that it wasn't as easy as we thought
to master Logiweb\texttrademark.

\section{Introduction}

In this report we set out to formally prove a simple result
of Group Theory namely:
\begin{The}
Let $e$ be a neutral element of a Group $G$ then $e$ is unique. Thus
we can talk about \emph{the neutral element} of a Group $G$.
\end{The}

The theorem above is very loosely formulated. In this report we set out to
formalize the theorem and give a formal proof of it's correctness. In order to
do this we need to do a lot of other work.
First in XXTODO we define \emph{Propositional Calculus} and then in MMTODO we define \emph{First order Predicate Calculus}. Then using this we define
ZFC set theory in YYTODO and finally having set theory available we can define a Group in ZZTODO.
Then in WWTODO we restate the above theorem in a formal setting and we give a formal proof of it's
correctness.

TODO mere jalla.

\section{First order predicate calculus}
Based on mathworld\footnote{http://mathworld.wolfram.com/First-OrderLogic.html.} and thus on Kleene (2002) we define
first-order predicate calculus below. We note that the axioms 1 through 10 together with the inference rule
modus ponens constitutes the propositional calculus.

Our definitions are not excately like those found on Mathworld. The reason is that we have made
$\Rightarrow$ right associative this means that
" [ math metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar end math ] " really means
" [ math metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar end math ] " below.

The " [ math define statement of pred calc as all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar imply metavar var f end metavar rule plus all metavar var f end metavar indeed lnot lnot metavar var f end metavar imply metavar var f end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var h end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar imply metavar var g end metavar imply metavar var h end metavar imply metavar var f end metavar imply metavar var h end metavar rule plus all metavar var x end metavar indeed all metavar var r end metavar indeed all metavar var g end metavar indeed all metavar var f end metavar indeed sub zero quote metavar var h end metavar end quote is quote metavar var f end metavar end quote where quote metavar var x end metavar end quote is quote metavar var r end metavar end quote end sub endorse metavar var h end metavar imply exists metavar var x end metavar dot metavar var f end metavar end exists rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var f end metavar lor metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var h end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var h end metavar imply metavar var g end metavar imply metavar var f end metavar lor metavar var h end metavar imply metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var x end metavar indeed quote metavar var x end metavar end quote avoid zero quote metavar var g end metavar end quote endorse metavar var f end metavar imply metavar var g end metavar infer exists metavar var x end metavar dot metavar var f end metavar end exists imply metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var f end metavar imply metavar var g end metavar infer metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar lor metavar var f end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar imply lnot metavar var g end metavar imply lnot metavar var f end metavar rule plus all metavar var a end metavar indeed all metavar var b end metavar indeed lambda var x dot deduction zero quote metavar var a end metavar end quote conclude quote metavar var b end metavar end quote end deduction endorse metavar var a end metavar infer metavar var b end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar rule plus all metavar var x end metavar indeed all metavar var r end metavar indeed all metavar var g end metavar indeed all metavar var f end metavar indeed sub zero quote metavar var h end metavar end quote is quote metavar var f end metavar end quote where quote metavar var x end metavar end quote is quote metavar var r end metavar end quote end sub endorse forall metavar var x end metavar dot metavar var f end metavar end forall imply metavar var h end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar land metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar imply metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var x end metavar indeed quote metavar var x end metavar end quote avoid zero quote metavar var g end metavar end quote endorse metavar var g end metavar imply metavar var f end metavar infer metavar var g end metavar imply forall metavar var x end metavar dot metavar var f end metavar end forall end define end math ] " contains the following axioms
\begin{enumerate}
\item " [ math define statement of pc1 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar end define , define proof of pc1 as rule tactic end define end math ] "

\item " [ math define statement of pc2 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var h end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar imply metavar var g end metavar imply metavar var h end metavar imply metavar var f end metavar imply metavar var h end metavar end define , define proof of pc2 as rule tactic end define end math ] "

\item " [ math define statement of pc3 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar land metavar var g end metavar end define , define proof of pc3 as rule tactic end define end math ] "

\item " [ math define statement of pc4 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var f end metavar lor metavar var g end metavar end define , define proof of pc4 as rule tactic end define end math ] "

\item " [ math define statement of pc5 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar lor metavar var f end metavar end define , define proof of pc5 as rule tactic end define end math ] "

\item " [ math define statement of pc6 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar imply metavar var f end metavar end define , define proof of pc6 as rule tactic end define end math ] "

\item " [ math define statement of pc7 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar imply metavar var g end metavar end define , define proof of pc7 as rule tactic end define end math ] "

\item " [ math define statement of pc8 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var h end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var h end metavar imply metavar var g end metavar imply metavar var f end metavar lor metavar var h end metavar imply metavar var g end metavar end define , define proof of pc8 as rule tactic end define end math ] "

\item " [ math define statement of pc9 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar imply lnot metavar var g end metavar imply lnot metavar var f end metavar end define , define proof of pc9 as rule tactic end define end math ] "

\item " [ math define statement of pc10 as pred calc infer all metavar var f end metavar indeed lnot lnot metavar var f end metavar imply metavar var f end metavar end define , define proof of pc10 as rule tactic end define end math ] "

\item " [ math define statement of pc11 as pred calc infer all metavar var x end metavar indeed all metavar var r end metavar indeed all metavar var g end metavar indeed all metavar var f end metavar indeed sub zero quote metavar var h end metavar end quote is quote metavar var f end metavar end quote where quote metavar var x end metavar end quote is quote metavar var r end metavar end quote end sub endorse forall metavar var x end metavar dot metavar var f end metavar end forall imply metavar var h end metavar end define , define proof of pc11 as rule tactic end define end math ] "

\item " [ math define statement of pc12 as pred calc infer all metavar var x end metavar indeed all metavar var r end metavar indeed all metavar var g end metavar indeed all metavar var f end metavar indeed sub zero quote metavar var h end metavar end quote is quote metavar var f end metavar end quote where quote metavar var x end metavar end quote is quote metavar var r end metavar end quote end sub endorse metavar var h end metavar imply exists metavar var x end metavar dot metavar var f end metavar end exists end define , define proof of pc12 as rule tactic end define end math ] "

\end{enumerate}

We note that in first order predicate calculus metavariables used in functions $F$ and predicates $P$ are \emph{object metavariables}.

The only proof rule in " [ math define statement of pred calc as all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar imply metavar var f end metavar rule plus all metavar var f end metavar indeed lnot lnot metavar var f end metavar imply metavar var f end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var h end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar imply metavar var g end metavar imply metavar var h end metavar imply metavar var f end metavar imply metavar var h end metavar rule plus all metavar var x end metavar indeed all metavar var r end metavar indeed all metavar var g end metavar indeed all metavar var f end metavar indeed sub zero quote metavar var h end metavar end quote is quote metavar var f end metavar end quote where quote metavar var x end metavar end quote is quote metavar var r end metavar end quote end sub endorse metavar var h end metavar imply exists metavar var x end metavar dot metavar var f end metavar end exists rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var f end metavar lor metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var h end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var h end metavar imply metavar var g end metavar imply metavar var f end metavar lor metavar var h end metavar imply metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var x end metavar indeed quote metavar var x end metavar end quote avoid zero quote metavar var g end metavar end quote endorse metavar var f end metavar imply metavar var g end metavar infer exists metavar var x end metavar dot metavar var f end metavar end exists imply metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var f end metavar imply metavar var g end metavar infer metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar lor metavar var f end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar imply lnot metavar var g end metavar imply lnot metavar var f end metavar rule plus all metavar var a end metavar indeed all metavar var b end metavar indeed lambda var x dot deduction zero quote metavar var a end metavar end quote conclude quote metavar var b end metavar end quote end deduction endorse metavar var a end metavar infer metavar var b end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar rule plus all metavar var x end metavar indeed all metavar var r end metavar indeed all metavar var g end metavar indeed all metavar var f end metavar indeed sub zero quote metavar var h end metavar end quote is quote metavar var f end metavar end quote where quote metavar var x end metavar end quote is quote metavar var r end metavar end quote end sub endorse forall metavar var x end metavar dot metavar var f end metavar end forall imply metavar var h end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar land metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar imply metavar var g end metavar rule plus all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var x end metavar indeed quote metavar var x end metavar end quote avoid zero quote metavar var g end metavar end quote endorse metavar var g end metavar imply metavar var f end metavar infer metavar var g end metavar imply forall metavar var x end metavar dot metavar var f end metavar end forall end define end math ] " is Modus Ponens which says
\begin{itemize}
\item " [ math define statement of pcmp as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var f end metavar imply metavar var g end metavar infer metavar var g end metavar end define , define proof of pcmp as rule tactic end define end math ] "

\item " [ math define statement of pcia as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var x end metavar indeed quote metavar var x end metavar end quote avoid zero quote metavar var g end metavar end quote endorse metavar var g end metavar imply metavar var f end metavar infer metavar var g end metavar imply forall metavar var x end metavar dot metavar var f end metavar end forall end define , define proof of pcia as rule tactic end define end math ] "

\item " [ math define statement of pcie as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var x end metavar indeed quote metavar var x end metavar end quote avoid zero quote metavar var g end metavar end quote endorse metavar var f end metavar imply metavar var g end metavar infer exists metavar var x end metavar dot metavar var f end metavar end exists imply metavar var g end metavar end define , define proof of pcie as rule tactic end define end math ] "

\item " [ math define statement of pcdeduction as pred calc infer all metavar var a end metavar indeed all metavar var b end metavar indeed lambda var x dot deduction zero quote metavar var a end metavar end quote conclude quote metavar var b end metavar end quote end deduction endorse metavar var a end metavar infer metavar var b end metavar end define , define proof of pcdeduction as rule tactic end define end math ] "
\end{itemize}

todo hvorfor tilfoejer vi deduction. bemaerk pcmp er imply elim mens pcded er imply intro

\subsection{Deduction lemma}

\begin{Lem}
" [ math define statement of pcded as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var g end metavar infer metavar var f end metavar imply metavar var g end metavar end define end math ] "
\end{Lem}
" [ math define proof of pcded as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var g end metavar infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var f end metavar infer metavar var g end metavar modus ponens metavar var f end metavar conclude metavar var g end metavar cut pcdeduction modus ponens all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var g end metavar conclude metavar var f end metavar imply metavar var g end metavar end quote state proof state cache var c end expand end define end math ] "




\subsection{A little proof}
Below we make some small proofs just to demonstrate how to do it but also in order to test our definitions
above.

\begin{Lem}
" [ math define statement of trivia as pred calc infer all metavar var f end metavar indeed metavar var f end metavar imply metavar var f end metavar end define end math ] "
\end{Lem}

" [ math define proof of trivia as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed pc2 conclude metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar cut pc1 conclude metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar cut pcmp modus ponens metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar modus ponens metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar conclude metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar cut pc1 conclude metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar cut pcmp modus ponens metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar modus ponens metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar imply metavar var f end metavar conclude metavar var f end metavar imply metavar var f end metavar end quote state proof state cache var c end expand end define end math ] "

\begin{Lem}[Repetition]
" [ math define statement of repeat as pred calc infer all metavar var f end metavar indeed metavar var f end metavar infer metavar var f end metavar end define end math ] "
\end{Lem}

" [ math define proof of repeat as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed metavar var f end metavar infer trivia conclude metavar var f end metavar imply metavar var f end metavar cut pcmp modus ponens metavar var f end metavar modus ponens metavar var f end metavar imply metavar var f end metavar conclude metavar var f end metavar end quote state proof state cache var c end expand end define end math ] "

\begin{Lem}
" [ math define statement of iatest as pred calc infer all metavar var g end metavar indeed all metavar var y end metavar indeed quote metavar var y end metavar end quote avoid zero quote metavar var g end metavar end quote endorse metavar var g end metavar imply forall metavar var y end metavar dot metavar var y end metavar imply metavar var g end metavar end forall end define end math ] "
\end{Lem}

" [ math define proof of iatest as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var g end metavar indeed all metavar var y end metavar indeed quote metavar var y end metavar end quote avoid zero quote metavar var g end metavar end quote endorse pc1 conclude metavar var g end metavar imply metavar var y end metavar imply metavar var g end metavar cut pcia modus probans quote metavar var y end metavar end quote avoid zero quote metavar var g end metavar end quote modus ponens metavar var g end metavar imply metavar var y end metavar imply metavar var g end metavar conclude metavar var g end metavar imply forall metavar var y end metavar dot metavar var y end metavar imply metavar var g end metavar end forall end quote state proof state cache var c end expand end define end math ] "

\section{Natural deduction}
TODO skriv noget tekst

\begin{Lem}
" [ math define statement of andintro as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var g end metavar infer metavar var f end metavar land metavar var g end metavar end define end math ] "
\end{Lem}

" [ math define proof of andintro as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var g end metavar infer pc3 conclude metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar land metavar var g end metavar cut pcmp modus ponens metavar var f end metavar modus ponens metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar land metavar var g end metavar conclude metavar var g end metavar imply metavar var f end metavar land metavar var g end metavar cut pcmp modus ponens metavar var g end metavar modus ponens metavar var g end metavar imply metavar var f end metavar land metavar var g end metavar conclude metavar var f end metavar land metavar var g end metavar end quote state proof state cache var c end expand end define end math ] "

\begin{Lem}
" [ math define statement of andelim1 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar infer metavar var f end metavar end define end math ] "
\end{Lem}

" [ math define proof of andelim1 as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar infer pc6 conclude metavar var f end metavar land metavar var g end metavar imply metavar var f end metavar cut pcmp modus ponens metavar var f end metavar land metavar var g end metavar modus ponens metavar var f end metavar land metavar var g end metavar imply metavar var f end metavar conclude metavar var f end metavar end quote state proof state cache var c end expand end define end math ] "

\begin{Lem}
" [ math define statement of andelim2 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar infer metavar var g end metavar end define end math ] "
\end{Lem}

" [ math define proof of andelim2 as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar land metavar var g end metavar infer pc7 conclude metavar var f end metavar land metavar var g end metavar imply metavar var g end metavar cut pcmp modus ponens metavar var f end metavar land metavar var g end metavar modus ponens metavar var f end metavar land metavar var g end metavar imply metavar var g end metavar conclude metavar var g end metavar end quote state proof state cache var c end expand end define end math ] "

\begin{Lem}
" [ math define statement of orintro1 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var f end metavar lor metavar var g end metavar end define end math ] "
\end{Lem}

" [ math define proof of orintro1 as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer pc4 conclude metavar var f end metavar imply metavar var f end metavar lor metavar var g end metavar cut pcmp modus ponens metavar var f end metavar modus ponens metavar var f end metavar imply metavar var f end metavar lor metavar var g end metavar conclude metavar var f end metavar lor metavar var g end metavar end quote state proof state cache var c end expand end define end math ] "

\begin{Lem}
" [ math define statement of orintro2 as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var g end metavar infer metavar var f end metavar lor metavar var g end metavar end define end math ] "
\end{Lem}

" [ math define proof of orintro2 as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var g end metavar infer pc5 conclude metavar var g end metavar imply metavar var f end metavar lor metavar var g end metavar cut pcmp modus ponens metavar var g end metavar modus ponens metavar var g end metavar imply metavar var f end metavar lor metavar var g end metavar conclude metavar var f end metavar lor metavar var g end metavar end quote state proof state cache var c end expand end define end math ] "

\begin{Lem}
" [ math define statement of orelim as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var h end metavar indeed metavar var f end metavar lor metavar var g end metavar infer metavar var f end metavar infer metavar var h end metavar infer metavar var g end metavar infer metavar var h end metavar infer metavar var h end metavar end define end math ] "
\end{Lem}

" [ math define proof of orelim as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed all metavar var h end metavar indeed metavar var f end metavar lor metavar var g end metavar infer metavar var f end metavar infer metavar var h end metavar infer metavar var g end metavar infer metavar var h end metavar infer pcded modus ponens metavar var f end metavar infer metavar var h end metavar conclude metavar var f end metavar imply metavar var h end metavar cut pcded modus ponens metavar var g end metavar infer metavar var h end metavar conclude metavar var g end metavar imply metavar var h end metavar cut pc8 conclude metavar var f end metavar imply metavar var h end metavar imply metavar var g end metavar imply metavar var h end metavar imply metavar var f end metavar lor metavar var g end metavar imply metavar var h end metavar cut pcmp modus ponens metavar var f end metavar imply metavar var h end metavar modus ponens metavar var f end metavar imply metavar var h end metavar imply metavar var g end metavar imply metavar var h end metavar imply metavar var f end metavar lor metavar var g end metavar imply metavar var h end metavar conclude metavar var g end metavar imply metavar var h end metavar imply metavar var f end metavar lor metavar var g end metavar imply metavar var h end metavar cut pcmp modus ponens metavar var g end metavar imply metavar var h end metavar modus ponens metavar var g end metavar imply metavar var h end metavar imply metavar var f end metavar lor metavar var g end metavar imply metavar var h end metavar conclude metavar var f end metavar lor metavar var g end metavar imply metavar var h end metavar cut pcmp modus ponens metavar var f end metavar lor metavar var g end metavar modus ponens metavar var f end metavar lor metavar var g end metavar imply metavar var h end metavar conclude metavar var h end metavar end quote state proof state cache var c end expand end define end math ] "

TODO lemma changed from natural deduction!!! skriv afsnit om det.
\begin{Lem}
" [ math define statement of notintro as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var g end metavar infer metavar var f end metavar infer lnot metavar var g end metavar infer lnot metavar var f end metavar end define end math ] "
\end{Lem}

" [ math define proof of notintro as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var g end metavar infer metavar var f end metavar infer lnot metavar var g end metavar infer pcded modus ponens metavar var f end metavar infer metavar var g end metavar conclude metavar var f end metavar imply metavar var g end metavar cut pcded modus ponens metavar var f end metavar infer lnot metavar var g end metavar conclude metavar var f end metavar imply lnot metavar var g end metavar cut pc9 conclude metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar imply lnot metavar var g end metavar imply lnot metavar var f end metavar cut pcmp modus ponens metavar var f end metavar imply metavar var g end metavar modus ponens metavar var f end metavar imply metavar var g end metavar imply metavar var f end metavar imply lnot metavar var g end metavar imply lnot metavar var f end metavar conclude metavar var f end metavar imply lnot metavar var g end metavar imply lnot metavar var f end metavar cut pcmp modus ponens metavar var f end metavar imply lnot metavar var g end metavar modus ponens metavar var f end metavar imply lnot metavar var g end metavar imply lnot metavar var f end metavar conclude lnot metavar var f end metavar end quote state proof state cache var c end expand end define end math ] "

\begin{Lem}
" [ math define statement of notnotelim as pred calc infer all metavar var f end metavar indeed lnot lnot metavar var f end metavar infer metavar var f end metavar end define end math ] "
\end{Lem}

" [ math define proof of notnotelim as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed lnot lnot metavar var f end metavar infer pc10 conclude lnot lnot metavar var f end metavar imply metavar var f end metavar cut pcmp modus ponens lnot lnot metavar var f end metavar modus ponens lnot lnot metavar var f end metavar imply metavar var f end metavar conclude metavar var f end metavar end quote state proof state cache var c end expand end define end math ] "

\subsection{Derived theorems}
Below we apply the theorems above to prove some other fairly standard rules.

\begin{Lem}
" [ math define statement of mt as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar infer lnot metavar var g end metavar infer lnot metavar var f end metavar end define end math ] "
\end{Lem}

" [ math define proof of mt as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar imply metavar var g end metavar infer lnot metavar var g end metavar infer all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer pcmp modus ponens metavar var f end metavar modus ponens metavar var f end metavar imply metavar var g end metavar conclude metavar var g end metavar cut pcdeduction modus ponens all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer metavar var g end metavar conclude metavar var f end metavar infer metavar var g end metavar cut all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer repeat modus ponens lnot metavar var g end metavar conclude lnot metavar var g end metavar cut pcdeduction modus ponens all metavar var f end metavar indeed all metavar var g end metavar indeed metavar var f end metavar infer lnot metavar var g end metavar conclude metavar var f end metavar infer lnot metavar var g end metavar cut notintro modus ponens metavar var f end metavar infer metavar var g end metavar modus ponens metavar var f end metavar infer lnot metavar var g end metavar conclude lnot metavar var f end metavar end quote state proof state cache var c end expand end define end math ] "

\begin{Lem}
" [ math define statement of notnotintro as pred calc infer all metavar var f end metavar indeed metavar var f end metavar infer lnot lnot metavar var f end metavar end define end math ] "
\end{Lem}

" [ math define proof of notnotintro as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed metavar var f end metavar infer all metavar var f end metavar indeed metavar var f end metavar infer lnot metavar var f end metavar infer repeat modus ponens metavar var f end metavar conclude metavar var f end metavar cut pcdeduction modus ponens all metavar var f end metavar indeed metavar var f end metavar infer lnot metavar var f end metavar infer metavar var f end metavar conclude metavar var f end metavar imply lnot metavar var f end metavar imply metavar var f end metavar cut pcmp modus ponens metavar var f end metavar modus ponens metavar var f end metavar imply lnot metavar var f end metavar imply metavar var f end metavar conclude lnot metavar var f end metavar imply metavar var f end metavar cut trivia conclude lnot metavar var f end metavar imply lnot metavar var f end metavar cut pc9 conclude lnot metavar var f end metavar imply metavar var f end metavar imply lnot metavar var f end metavar imply lnot metavar var f end metavar imply lnot lnot metavar var f end metavar cut pcmp modus ponens lnot metavar var f end metavar imply metavar var f end metavar modus ponens lnot metavar var f end metavar imply metavar var f end metavar imply lnot metavar var f end metavar imply lnot metavar var f end metavar imply lnot lnot metavar var f end metavar conclude lnot metavar var f end metavar imply lnot metavar var f end metavar imply lnot lnot metavar var f end metavar cut pcmp modus ponens lnot metavar var f end metavar imply lnot metavar var f end metavar modus ponens lnot metavar var f end metavar imply lnot metavar var f end metavar imply lnot lnot metavar var f end metavar conclude lnot lnot metavar var f end metavar end quote state proof state cache var c end expand end define end math ] "



\begin{Lem}
" [ math define statement of pbc as pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed lnot metavar var f end metavar infer metavar var g end metavar infer lnot metavar var f end metavar infer lnot metavar var g end metavar infer metavar var f end metavar end define end math ] "
\end{Lem}

" [ math define proof of pbc as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var g end metavar indeed lnot metavar var f end metavar infer metavar var g end metavar infer lnot metavar var f end metavar infer lnot metavar var g end metavar infer notintro modus ponens lnot metavar var f end metavar infer metavar var g end metavar modus ponens lnot metavar var f end metavar infer lnot metavar var g end metavar conclude lnot lnot metavar var f end metavar cut notnotelim modus ponens lnot lnot metavar var f end metavar conclude metavar var f end metavar end quote state proof state cache var c end expand end define end math ] "

\subsection{Law of the Excluded Middle}
In this section we prove the \emph{Law of the Excluded Middle}.

\begin{The}\label{the:lem}
" [ math define statement of lem as pred calc infer all metavar var f end metavar indeed metavar var f end metavar lor lnot metavar var f end metavar end define end math ] "
\end{The}

" [ math define proof of lem as lambda var c dot lambda var x dot proof expand quote pred calc infer all metavar var f end metavar indeed all metavar var f end metavar indeed lnot metavar var f end metavar lor lnot metavar var f end metavar infer all metavar var f end metavar indeed metavar var f end metavar infer orintro1 modus ponens metavar var f end metavar conclude metavar var f end metavar lor lnot metavar var f end metavar cut pcdeduction modus ponens all metavar var f end metavar indeed metavar var f end metavar infer metavar var f end metavar lor lnot metavar var f end metavar conclude metavar var f end metavar infer metavar var f end metavar lor lnot metavar var f end metavar cut all metavar var f end metavar indeed metavar var f end metavar infer repeat modus ponens lnot metavar var f end metavar lor lnot metavar var f end metavar conclude lnot metavar var f end metavar lor lnot metavar var f end metavar cut pcdeduction modus ponens all metavar var f end metavar indeed metavar var f end metavar infer lnot metavar var f end metavar lor lnot metavar var f end metavar conclude metavar var f end metavar infer lnot metavar var f end metavar lor lnot metavar var f end metavar cut notintro modus ponens metavar var f end metavar infer metavar var f end metavar lor lnot metavar var f end metavar modus ponens metavar var f end metavar infer lnot metavar var f end metavar lor lnot metavar var f end metavar conclude lnot metavar var f end metavar cut orintro2 modus ponens lnot metavar var f end metavar conclude metavar var f end metavar lor lnot metavar var f end metavar cut pcdeduction modus ponens all metavar var f end metavar indeed lnot metavar var f end metavar lor lnot metavar var f end metavar infer metavar var f end metavar lor lnot metavar var f end metavar conclude lnot metavar var f end metavar lor lnot metavar var f end metavar infer metavar var f end metavar lor lnot metavar var f end metavar cut all metavar var f end metavar indeed lnot metavar var f end metavar lor lnot metavar var f end metavar infer repeat modus ponens lnot metavar var f end metavar lor lnot metavar var f end metavar conclude lnot metavar var f end metavar lor lnot metavar var f end metavar cut pcdeduction modus ponens all metavar var f end metavar indeed lnot metavar var f end metavar lor lnot metavar var f end metavar infer lnot metavar var f end metavar lor lnot metavar var f end metavar conclude lnot metavar var f end metavar lor lnot metavar var f end metavar infer lnot metavar var f end metavar lor lnot metavar var f end metavar cut notintro modus ponens lnot metavar var f end metavar lor lnot metavar var f end metavar infer metavar var f end metavar lor lnot metavar var f end metavar modus ponens lnot metavar var f end metavar lor lnot metavar var f end metavar infer lnot metavar var f end metavar lor lnot metavar var f end metavar conclude lnot lnot metavar var f end metavar lor lnot metavar var f end metavar cut notnotelim modus ponens lnot lnot metavar var f end metavar lor lnot metavar var f end metavar conclude metavar var f end metavar lor lnot metavar var f end metavar end quote state proof state cache var c end expand end define end math ] "




\begin{appendix}
\section{Pyk definitions}

\begin{flushleft}
" [ math define pyk of pred calc as text "pred calc" end text end define linebreak define pyk of pc1 as text "pc1" end text end define linebreak define pyk of pc2 as text "pc2" end text end define linebreak define pyk of pc3 as text "pc3" end text end define linebreak define pyk of pc4 as text "pc4" end text end define linebreak define pyk of pc5 as text "pc5" end text end define linebreak define pyk of pc6 as text "pc6" end text end define linebreak define pyk of pc7 as text "pc7" end text end define linebreak define pyk of pc8 as text "pc8" end text end define linebreak define pyk of pc9 as text "pc9" end text end define linebreak define pyk of pc10 as text "pc10" end text end define linebreak define pyk of pc11 as text "pc11" end text end define linebreak define pyk of pc12 as text "pc12" end text end define linebreak define pyk of pcmp as text "pcmp" end text end define linebreak define pyk of pcded as text "pcded" end text end define linebreak define pyk of pcia as text "pcia" end text end define linebreak define pyk of pcie as text "pcie" end text end define linebreak define pyk of pcdeduction as text "pcdeduction" end text end define linebreak define pyk of trivia as text "trivia" end text end define linebreak define pyk of iatest as text "iatest" end text end define linebreak define pyk of andintro as text "andintro" end text end define linebreak define pyk of andelim1 as text "andelim1" end text end define linebreak define pyk of andelim2 as text "andelim2" end text end define linebreak define pyk of orintro1 as text "orintro1" end text end define linebreak define pyk of orintro2 as text "orintro2" end text end define linebreak define pyk of orelim as text "orelim" end text end define linebreak define pyk of notintro as text "notintro" end text end define linebreak define pyk of notnotintro as text "notnotintro" end text end define linebreak define pyk of notnotelim as text "notnotelim" end text end define linebreak define pyk of mt as text "mt" end text end define linebreak define pyk of pbc as text "pbc" end text end define linebreak define pyk of repeat as text "repeat" end text end define linebreak define pyk of lem as text "lem" end text end define linebreak define pyk of x setequiv x as text ""! setequiv "!" end text end define linebreak define pyk of x setequals x as text ""! setequals "!" end text end define linebreak define pyk of lnot x as text "lnot "!" end text end define linebreak define pyk of x land x as text ""! land "!" end text end define linebreak define pyk of x lor x as text ""! lor "!" end text end define linebreak define pyk of forall x dot x end forall as text "forall "! dot "! end forall" end text end define linebreak define pyk of exists x dot x end exists as text "exists "! dot "! end exists" end text end define linebreak define pyk of x setin x as text ""! setin "!" end text end define linebreak define pyk of problemone as text "problemone" end text end define linebreak unicode end of text end math ] "
\end{flushleft}

\section{Tex definitions}
\begin{itemize}
\item " [ math define tex of lnot var x as text "\neg #1." end text end define end math ] "
\item " [ math define tex of var x land var y as text "#1. \wedge #2." end text end define end math ] "
\item " [ math define tex of var x lor var y as text "#1. \vee #2." end text end define end math ] "
\item " [ math define tex of var x imply var y as text "#1. \Rightarrow #2." end text end define end math ] "
\item " [ math define tex of forall var y dot var b end forall as text "\forall #1. . \left(#2.\right)" end text end define end math ] "
\item " [ math define tex of exists var y dot var b end exists as text "\exists #1. . \left(#2.\right)" end text end define end math ] "
\item " [ math define tex of var y setin var b as text "#1. \in #2." end text end define end math ] "
\item " [ math define tex of var y setequiv var b as text "#1. \equiv #2." end text end define end math ] "
\item " [ math define tex of var y setequals var b as text "#1. = #2." end text end define end math ] "
\end{itemize}

\section{Priority table}
" [ flush left math define priority of problemone as preassociative priority problemone equal priority base equal priority bracket x end bracket equal priority big bracket x end bracket equal priority math x end math equal priority flush left x end left equal priority var x equal priority var y equal priority var z equal priority proclaim x as x end proclaim equal priority define x of x as x end define equal priority pyk equal priority tex equal priority tex name equal priority priority equal priority x equal priority true equal priority if x then x else x end if equal priority introduce x of x as x end introduce equal priority value equal priority claim equal priority bottom equal priority function f of x end function equal priority identity x end identity equal priority false equal priority untagged zero equal priority untagged one equal priority untagged two equal priority untagged three equal priority untagged four equal priority untagged five equal priority untagged six equal priority untagged seven equal priority untagged eight equal priority untagged nine equal priority zero equal priority one equal priority two equal priority three equal priority four equal priority five equal priority six equal priority seven equal priority eight equal priority nine equal priority var a equal priority var b equal priority var c equal priority var d equal priority var e equal priority var f equal priority var g equal priority var h equal priority var i equal priority var j equal priority var k equal priority var l equal priority var m equal priority var n equal priority var o equal priority var p equal priority var q equal priority var r equal priority var s equal priority var t equal priority var u equal priority var v equal priority var w equal priority tagged parenthesis x end tagged equal priority tagged if x then x else x end if equal priority array x is x end array equal priority left equal priority center equal priority right equal priority empty equal priority substitute x set x to x end substitute equal priority map tag x end tag equal priority raw map untag x end untag equal priority map untag x end untag equal priority normalizing untag x end untag equal priority apply x to x end apply equal priority apply one x to x end apply equal priority identifier x end identifier equal priority identifier one x plus id x end identifier equal priority array plus x and x end plus equal priority array remove x array x level x end remove equal priority array put x value x array x level x end put equal priority array add x value x index x value x level x end add equal priority bit x of x end bit equal priority bit one x of x end bit equal priority example rack equal priority vector hook equal priority bibliography hook equal priority dictionary hook equal priority body hook equal priority codex hook equal priority expansion hook equal priority code hook equal priority cache hook equal priority diagnose hook equal priority pyk aspect equal priority tex aspect equal priority texname aspect equal priority value aspect equal priority message aspect equal priority macro aspect equal priority definition aspect equal priority unpack aspect equal priority claim aspect equal priority priority aspect equal priority lambda identifier equal priority apply identifier equal priority true identifier equal priority if identifier equal priority quote identifier equal priority proclaim identifier equal priority define identifier equal priority introduce identifier equal priority hide identifier equal priority pre identifier equal priority post identifier equal priority eval x stack x cache x end eval equal priority eval two x ref x id x stack x cache x end eval equal priority eval three x function x stack x cache x end eval equal priority eval four x arguments x stack x cache x end eval equal priority lookup x stack x default x end lookup equal priority abstract x term x stack x cache x end abstract equal priority quote x end quote equal priority expand x state x cache x end expand equal priority expand two x definition x state x cache x end expand equal priority expand list x state x cache x end expand equal priority macro equal priority macro state equal priority zip x with x end zip equal priority assoc one x address x index x end assoc equal priority protect x end protect equal priority self equal priority macro define x as x end define equal priority value define x as x end define equal priority intro define x as x end define equal priority pyk define x as x end define equal priority tex define x as x end define equal priority tex name define x as x end define equal priority priority table x end table equal priority macro define one equal priority macro define two x end define equal priority macro define three x end define equal priority macro define four x state x cache x definition x end define equal priority state expand x state x cache x end expand equal priority quote expand x term x stack x end expand equal priority quote expand two x term x stack x end expand equal priority quote expand three x term x stack x value x end expand equal priority quote expand star x term x stack x end expand equal priority parenthesis x end parenthesis equal priority big parenthesis x end parenthesis equal priority display x end display equal priority statement x end statement equal priority spying test x end test equal priority false spying test x end test equal priority aspect x subcodex x end aspect equal priority aspect x term x cache x end aspect equal priority tuple x end tuple equal priority tuple one x end tuple equal priority tuple two x end tuple equal priority let two x apply x end let equal priority let one x apply x end let equal priority claim define x as x end define equal priority checker equal priority check x cache x end check equal priority check two x cache x def x end check equal priority check three x cache x def x end check equal priority check list x cache x end check equal priority check list two x cache x value x end check equal priority test x end test equal priority false test x end test equal priority raw test x end test equal priority message equal priority message define x as x end define equal priority the statement aspect equal priority statement equal priority statement define x as x end define equal priority example axiom equal priority example scheme equal priority example rule equal priority absurdity equal priority contraexample equal priority example theory primed equal priority example lemma equal priority metavar x end metavar equal priority meta a equal priority meta b equal priority meta c equal priority meta d equal priority meta e equal priority meta f equal priority meta g equal priority meta h equal priority meta i equal priority meta j equal priority meta k equal priority meta l equal priority meta m equal priority meta n equal priority meta o equal priority meta p equal priority meta q equal priority meta r equal priority meta s equal priority meta t equal priority meta u equal priority meta v equal priority meta w equal priority meta x equal priority meta y equal priority meta z equal priority sub x set x to x end sub equal priority sub star x set x to x end sub equal priority the empty set equal priority example remainder equal priority make visible x end visible equal priority intro x index x pyk x tex x end intro equal priority intro x pyk x tex x end intro equal priority error x term x end error equal priority error two x term x end error equal priority proof x term x cache x end proof equal priority proof two x term x end proof equal priority sequent eval x term x end eval equal priority seqeval init x term x end eval equal priority seqeval modus x term x end eval equal priority seqeval modus one x term x sequent x end eval equal priority seqeval verify x term x end eval equal priority seqeval verify one x term x sequent x end eval equal priority sequent eval plus x term x end eval equal priority seqeval plus one x term x sequent x end eval equal priority seqeval minus x term x end eval equal priority seqeval minus one x term x sequent x end eval equal priority seqeval deref x term x end eval equal priority seqeval deref one x term x sequent x end eval equal priority seqeval deref two x term x sequent x def x end eval equal priority seqeval at x term x end eval equal priority seqeval at one x term x sequent x end eval equal priority seqeval infer x term x end eval equal priority seqeval infer one x term x premise x sequent x end eval equal priority seqeval endorse x term x end eval equal priority seqeval endorse one x term x side x sequent x end eval equal priority seqeval est x term x end eval equal priority seqeval est one x term x name x sequent x end eval equal priority seqeval est two x term x name x sequent x def x end eval equal priority seqeval all x term x end eval equal priority seqeval all one x term x variable x sequent x end eval equal priority seqeval cut x term x end eval equal priority seqeval cut one x term x forerunner x end eval equal priority seqeval cut two x term x forerunner x sequent x end eval equal priority computably true x end true equal priority claims x cache x ref x end claims equal priority claims two x cache x ref x end claims equal priority the proof aspect equal priority proof equal priority lemma x says x end lemma equal priority proof of x reads x end proof equal priority in theory x lemma x says x end lemma equal priority in theory x antilemma x says x end antilemma equal priority in theory x rule x says x end rule equal priority in theory x antirule x says x end antirule equal priority verifier equal priority verify one x end verify equal priority verify two x proofs x end verify equal priority verify three x ref x sequents x diagnose x end verify equal priority verify four x premises x end verify equal priority verify five x ref x array x sequents x end verify equal priority verify six x ref x list x sequents x end verify equal priority verify seven x ref x id x sequents x end verify equal priority cut x and x end cut equal priority head x end head equal priority tail x end tail equal priority rule one x theory x end rule equal priority rule x subcodex x end rule equal priority rule tactic equal priority plus x and x end plus equal priority theory x end theory equal priority theory two x cache x end theory equal priority theory three x name x end theory equal priority theory four x name x sum x end theory equal priority example axiom lemma primed equal priority example scheme lemma primed equal priority example rule lemma primed equal priority contraexample lemma primed equal priority example axiom lemma equal priority example scheme lemma equal priority example rule lemma equal priority contraexample lemma equal priority example theory equal priority ragged right equal priority ragged right expansion equal priority parameter term x stack x seed x end parameter equal priority parameter term star x stack x seed x end parameter equal priority instantiate x with x end instantiate equal priority instantiate star x with x end instantiate equal priority occur x in x substitution x end occur equal priority occur star x in x substitution x end occur equal priority unify x with x substitution x end unify equal priority unify star x with x substitution x end unify equal priority unify two x with x substitution x end unify equal priority ell a equal priority ell b equal priority ell c equal priority ell d equal priority ell e equal priority ell f equal priority ell g equal priority ell h equal priority ell i equal priority ell j equal priority ell k equal priority ell l equal priority ell m equal priority ell n equal priority ell o equal priority ell p equal priority ell q equal priority ell r equal priority ell s equal priority ell t equal priority ell u equal priority ell v equal priority ell w equal priority ell x equal priority ell y equal priority ell z equal priority ell big a equal priority ell big b equal priority ell big c equal priority ell big d equal priority ell big e equal priority ell big f equal priority ell big g equal priority ell big h equal priority ell big i equal priority ell big j equal priority ell big k equal priority ell big l equal priority ell big m equal priority ell big n equal priority ell big o equal priority ell big p equal priority ell big q equal priority ell big r equal priority ell big s equal priority ell big t equal priority ell big u equal priority ell big v equal priority ell big w equal priority ell big x equal priority ell big y equal priority ell big z equal priority ell dummy equal priority sequent reflexivity equal priority tactic reflexivity equal priority sequent commutativity equal priority tactic commutativity equal priority the tactic aspect equal priority tactic equal priority tactic define x as x end define equal priority proof expand x state x cache x end expand equal priority proof expand list x state x cache x end expand equal priority proof state equal priority conclude one x cache x end conclude equal priority conclude two x proves x cache x end conclude equal priority conclude three x proves x lemma x substitution x end conclude equal priority conclude four x lemma x end conclude equal priority check equal priority general macro define x as x end define equal priority make root visible x end visible equal priority sequent example axiom equal priority sequent example rule equal priority sequent example contradiction equal priority sequent example theory equal priority sequent example lemma equal priority set x end set equal priority object var x end var equal priority object a equal priority object b equal priority object c equal priority object d equal priority object e equal priority object f equal priority object g equal priority object h equal priority object i equal priority object j equal priority object k equal priority object l equal priority object m equal priority object n equal priority object o equal priority object p equal priority object q equal priority object r equal priority object s equal priority object t equal priority object u equal priority object v equal priority object w equal priority object x equal priority object y equal priority object z equal priority sub x is x where x is x end sub equal priority sub zero x is x where x is x end sub equal priority sub one x is x where x is x end sub equal priority sub star x is x where x is x end sub equal priority deduction x conclude x end deduction equal priority deduction zero x conclude x end deduction equal priority deduction one x conclude x condition x end deduction equal priority deduction two x conclude x condition x end deduction equal priority deduction three x conclude x condition x bound x end deduction equal priority deduction four x conclude x condition x bound x end deduction equal priority deduction four star x conclude x condition x bound x end deduction equal priority deduction five x condition x bound x end deduction equal priority deduction six x conclude x exception x bound x end deduction equal priority deduction six star x conclude x exception x bound x end deduction equal priority deduction seven x end deduction equal priority deduction eight x bound x end deduction equal priority deduction eight star x bound x end deduction equal priority system s equal priority double negation equal priority rule mp equal priority rule gen equal priority deduction equal priority axiom s one equal priority axiom s two equal priority axiom s three equal priority axiom s four equal priority axiom s five equal priority axiom s six equal priority axiom s seven equal priority axiom s eight equal priority axiom s nine equal priority repetition equal priority lemma a one equal priority lemma a two equal priority lemma a four equal priority lemma a five equal priority prop three two a equal priority prop three two b equal priority prop three two c equal priority prop three two d equal priority prop three two e one equal priority prop three two e two equal priority prop three two e equal priority prop three two f one equal priority prop three two f two equal priority prop three two f equal priority prop three two g one equal priority prop three two g two equal priority prop three two g equal priority prop three two h one equal priority prop three two h two equal priority prop three two h equal priority block one x state x cache x end block equal priority block two x end block equal priority pred calc equal priority pc1 equal priority pc2 equal priority pc3 equal priority pc4 equal priority pc5 equal priority pc6 equal priority pc7 equal priority pc8 equal priority pc9 equal priority pc10 equal priority pc11 equal priority pc12 equal priority pcmp equal priority pcded equal priority pcia equal priority pcie equal priority pcdeduction equal priority trivia equal priority iatest equal priority andintro equal priority andelim1 equal priority andelim2 equal priority orintro1 equal priority orintro2 equal priority orelim equal priority notintro equal priority notnotintro equal priority notnotelim equal priority mt equal priority pbc equal priority repeat equal priority lem end priority greater than preassociative priority x sub x end sub equal priority x intro x index x pyk x tex x end intro equal priority x intro x pyk x tex x end intro equal priority x intro x index x pyk x tex x name x end intro equal priority x intro x pyk x tex x name x end intro equal priority x prime equal priority x assoc x end assoc equal priority x set x to x end set equal priority x set multi x to x end set equal priority x bit nil equal priority x bit one equal priority binary equal priority x color x end color equal priority x color star x end color equal priority x raw head equal priority x raw tail equal priority x cardinal untag equal priority x head equal priority x tail equal priority x is singular equal priority x is cardinal equal priority x is data equal priority x is atomic equal priority x cardinal retract equal priority x tagged retract equal priority x boolean retract equal priority x ref equal priority x id equal priority x debug equal priority x root equal priority x zeroth equal priority x first equal priority x second equal priority x third equal priority x fourth equal priority x fifth equal priority x sixth equal priority x seventh equal priority x eighth equal priority x ninth equal priority x is error equal priority x is metavar equal priority x is metaclosed equal priority x is metaclosed star equal priority x hide end priority greater than preassociative priority unicode start of text x end unicode text equal priority unicode end of text equal priority text x end text equal priority text x plus x equal priority text x plus indent x equal priority unicode newline x equal priority unicode space x equal priority unicode exclamation mark x equal priority unicode quotation mark x equal priority unicode number sign x equal priority unicode dollar sign x equal priority unicode percent x equal priority unicode ampersand x equal priority unicode apostrophe x equal priority unicode left parenthesis x equal priority unicode right parenthesis x equal priority unicode asterisk x equal priority unicode plus sign x equal priority unicode comma x equal priority unicode hyphen x equal priority unicode period x equal priority unicode slash x equal priority unicode zero x equal priority unicode one x equal priority unicode two x equal priority unicode three x equal priority unicode four x equal priority unicode five x equal priority unicode six x equal priority unicode seven x equal priority unicode eight x equal priority unicode nine x equal priority unicode colon x equal priority unicode semicolon x equal priority unicode less than x equal priority unicode equal sign x equal priority unicode greater than x equal priority unicode question mark x equal priority unicode commercial at x equal priority unicode capital a x equal priority unicode capital b x equal priority unicode capital c x equal priority unicode capital d x equal priority unicode capital e x equal priority unicode capital f x equal priority unicode capital g x equal priority unicode capital h x equal priority unicode capital i x equal priority unicode capital j x equal priority unicode capital k x equal priority unicode capital l x equal priority unicode capital m x equal priority unicode capital n x equal priority unicode capital o x equal priority unicode capital p x equal priority unicode capital q x equal priority unicode capital r x equal priority unicode capital s x equal priority unicode capital t x equal priority unicode capital u x equal priority unicode capital v x equal priority unicode capital w x equal priority unicode capital x x equal priority unicode capital y x equal priority unicode capital z x equal priority unicode left bracket x equal priority unicode backslash x equal priority unicode right bracket x equal priority unicode circumflex x equal priority unicode underscore x equal priority unicode grave accent x equal priority unicode small a x equal priority unicode small b x equal priority unicode small c x equal priority unicode small d x equal priority unicode small e x equal priority unicode small f x equal priority unicode small g x equal priority unicode small h x equal priority unicode small i x equal priority unicode small j x equal priority unicode small k x equal priority unicode small l x equal priority unicode small m x equal priority unicode small n x equal priority unicode small o x equal priority unicode small p x equal priority unicode small q x equal priority unicode small r x equal priority unicode small s x equal priority unicode small t x equal priority unicode small u x equal priority unicode small v x equal priority unicode small w x equal priority unicode small x x equal priority unicode small y x equal priority unicode small z x equal priority unicode left brace x equal priority unicode vertical line x equal priority unicode right brace x equal priority unicode tilde x equal priority preassociative x greater than x equal priority postassociative x greater than x equal priority priority x equal x equal priority priority x end priority equal priority newline x equal priority macro newline x equal priority macro indent x end priority greater than preassociative priority x apply x equal priority x tagged apply x end priority greater than preassociative priority x suc end priority greater than preassociative priority x apply x equal priority x tagged apply x end priority greater than preassociative priority x times x equal priority x times zero x end priority greater than preassociative priority x plus x equal priority x plus zero x equal priority x plus one x equal priority x minus x equal priority x minus zero x equal priority x minus one x end priority greater than preassociative priority x term plus x end plus equal priority x term union x equal priority x term minus x end minus end priority greater than postassociative priority x raw pair x equal priority x eager pair x equal priority x tagged pair x equal priority x untagged double x equal priority x pair x equal priority x double x end priority greater than postassociative priority x comma x end priority greater than preassociative priority x boolean equal x equal priority x data equal x equal priority x cardinal equal x equal priority x peano equal x equal priority x tagged equal x equal priority x math equal x equal priority x reduce to x equal priority x term equal x equal priority x term list equal x equal priority x term root equal x equal priority x term in x equal priority x term subset x equal priority x term set equal x equal priority x sequent equal x equal priority x free in x equal priority x free in star x equal priority x free for x in x equal priority x free for star x in x equal priority x claim in x equal priority x less x equal priority x less zero x equal priority x less one x equal priority x equal x equal priority x unequal x equal priority x is object var equal priority x avoid zero x equal priority x avoid one x equal priority x avoid star x equal priority x setequiv x equal priority x setequals x end priority greater than preassociative priority not x equal priority lnot x end priority greater than preassociative priority x and x equal priority x macro and x equal priority x simple and x equal priority x claim and x equal priority x land x end priority greater than preassociative priority x or x equal priority x parallel x equal priority x macro or x equal priority x lor x end priority greater than preassociative priority exist x indeed x equal priority for all x indeed x equal priority for all objects x indeed x equal priority forall x dot x end forall equal priority exists x dot x end exists end priority greater than postassociative priority x macro imply x equal priority x imply x equal priority x if and only if x end priority greater than postassociative priority x guard x equal priority x spy x equal priority x tagged guard x end priority greater than preassociative priority x select x else x end select end priority greater than preassociative priority lambda x dot x equal priority tagged lambda x dot x equal priority tagging x equal priority open if x then x else x equal priority let x be x in x equal priority let x abbreviate x in x end priority greater than preassociative priority x avoid x end priority greater than preassociative priority x init equal priority x modus equal priority x verify equal priority x curry plus equal priority x curry minus equal priority x dereference end priority greater than preassociative priority x at x equal priority x modus ponens x equal priority x modus probans x equal priority x conclude x equal priority x object modus ponens x end priority greater than postassociative priority x infer x equal priority x endorse x equal priority x id est x end priority greater than preassociative priority all x indeed x equal priority for all terms x indeed x end priority greater than postassociative priority x rule plus x end priority greater than postassociative priority x cut x end priority greater than preassociative priority x proves x end priority greater than preassociative priority x proof of x reads x equal priority line x because x indeed x end line x equal priority because x indeed x qed equal priority line x premise x end line x equal priority line x side condition x end line x equal priority arbitrary x end line x equal priority locally define x as x end line x equal priority block x line x end block x equal priority because x indeed x end line equal priority any term x end line x end priority greater than postassociative priority x alternative x end priority greater than postassociative priority x , x equal priority x [ x ] x end priority greater than preassociative priority x tab x equal priority evaluates to end priority greater than preassociative priority x row x equal priority x linebreak x equal priority x safe row x end priority greater than preassociative priority x setin x end priority greater than unicode end of text end define end math end left ] "
\end{appendix}

\end{document}
End of file
latex page
latex page
dvipdfm page"

The pyk compiler, version 0.grue.20060417+ by Klaus Grue,
GRD-2006-07-07.UTC:10:03:47.052758 = MJD-53923.TAI:10:04:20.052758 = LGT-4658983460052758e-6