Logiweb(TM)

Logiweb body 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 meta f imply meta g imply meta f end math ] " really means
" [ math meta f imply parenthesis meta g imply meta f end parenthesis end math ] " below.

The " [ math theory pred calc end theory end math ] " contains the following axioms
\begin{enumerate}
\item " [ math in theory pred calc rule pc1 says for all terms meta f comma meta g indeed meta f imply meta g imply meta f end rule end math ] "

\item " [ math in theory pred calc rule pc2 says for all terms meta f comma meta g comma meta h indeed parenthesis meta f imply meta g end parenthesis imply parenthesis meta f imply meta g imply meta h end parenthesis imply meta f imply meta h end rule end math ] "

\item " [ math in theory pred calc rule pc3 says for all terms meta f comma meta g indeed meta f imply meta g imply meta f land meta g end rule end math ] "

\item " [ math in theory pred calc rule pc4 says for all terms meta f comma meta g indeed meta f imply meta f lor meta g end rule end math ] "

\item " [ math in theory pred calc rule pc5 says for all terms meta f comma meta g indeed meta f imply meta g lor meta f end rule end math ] "

\item " [ math in theory pred calc rule pc6 says for all terms meta f comma meta g indeed meta f land meta g imply meta f end rule end math ] "

\item " [ math in theory pred calc rule pc7 says for all terms meta f comma meta g indeed meta f land meta g imply meta g end rule end math ] "

\item " [ math in theory pred calc rule pc8 says for all terms meta f comma meta g comma meta h indeed parenthesis meta f imply meta g end parenthesis imply parenthesis meta h imply meta g end parenthesis imply meta f lor meta h imply meta g end rule end math ] "

\item " [ math in theory pred calc rule pc9 says for all terms meta f comma meta g indeed parenthesis meta f imply meta g end parenthesis imply parenthesis meta f imply lnot meta g end parenthesis imply lnot meta f end rule end math ] "

\item " [ math in theory pred calc rule pc10 says for all terms meta f indeed lnot lnot meta f imply meta f end rule end math ] "

\item " [ math in theory pred calc rule pc11 says for all terms meta x comma meta r comma meta g comma meta f indeed sub meta h is meta f where meta x is meta r end sub endorse forall meta x dot meta f end forall imply meta h end rule end math ] "

\item " [ math in theory pred calc rule pc12 says for all terms meta x comma meta r comma meta g comma meta f indeed sub meta h is meta f where meta x is meta r end sub endorse meta h imply exists meta x dot meta f end exists end rule 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 theory pred calc end theory end math ] " is Modus Ponens which says
\begin{itemize}
\item " [ math in theory pred calc rule pcmp says for all terms meta f comma meta g indeed meta f infer meta f imply meta g infer meta g end rule end math ] "

\item " [ math in theory pred calc rule pcia says for all terms meta f comma meta g comma meta x indeed meta x avoid meta g endorse meta g imply meta f infer meta g imply forall meta x dot meta f end forall end rule end math ] "

\item " [ math in theory pred calc rule pcie says for all terms meta f comma meta g comma meta x indeed meta x avoid meta g endorse meta f imply meta g infer exists meta x dot meta f end exists imply meta g end rule end math ] "

\item " [ math in theory pred calc rule pcdeduction says for all terms meta a comma meta b indeed deduction meta a conclude meta b end deduction endorse meta a infer meta b end rule 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 in theory pred calc lemma pcded says for all terms meta f comma meta g indeed parenthesis meta f infer meta g end parenthesis infer meta f imply meta g end lemma end math ] "
\end{Lem}
" [ math pred calc proof of pcded reads any term meta f comma meta g end line line ell a premise meta f infer meta g end line block any term meta f comma meta g end line line ell b premise meta f end line because ell a modus ponens ell b indeed meta g end line line ell c end block because pcdeduction modus ponens ell c indeed meta f imply meta g qed 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 in theory pred calc lemma trivia says all meta f indeed meta f imply meta f end lemma end math ] "
\end{Lem}

