Journal/document/root.tex
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Sat, 27 Jul 2013 08:17:54 +0200
changeset 282 02b6fab379ba
child 283 7d29c3c09bea
permissions -rw-r--r--
started journal version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
282
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     1
\documentclass[runningheads]{llncs}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     2
%\documentclass[10pt, conference, compsocconf]{IEEEtran}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     3
\usepackage{isabelle}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     4
\usepackage{isabellesym}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     5
\usepackage{times}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     6
\usepackage{amssymb}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     7
\usepackage{amsmath}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     8
\usepackage{stmaryrd}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     9
\usepackage{mathpartir}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    10
\usepackage{pdfsetup}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    11
\usepackage{tikz}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    12
\usepackage{pgf}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    13
\usepackage{color}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    14
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    15
%% for testing
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    16
%\usepackage{endnotes}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    17
%\let\footnote=\endnote
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    18
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    19
% urls in roman style, theory text in math-similar italics
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    20
\urlstyle{rm}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    21
\isabellestyle{it}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    22
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    23
% gray boxes
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    24
\definecolor{mygrey}{rgb}{.80,.80,.80}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    25
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    26
% mathpatir
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    27
\mprset{sep=0.9em}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    28
\mprset{center=false}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    29
\mprset{flushleft=true}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    30
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    31
% for uniform font size
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    32
%\renewcommand{\isastyle}{\isastyleminor}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    33
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    34
\def\dn{\,\stackrel{\mbox{\scriptsize def}}{=}\,}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    35
\renewcommand{\isasymequiv}{$\dn$}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    36
\renewcommand{\isasymemptyset}{$\varnothing$}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    37
\renewcommand{\isacharunderscore}{\mbox{$\_$}}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    38
\renewcommand{\isasymiota}{}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    39
\newcommand{\isasymulcorner}{$\ulcorner$}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    40
\newcommand{\isasymurcorner}{$\urcorner$}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    41
\begin{document}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    42
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    43
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    44
\title{Mechanising Turing Machines and Computability Theory in Isabelle/HOL}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    45
\author{Jian Xu\inst{1} \and Xingyuan Zhang\inst{1} \and Christian Urban\inst{2}}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    46
\institute{PLA University of Science and Technology, China \and King's College London, UK}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    47
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    48
\maketitle
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    49
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    50
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    51
\begin{abstract}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    52
We formalise results from computability theory in the theorem prover
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    53
Isabelle/HOL. 
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    54
%This theorem prover is based on classical logic which
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    55
%precludes \emph{direct} reasoning about computability: every boolean
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    56
%predicate is either true or false because of the law of excluded
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    57
%middle. The only way to reason about computability in a classical
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    58
%theorem prover is to formalise a concrete model of computation.  
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    59
Following the textbook by Boolos et al, we formalise Turing machines
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    60
and relate them to abacus machines and recursive functions. We ``tie
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    61
the know'' between these three computational models by formalising a
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    62
universal function and obtaining from it a universal Turing machine by
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    63
our verified translation from recursive functions to abacus programs
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    64
and from abacus programs to Turing machine programs.  Hoare-style reasoning techniques allow us
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    65
to reason about concrete Turing machine and abacus programs. 
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    66
%Our theory can be
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    67
%used to formalise other computability results.
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    68
%We give one example about the computational equivalence of 
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    69
%single-sided Turing machines. 
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    70
%{\it we give one example about the undecidability of Wang's tiling problem, whose proof uses
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    71
%the notion of a universal Turing machine.}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    72
\end{abstract}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    73
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    74
% generated text of all theories
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    75
\input{session}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    76
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    77
% optional bibliography
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    78
\bibliographystyle{abbrv}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    79
\bibliography{root}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    80
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    81
\end{document}
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    82
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    83
%%% Local Variables:
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    84
%%% mode: latex
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    85
%%% TeX-master: t
02b6fab379ba started journal version
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    86
%%% End: