[ The Types Forum (announcements only),
     http://lists.seas.upenn.edu/mailman/listinfo/types-announce ]


We are recruiting for 2 PhD positions

    Funding:  Competition funded
    Deadline: Sunday 21 February 2021
    Start:    October 2021 (anticipated)

    Mathematical Foundations Group
    Department of Computer Science
    University of Bath



===== The Mathematical Foundations group =====

Our group explores some of the deepest topics in logic and their relation to 
the theory of computation. We establish bridges between proof theory, category 
theory, semantics and complexity, so that the methods of each discipline enrich 
the others. We design new theories and solve old problems. For example, we 
defined a new proof formalism, called 'open deduction', that allowed us to 
describe one of the most efficient known notions of computation for the 
lambda-calculus. That was made possible by introducing ideas from complexity 
theory and category theory into proof theory and its computational 
interpretations.

Our research programme, in a nutshell, is to help develop the mathematics of 
computation. This matters at least for two reasons. The first is that 
computing, at present, is art, not engineering. Indeed, because of the lack of 
mathematics, software correctness is not guaranteed the same way a bridge is 
guaranteed to stand, for example. The second reason is that the theory of 
computation is rapidly becoming one of the most important intellectual 
achievements of civilisation. For example, it is now helping physics and 
biology create new models in their domain. Because of all that, our doctoral 
graduates have embarked on excellent academic careers in some of the most 
intellectually rewarding and innovative branches of research, and will continue 
to do so.

Our webpage:

    https://www.bath.ac.uk/projects/mathematical-foundations-of-computation/

Please see at the end of this email for a list of projects and supervisors.



===== Contact =====

For questions about the project or the application process, please contact us,

    Alessio Guglielmi   a.guglie...@bath.ac.uk
    Willem Heijltjes    w.b.heijlt...@bath.ac.uk

or one of the supervisors of the projects at the end of this email.



===== How to apply =====

Applicants should hold, or expect to gain, a First Class or good Upper Second 
Class Honours degree in Mathematics or Computer Science, or the equivalent from 
an overseas university. A master’s level qualification would be advantageous.

Formal applications should be made via the University of Bath’s online 
application form for a PhD in Computer Science: 

    
http://samis.bath.ac.uk/urd/sits.urd/run/siw_ipp_lgn.login?process=siw_ipp_app&code1=RDUCM-FP01&code2=0015

You would apply to a specific project and supervisor from the list at the end 
of this email. More information on the general applications process is here:

    http://www.bath.ac.uk/guides/how-to-apply-for-doctoral-study/

Non-UK applicants will also be required to have met the English language entry 
requirements of the University of Bath:

    
http://www.bath.ac.uk/corporate-information/postgraduate-english-language-requirements-for-international-students/

Anticipated start date: Monday 4 October 2021




===== Funding =====

Candidates applying for this project may be considered for a 3.5-year 
studentship from the Engineering and Physical Sciences Council (EPSRC DTP). 
Funding covers tuition fees, a stipend (£15,285 per annum, 2020/21 rate) and 
research/training expenses (£1,000 per annum). EPSRC DTP studentships are open 
to both Home and International students; however, in line with guidance from UK 
Research and Innovation (UKRI), the number of awards available to International 
candidates will be limited to 30% of the total.

We advise checking our funding webpages before applying:

    
https://www.bath.ac.uk/corporate-information/funding-for-doctoral-research-in-science/



===== Projects and Supervisors =====


VERIFICATION FOR REAL POLYNOMIAL ARITHMETIC

Russell Bradford  |  r.j.bradf...@bath.ac.uk   |  
http://people.bath.ac.uk/masrjb/
James Davenport   |  j.h.davenp...@bath.ac.uk  |  
http://people.bath.ac.uk/masjhd/

Many problems in building verified software systems in the real world (e.g. air 
traffic control) involve the proof of statements about real polynomial 
arithmetic, often including inequalities. In principle we have known how to 
solve such systems for many years, but the theoretical, and too often the 
practical, complexity is excessive.  There has been much work, at Bath, 
Coventry and elsewhere, in reducing the cost for important special cases, 
notably the cases when there are equations as well as inequalities. However, 
this leads to a large piece of software, resting on fairly complicated theorems.
 
Recent research by Bath, Coventry and RWTH has produced a method 
(http://arxiv.org/abs/2004.04034) which converts such a problem into a sequence 
of simpler statements, which may be much easier to verify with a more 
conventional theorem prover. This has yet to be checked in practice, which is 
the goal of this project. As a PhD student, you would be working alongside the 
joint Bath-Coventry EPSRC-funded project, which would provide several 
colleagues and a large software base to start from.



NEW FOUNDATIONS OF PROOF THEORY FROM A NOVEL NOTION OF SUBSTITUTION

Alessio Guglielmi  |  a.guglie...@bath.ac.uk  |  http://alessio.guglielmi.name

What is a proof? What is an algorithm? We understand much of WHAT can be proved 
and computed but we do not have yet a good theory of HOW this is done. For 
example, we cannot say when two given proofs or algorithms are the same, in the 
sense that they prove or compute something using the same method. It is a 
somewhat embarrassing problem to have, given that, in most branches of 
mathematics, we can compare objects. For instance, we can reduce two 
polynomials to some canonical form, like maximal factorisation, and use that 
for a comparison.

The source of the problem is the languages in which proofs and algorithms are 
represented because they model their underlying mathematical structure. In 
traditional proof theory, the mathematical properties of those structures are 
too poor. To address the problem, for the past two decades we have been 
building a new proof theory, called 'deep inference', whose emphasis is in HOW 
proofs, and by extension algorithms, are composed. That requires new languages 
and new design principles. One current focus of research is developing a notion 
of substitution for proofs, which, among other properties, should enable a 
powerful form of factorisation. We propose PhD projects contributing to this 
effort. These are foundational problems for proof theory, meaning that talent 
for algebra and combinatorics is more important than knowledge of logic.



A NEW APPROACH TO COMPUTATIONAL EFFECTS IN LAMBDA-CALCULUS

Willem Heijltjes  |  w.b.heijlt...@bath.ac.uk  |  http://willem.heijltj.es

A key property of the lambda-calculus, as a model of computation, is 
confluence: it means that we can reason about the *outcome* of a computation 
separately from the *process*; in other words, we can separate the 
*denotational* from the *operational*. When computational effects are 
introduced, as would be essential for a real-world functional programming 
language, confluence is however lost, and the outcome of a computation becomes 
dependent on the chosen reduction strategy.

In this project we are working towards a new way of incorporating effects into 
the lambda-calculus. Rather than adding new primitives, we decompose the 
existing constructs of the lambda-calculus, which can then be used to encode 
various imperative features such as sequencing, state update and retrieval, and 
input and output. The approach preserves confluence and gives a new way of 
typing computational effects, which opens up new denotational and operational 
perspectives. As a PhD student, you would contribute to the development and 
extension of this promising new paradigm. Your work would draw on ideas from 
type theory, proof theory including deep inference and categorical logic, and 
denotational semantics as well as lambda calculus.



QUANTITATIVE GAME SEMANTICS

Jim Laird  |  j.d.la...@bath.ac.uk  |  http://www.cs.bath.ac.uk/~jl317/

Denotational semantics builds abstractions of computer programs and concurrent 
systems, which allows us to look past their syntax and represent them using 
mathematical structures from a range of fields such as algebra and topology. 
These come with powerful theorems and techniques which we can use to prove that 
programs and protocols are correct, secure and efficient.
  
Moving beyond binary properties: “Does this program terminate?” “Might it 
deadlock?” to quantitative ones: “What is its evaluation cost in time or 
space?” “What is the probability of returning a value?” requires models which 
can capture program behaviour - on which these properties depend - in a way 
which is abstract, structured and precise. 
Game semantics provides such a representation by modelling computation as a 
two-player game between a program or agent and its environment. It is 
intuitively appealing and has profound connections with fields from category 
theory to automata theory.  
This project will use these connections to investigate the relationship between 
games and quantitative properties of programs, and use these foundations to 
build new models and discover new theories.  



INTERSECTION-TYPE SEMANTICS OF IMPERATIVE PROGRAMMING

Guy McCusker  |  g.a.mccus...@bath.ac.uk  |  http://www.cs.bath.ac.uk/~gam23/

Imperative programming offers fast programs and fine control over execution, 
but is hard to verify, mainly due to the difficulty of giving a good semantics. 
In this project you would investigate a new approach based on intersection 
types, expressed in open deduction.

Intersection types can be seen from a programming-language perspective as a 
type system, providing static information about program behaviour, and from a 
semantic perspective as a presentation of a relation-based mathematical model 
of programs and proofs. The novelty of this project is to use non-commutative 
types to model sequential computation. Expressing such types effectively is 
made possible by the open-deduction formalism, an approach to proof theory that 
can alternatively be viewed as a presentation of category-theory-based 
semantics. The project builds on our recent work exploring intersection types 
in this proof formalism. A background that includes lambda-calculus or category 
theory would help you make a good start on it.



PROOF MINING: ALGORITHMS FROM PROOFS IN MATHEMATICS

Tom Powell  |  trj...@bath.ac.uk  |  http://t-powell.github.io

Many mathematical theorems are based on the statement that something exists. 
For example, Euclid's theorem on the infinitude of prime numbers says that for 
any number N there exists some prime number p greater than N. For such 
statements it is natural to ask: Can we produce an algorithm for computing the 
thing that we claim to exist? The proof of Euclid's theorem implicitly contains 
an algorithm* for finding the next prime number, and we call such proofs 
"constructive". Unfortunately, Turing's famous discovery that the Halting 
problem is undecidable highlights the fact that not all proofs are 
constructive, and that in general one cannot always produce algorithms for 
witnessing existential statements. After all, for any Turing machine M on input 
u there exists a boolean truth value which tells us whether or not it halts, 
but a general algorithm which on inputs M and u returns such a boolean is not 
possible by Turing's result.

The question of whether or not we can produce an algorithm for a given 
existential theorem is complex, and requires a deep understanding of the nature 
of mathematical proofs as objects in their own right. The last 20-30 years has 
seen the growth of an exciting research area - colloquially known as "proof 
mining" - which addresses this question and explores the limits of what is 
algorithmically possible in mathematics. It turns out that by applying 
techniques from proof theory, it is often possible to obtain surprising 
algorithms from proofs that appear to be nonconstructive. In the process, one 
is typically required to tackle more general challenges, such as "how should 
mathematical objects be represented?" and "what is the fundamental structure of 
this proof?", and the end result is often an abstract framework which 
generalises and unifies classes of mathematical theorems.

Proof mining has already achieved impressive results several areas of 
mathematics, including functional analysis, ergodic theory and commutative 
algebra. As a PhD student, you would explore developing this research program 
in a new direction.

*Take the number N! + 1, which is not divisible by any number from 2 to N, and 
search for its smallest prime factor, which must therefore by greater than N.

NOTE: This project is available through a separate funding stream - please see 
here for funding and eligibility details:

    
https://www.findaphd.com/phds/project/proof-mining-algorithms-from-proofs-in-mathematics/?p128254

Reply via email to