" [ math pred calc proof of trivia reads arbitrary meta f end line line ell a because pc2 indeed parenthesis meta f imply meta f imply meta f end parenthesis imply parenthesis meta f imply parenthesis meta f imply meta f end parenthesis imply meta f end parenthesis imply meta f imply meta f end line line ell b because pc1 indeed meta f imply meta f imply meta f end line line ell c because pcmp modus ponens ell b modus ponens ell a indeed parenthesis meta f imply parenthesis meta f imply meta f end parenthesis imply meta f end parenthesis imply meta f imply meta f end line line ell d because pc1 indeed meta f imply parenthesis meta f imply meta f end parenthesis imply meta f end line because pcmp modus ponens ell d modus ponens ell c indeed meta f imply meta f qed end math ] "

\begin{Lem}[Repetition]
" [ math in theory pred calc lemma repeat says for all terms meta f indeed meta f infer meta f end lemma end math ] "
\end{Lem}

" [ math pred calc proof of repeat reads any term meta f end line line ell a premise meta f end line line ell b because trivia indeed meta f imply meta f end line because pcmp modus ponens ell a modus ponens ell b indeed meta f qed end math ] "

\begin{Lem}
" [ math in theory pred calc lemma iatest says for all terms meta g comma meta y indeed meta y avoid meta g endorse meta g imply forall meta y dot meta y imply meta g end forall end lemma end math ] "
\end{Lem}

" [ math pred calc proof of iatest reads any term meta g comma meta y end line line ell b side condition meta y avoid meta g end line line ell a because pc1 indeed meta g imply meta y imply meta g end line because pcia modus probans ell b modus ponens ell a indeed meta g imply forall meta y dot meta y imply meta g end forall qed end math ] "

\section{Natural deduction}
TODO skriv noget tekst

\begin{Lem}
" [ math in theory pred calc lemma andintro says for all terms meta f comma meta g indeed meta f infer meta g infer meta f land meta g end lemma end math ] "
\end{Lem}

" [ math pred calc proof of andintro reads any term meta f comma meta g end line line ell a premise meta f end line line ell b premise meta g end line line ell c because pc3 indeed meta f imply meta g imply meta f land meta g end line line ell d because pcmp modus ponens ell a modus ponens ell c indeed meta g imply meta f land meta g end line because pcmp modus ponens ell b modus ponens ell d indeed meta f land meta g qed end math ] "

\begin{Lem}
" [ math in theory pred calc lemma andelim1 says for all terms meta f comma meta g indeed meta f land meta g infer meta f end lemma end math ] "
\end{Lem}

" [ math pred calc proof of andelim1 reads any term meta f comma meta g end line line ell a premise meta f land meta g end line line ell b because pc6 indeed meta f land meta g imply meta f end line because pcmp modus ponens ell a modus ponens ell b indeed meta f qed end math ] "

\begin{Lem}
" [ math in theory pred calc lemma andelim2 says for all terms meta f comma meta g indeed meta f land meta g infer meta g end lemma end math ] "
\end{Lem}

" [ math pred calc proof of andelim2 reads any term meta f comma meta g end line line ell a premise meta f land meta g end line line ell b because pc7 indeed meta f land meta g imply meta g end line because pcmp modus ponens ell a modus ponens ell b indeed meta g qed end math ] "

\begin{Lem}
" [ math in theory pred calc lemma orintro1 says for all terms meta f comma meta g indeed meta f infer meta f lor meta g end lemma end math ] "
\end{Lem}

" [ math pred calc proof of orintro1 reads any term meta f comma meta g end line line ell a premise meta f end line line ell b because pc4 indeed meta f imply meta f lor meta g end line because pcmp modus ponens ell a modus ponens ell b indeed meta f lor meta g qed end math ] "

\begin{Lem}
" [ math in theory pred calc lemma orintro2 says for all terms meta f comma meta g indeed meta g infer meta f lor meta g end lemma end math ] "
\end{Lem}

