# Mark Wassell

I am a 2

^{nd} year PhD student supervised by

Prof. Peter Sewell. I am looking at the 'Semantic Tools' task of the

REMS programme with a focus on the

Ott and

Lem tools. I am a member of

Wolfson College. For a more detailed biography see my

LinkedIn profile.
I am chair of

Phoenix Korfball Club and results officer for the

Cambridgeshire Korfball League.

## Research Interests

My research is looking at type systems for programming languages and formalising
these in Isabelle with a view to generating an implementation and test oracle
from the formalism.

## Supervision

## Industrial Experience

I have been involved with developing software in the area of

Geographic Information Systems
using a number of languages
(eg

Magik)
and platform technologies
(eg

Smallworld).
Much of this work has been for customers in the telecommunications sector.
These systems store data about the customers network assests (for example
cables, cabinets, rack mounted equipment as well as the services that run across them) and
assist in the operation of the network and planning future changes.
Recently I was developing similar products using a JavaScript, Python, Apache and
Postgres stack.

## Unpublished Work

### Development of Integral Transforms in the Isabelle Interactive Theorem
Prover - MPhil, Computer Laboratory, Cambridge, 2016

Abstract: This dissertation describes a development of the Fourier, Laplace and Mellin
integral transforms within the Isabelle proof assistant and includes example
applications of these transforms. This development extends the complexity of
mathematics encoded in Isabelle and provides a base for further formalisation
of these transforms in Isabelle and verication of algorithms and systems that
make use of the transforms. The development has helped to highlight the
difference between conventional mathematics as done by mathematicians and
mathematics done on a computer. Arising out of the work are also a number
of suggested improvements to Isabelle.

### Estimating a Critical Exponent for the Self-Avoiding Walk - Post Graduate Diploma Thesis, University of Melbourne, 2011

Abstract: A self-avoiding walk is a path on a graph with the constraint that no vertex is
visited twice. Typically the graph is in the form of a lattice defined
on points in \(\mathbb{Z}_d\) where \(d\) is the dimension of the lattice. One key
question is how many walks of length \(n\) there are on a particular lattice.
Even though the problem is
simple to state, there is no known exact solution to this question. However,
there is overwhelming evidence that the number of self-avoiding walks of
length \(n\) is asymptotically \(c_n \approx A \mu^n n^{\gamma-1} \)
where \(\mu\) is known as the connective constant and \(\gamma\)
is a critical exponent.
Estimating this critical exponent can be done by counting
the number of walks for lengths up to some maximum and using series analysis
techniques to derive an estimate. On the cubic lattice the current best technique
enumerates only up to \(n = 36\). We have developed a new enumeration algorithm,
which we call dynamic trimerisation, and implemented this on a Graphics
Processing Unit (GPU). The GPU architecture offers a new processing platform
with the benefit of greater performance, however there are a number of challenges
to overcome when implementing on the GPU. The algorithm implemented
compares well to existing enumeration algorithms and with further development
of GPU technology it will be a fruitful direction of research. In conjunction with
the above, we have used dynamic trimerisation for the enumeration of Domb-
Joyce walks. The Domb-Joyce model is a more general model where we allow
the walk to interact with itself but assign a weight, \(w\), to penalise
interacting walks.
Since Domb-Joyce walks with \(w \lt 1\) belong to the same universality
class as self-avoiding walks, we have investigated the use of the Domb-Joyce model to obtain
estimates for the critical exponent.

### Semantic Optimisation of Datalog Programs - MSc, University of Cape Town

Abstract: Datalog is the fusion of Prolog and Database technologies aimed at producing
an efficient, logic-based, declarative language for databases.
This fusion takes the best of logic programming for the syntax of Datalog, and the
best of database systems for the operational part of Datalog.
As is the case with all declarative languages, optimisation is necessary to improve
the efficiency of programs. Semantic optimisation uses meta-knowledge describing the data in the database to optimise queries and rules, aiming to reduce the resources
required to answer queries.
In this thesis, I analyse prior work that has been done on semantic optimisation and
then propoe an optimisation system for Datalog that includes optimisation of recursive
programs and and semantic knowledge management module. The language DatalogIC, which is
an extension of Datalog that allows semantic knowledge to be expressed, has also been device
as an implementation vehicle.
Finally empirical results concerning the benefits of semantic optimisation are reported.