" [ math pred calc proof of orintro2 reads any term meta f comma meta g end line line ell a premise meta g end line line ell b because pc5 indeed meta g imply meta f lor meta g end line because pcmp modus ponens ell a modus ponens ell b indeed meta f lor meta g qed end math ] "

\begin{Lem}
" [ math in theory pred calc lemma orelim says for all terms meta f comma meta g comma meta h indeed meta f lor meta g infer parenthesis meta f infer meta h end parenthesis infer parenthesis meta g infer meta h end parenthesis infer meta h end lemma end math ] "
\end{Lem}

" [ math pred calc proof of orelim reads any term meta f comma meta g comma meta h end line line ell a premise meta f lor meta g end line line ell b premise meta f infer meta h end line line ell c premise meta g infer meta h end line line ell d because pcded modus ponens ell b indeed meta f imply meta h end line line ell e because pcded modus ponens ell c indeed meta g imply meta h end line line ell f because pc8 indeed parenthesis meta f imply meta h end parenthesis imply parenthesis meta g imply meta h end parenthesis imply meta f lor meta g imply meta h end line line ell g because pcmp modus ponens ell d modus ponens ell f indeed parenthesis meta g imply meta h end parenthesis imply meta f lor meta g imply meta h end line line ell h because pcmp modus ponens ell e modus ponens ell g indeed meta f lor meta g imply meta h end line because pcmp modus ponens ell a modus ponens ell h indeed meta h qed end math ] "

TODO lemma changed from natural deduction!!! skriv afsnit om det.
\begin{Lem}
" [ math in theory pred calc lemma notintro says for all terms meta f comma meta g indeed parenthesis meta f infer meta g end parenthesis infer parenthesis meta f infer lnot meta g end parenthesis infer lnot meta f end lemma end math ] "
\end{Lem}

" [ math pred calc proof of notintro reads any term meta f comma meta g end line line ell a premise meta f infer meta g end line line ell b premise meta f infer lnot meta g end line line ell c because pcded modus ponens ell a indeed meta f imply meta g end line line ell d because pcded modus ponens ell b indeed meta f imply lnot meta g end line line ell e because pc9 indeed parenthesis meta f imply meta g end parenthesis imply parenthesis meta f imply lnot meta g end parenthesis imply lnot meta f end line line ell f because pcmp modus ponens ell c modus ponens ell e indeed parenthesis meta f imply lnot meta g end parenthesis imply lnot meta f end line because pcmp modus ponens ell d modus ponens ell f indeed lnot meta f qed end math ] "

\begin{Lem}
" [ math in theory pred calc lemma notnotelim says for all terms meta f indeed lnot lnot meta f infer meta f end lemma end math ] "
\end{Lem}

" [ math pred calc proof of notnotelim reads any term meta f end line line ell a premise lnot lnot meta f end line line ell b because pc10 indeed lnot lnot meta f imply meta f end line because pcmp modus ponens ell a modus ponens ell b indeed meta f qed end math ] "

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

\begin{Lem}
" [ math in theory pred calc lemma mt says for all terms meta f comma meta g indeed meta f imply meta g infer lnot meta g infer lnot meta f end lemma end math ] "
\end{Lem}

" [ math pred calc proof of mt reads any term meta f comma meta g end line line ell a premise meta f imply meta g end line line ell b premise lnot meta g end line block any term meta f comma meta g end line line ell c premise meta f end line because pcmp modus ponens ell c modus ponens ell a indeed meta g end line line ell d end block line ell e because pcdeduction modus ponens ell d indeed meta f infer meta g end line block any term meta f comma meta g end line line ell f premise meta f end line because repeat modus ponens ell b indeed lnot meta g end line line ell g end block line ell h because pcdeduction modus ponens ell g indeed meta f infer lnot meta g end line because notintro modus ponens ell e modus ponens ell h indeed lnot meta f qed end math ] "

\begin{Lem}
" [ math in theory pred calc lemma notnotintro says for all terms meta f indeed meta f infer lnot lnot meta f end lemma end math ] "
\end{Lem}

" [ math pred calc proof of notnotintro reads any term meta f end line line ell a premise meta f end line block any term macro indent meta f end line line ell b premise macro indent meta f end line line ell c premise macro indent lnot meta f end line because repeat modus ponens ell b indeed macro indent meta f end line line ell c end block line ell d because pcdeduction modus ponens ell c indeed meta f imply lnot meta f imply meta f end line line ell e because pcmp modus ponens ell a modus ponens ell d indeed lnot meta f imply meta f end line line ell f because trivia indeed lnot meta f imply lnot meta f end line line ell g because pc9 indeed parenthesis lnot meta f imply meta f end parenthesis imply parenthesis lnot meta f imply lnot meta f end parenthesis imply lnot lnot meta f end line line ell h because pcmp modus ponens ell e modus ponens ell g indeed parenthesis lnot meta f imply lnot meta f end parenthesis imply lnot lnot meta f end line because pcmp modus ponens ell f modus ponens ell h indeed lnot lnot meta f qed end math ] "



\begin{Lem}
" [ math in theory pred calc lemma pbc says for all terms meta f comma meta g indeed parenthesis lnot meta f infer meta g end parenthesis infer parenthesis lnot meta f infer lnot meta g end parenthesis infer meta f end lemma end math ] "
\end{Lem}

" [ math pred calc proof of pbc reads any term meta f comma meta g end line line ell a premise lnot meta f infer meta g end line line ell b premise lnot meta f infer lnot meta g end line line ell c because notintro modus ponens ell a modus ponens ell b indeed lnot lnot meta f end line because notnotelim modus ponens ell c indeed meta f qed 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 in theory pred calc lemma lem says for all terms meta f indeed meta f lor lnot meta f end lemma end math ] "
\end{The}

" [ math pred calc proof of lem reads any term meta f end line block any term macro indent meta f end line line ell a premise macro indent lnot parenthesis meta f lor lnot meta f end parenthesis end line block any term macro indent meta f end line line ell b premise macro indent meta f end line because orintro1 modus ponens ell b indeed macro indent meta f lor lnot meta f end line line ell c end block line ell d because pcdeduction modus ponens ell c indeed macro indent meta f infer meta f lor lnot meta f end line block any term macro indent meta f end line line ell q premise macro indent meta f end line because repeat modus ponens ell a indeed macro indent lnot parenthesis meta f lor lnot meta f end parenthesis end line line ell e end block line ell f because pcdeduction modus ponens ell e indeed macro indent meta f infer lnot parenthesis meta f lor lnot meta f end parenthesis end line line ell g because macro indent notintro modus ponens ell d modus ponens ell f indeed lnot meta f end line because macro indent orintro2 modus ponens ell g indeed meta f lor lnot meta f end line line ell h end block line ell i because macro indent pcdeduction modus ponens ell h indeed lnot parenthesis meta f lor lnot meta f end parenthesis infer meta f lor lnot meta f end line block any term macro indent meta f end line line ell j premise macro indent lnot parenthesis meta f lor lnot meta f end parenthesis end line because repeat modus ponens ell j indeed macro indent lnot parenthesis meta f lor lnot meta f end parenthesis end line line ell k end block line ell l because pcdeduction modus ponens ell k indeed lnot parenthesis meta f lor lnot meta f end parenthesis infer lnot parenthesis meta f lor lnot meta f end parenthesis end line line ell m because notintro modus ponens ell i modus ponens ell l indeed lnot lnot parenthesis meta f lor lnot meta f end parenthesis end line because notnotelim modus ponens ell m indeed meta f lor lnot meta f qed end math ] "




\begin{appendix}
\section{Pyk definitions}

\begin{flushleft}
" [ math protect 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 protect end math ] "
\end{flushleft}

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

\section{Priority table}
" [ flush left math priority table 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 table 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