2
+ − 1
<?xml version="1.0" encoding="utf-8"?>
+ − 2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ − 3
<HEAD>
+ − 4
<TITLE>Homepage of Christian Urban</TITLE>
463
+ − 5
<BASE HREF="https://nms.kcl.ac.uk/christian.urban/">
23
+ − 6
<script type="text/javascript">
+ − 7
+ − 8
var _gaq = _gaq || [];
+ − 9
_gaq.push(['_setAccount', 'UA-4143458-4']);
+ − 10
_gaq.push(['_trackPageview']);
+ − 11
+ − 12
(function() {
+ − 13
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ − 14
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ − 15
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ − 16
})();
+ − 17
</script>
2
+ − 18
</HEAD>
+ − 19
+ − 20
<BODY TEXT="#000000"
+ − 21
BGCOLOR="#4169E1"
+ − 22
LINK="#0000EF"
548
+ − 23
VLINK="#51188E"
2
+ − 24
ALINK="#FF0000">
602
+ − 25
<font face='Optima'>
2
+ − 26
+ − 27
<TABLE WIDTH="100%"
+ − 28
BGCOLOR="#4169E1"
+ − 29
BORDER="0"
+ − 30
FRAME="border"
591
+ − 31
CELLPADDING="11"
2
+ − 32
CELLSPACING="2"
+ − 33
RULES="all">
+ − 34
+ − 35
<!-- left column -->
+ − 36
<TR>
+ − 37
<TD BGCOLOR="#FFFFFF"
+ − 38
WIDTH="24%"
+ − 39
VALIGN="TOP"
273
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 40
ROWSPAN="9">
2
+ − 41
+ − 42
<B>Links</B><BR>
518
+ − 43
<A HREF="https://nms.kcl.ac.uk/christian.urban/index.html">Home</A><BR>
+ − 44
<A HREF="https://nms.kcl.ac.uk/christian.urban/publications.html">Publications</A><BR>
+ − 45
<A HREF="https://nms.kcl.ac.uk/christian.urban/teaching.html">Teaching</A><BR>
+ − 46
<A HREF="https://nms.kcl.ac.uk/christian.urban/travelling.html">Recent Talks</A><BR>
+ − 47
<A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/">Nominal Isabelle</A>
2
+ − 48
<BR>
+ − 49
<BR>
+ − 50
+ − 51
<B>Handy Information</B><BR>
519
+ − 52
<A HREF="https://nms.kcl.ac.uk/christian.urban/logic.html">People in Logic</A><BR>
+ − 53
<A HREF="https://nms.kcl.ac.uk/christian.urban/programming.html">Programming Languages</A><BR>
+ − 54
<A HREF="https://nms.kcl.ac.uk/christian.urban/misc.html">Miscellaneous</A>
2
+ − 55
<BR><BR>
+ − 56
37
+ − 57
<table border="0">
+ − 58
<tr>
+ − 59
<td>
519
+ − 60
<A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/">
5
+ − 61
<IMG SRC="nominal-logo.gif" ALT="" style="border-width: 0px;" align="left"></A>
37
+ − 62
</td>
+ − 63
</tr>
+ − 64
<tr>
+ − 65
<td>
519
+ − 66
<A HREF="https://nms.kcl.ac.uk/christian.urban/Cookbook/">
37
+ − 67
<IMG SRC="Cookbook/logo-documentation.gif" ALT="" style="border-width: 0px;" align="left"></A>
+ − 68
</td>
+ − 69
</tr>
+ − 70
</table>
2
+ − 71
</TD>
+ − 72
+ − 73
+ − 74
+ − 75
<!-- right column -->
+ − 76
<TD BGCOLOR="#FFFFFF" WIDTH="75%">
+ − 77
<A NAME="Home"></A>
+ − 78
<TABLE>
+ − 79
<TR>
+ − 80
<TD WIDTH="75%">
16
+ − 81
<H1>Christian Urban</H1>
2
+ − 82
+ − 83
<B>E-mail</B>
22
+ − 84
christian.urban <I>at</I> kcl ac uk<BR>
2
+ − 85
<BR>
+ − 86
+ − 87
<B>Address</B>
466
+ − 88
<A HREF="http://www.kcl.ac.uk/nms/depts/informatics/">Department of Informatics</A>,
16
+ − 89
<A HREF="http://www.kcl.ac.uk">King's College London</A>,
475
+ − 90
Bush House, 30 Aldwych, London WC2B 4BG, UK. My office is 7.07 on the 7th floor, North Wing, of the Bush House.
304
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 91
<BR>
2
+ − 92
+ − 93
</TD>
+ − 94
<TD align="right" valign="top">
519
+ − 95
<A HREF="https://nms.kcl.ac.uk/christian.urban/picture-small.jpg"><IMG ALT="" SRC="picture-small.jpg" align="top"></A>
2
+ − 96
</TD>
+ − 97
</TR>
+ − 98
</TABLE>
+ − 99
<p>
570
+ − 100
<IMG SRC="new.gif" ALT="" style="" align="left"><A HREF="https://nms.kcl.ac.uk/christian.urban/Cookbook" target="_top">Isabelle Programming Tutorial</A> (draft of a 200-page tutorial on Isabelle programming - updated to
571
+ − 101
<A HREF="http://isabelle.in.tum.de">Isabelle 2019</A> thanks to Norbert Schirmer)<BR><BR>
2
+ − 102
</TD>
+ − 103
</TR>
+ − 104
+ − 105
<TR>
+ − 106
<TD BGCOLOR="#FFFFFF" WIDTH="75%">
+ − 107
<B>Current Position</B>
527
+ − 108
Since 2011 I have been a lecturer in the Department of Informatics at King's College London.
21
+ − 109
This is similar to a position of an assistant professor in other places. In 2011,
17
+ − 110
I was also offered a lectureship
+ − 111
<A HREF="http://www.it.uu.se/" TITLE="Uppsala">here</A>, an associate professorship
425
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 112
<A HREF="http://en.itu.dk/" TITLE="ITU, Copenhagen">here</A>,
21
+ − 113
and full professorships
517
+ − 114
<A HREF="https://en.wikipedia.org/wiki/University_of_Science_and_Technology_of_China" TITLE="IAS, Suzhou">here</A> and
+ − 115
<A HREF="https://en.wikipedia.org/wiki/East_China_Normal_University" TITLE="Shanghai">here</A>.
17
+ − 116
I thank all people involved for their efforts.
2
+ − 117
<P>
+ − 118
+ − 119
<B>Past Positions</B>
17
+ − 120
In April 2006, I was awarded an <A HREF="http://en.wikipedia.org/wiki/Emmy_Noether">Emmy-Noether</A>
581
+ − 121
<A HREF="https://www.dfg.de/en/research_funding/programmes/individual/emmy_noether/">fellowship</A>, which I held at the <A HREF="http://www.in.tum.de/en.html">TU Munich</A> until
17
+ − 122
September 2011.
56
+ − 123
Between September 2008 and February 2009, I was an invited research scientist in
2
+ − 124
the <A HREF="http://www.cs.princeton.edu/">Department of Computer Science</A> in Princeton.
+ − 125
In 2004/05 I was an Alexander-von-Humboldt fellow in Munich and
+ − 126
from 2000 until 2004 I was awarded a Research Fellowship in Cambridge. Before that
46
+ − 127
I did my PhD in Cambridge funded by two scholarships from the German Academic Exchange
45
+ − 128
Service (<A HREF="http://www.daad.de/index.html">DAAD</A>).
2
+ − 129
<P>
+ − 130
374
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 131
<B>Skolem Award 2015</B> Together with
370
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 132
<A HREF="http://www.pps.univ-paris-diderot.fr/~tasson/">Christine Tasson</A>, I was awarded a
466
+ − 133
<A HREF="http://cadeinc.org/Skolem-Award">Thoralf Skolem Award</A>, a ten-year
527
+ − 134
test-of-time award from CADE. This was for our
519
+ − 135
<A HREF="https://nms.kcl.ac.uk/christian.urban/Publications/nom-cade-05.ps">paper</A>
527
+ − 136
on Nominal Techniques in Isabelle/HOL from 2005. The Skolem Award award was given also
+ − 137
to Nicolaas de Bruijn, Zohar Manna and
453
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 138
Nachum Derschowitz, amongst others.
368
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 139
<P>
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 140
62
+ − 141
<B>Research Interests</B> theorem provers, verification, programming languages, compilers,
527
+ − 142
algorithms, security, proof theory, type systems, concurrency, lambda calculus, unification,
2
+ − 143
regular expressions, computability, complexity, functional and logic programming.
+ − 144
<P>
+ − 145
378
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 146
<B>Teaching</B> I usually enjoy teaching. At King's my students nominated me for the Teaching
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 147
Excellence Award in
475
+ − 148
2012, 2015, 2016 and 2017, and for the best MSc Project supervisor in 2015.
382
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 149
In 2014 I received both prizes for Best UG Project Supervisor and for Best
471
+ − 150
MSc Project Supervisor in the <A HREF="http://www.kcl.ac.uk/nms/index.aspx">NMS Faculty</A>.<P>
376
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 151
475
+ − 152
382
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 153
2
+ − 154
<B>Conferences</B>
235
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 155
UNIF'06 (member of PC),
2
+ − 156
<A HREF="http://www.cs.mcgill.ca/~bpientka/lfmtp07">LFMTP'07</A> (member of PC),
507
+ − 157
LFMTP'08 (PC co-chair),
2
+ − 158
<A HREF="http://www.cis.upenn.edu/~sweirich/wmm/">WMM'08</A> (member of PC),
582
+ − 159
LSFA'08 (invited speaker),
24
+ − 160
<A HREF="http://www.inf.kcl.ac.uk/staff/maribel/TAASN.html">TAASN'09</A> (member of PC),
2
+ − 161
<A HREF="http://lsfa09.cic.unb.br/">LSFA'09</A> (member of PC),
519
+ − 162
<A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/activities/tphols09/idw.html">IDW'09</A> (organiser),
2
+ − 163
<A HREF="http://www.seas.upenn.edu/~sweirich/wmm/wmm09.html">WMM'09</A> (PC chair),
519
+ − 164
<A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/activities/tphols09/">TPHOLs'09</A> (PC co-chair),
2
+ − 165
<A HREF="http://dream.inf.ed.ac.uk/events/automatheo-2010/">Automatheo'10</A> (member of PC),
+ − 166
<A HREF="http://www.floc-conference.org/">ITP'10</A> (member of PC),
469
+ − 167
UNIF'10 (invited speaker),
2
+ − 168
<A HREF="http://www.cis.upenn.edu/~bcpierce/wmm/">WMM'10</A> (invited speaker),
519
+ − 169
<A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/activities/idw10/idw.html">IDW'10</A> (co-organiser),
235
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 170
CPP'11 (member of PC),
2
+ − 171
<A HREF="http://www.rdp2011.uns.ac.rs/rta/">RTA'11</A> (member of PC),
207
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 172
<A HREF="http://lfmtp11.cs.umn.edu">LFMTP'11</A> (member of PC),
273
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 173
<A HREF="http://www.cs.uwyo.edu/~ruben/itp-2014">ITP'14</A> (member of PC),
349
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 174
<A HREF="http://www.cicm-conference.org/2015/cicm.php?event=mkm">MKM'15</A> (member of PC),
519
+ − 175
<A HREF="https://nms.kcl.ac.uk/christian.urban/itp-2015/">ITP'15</A> (PC co-chair),
437
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 176
<A HREF="https://itp2016.inria.fr">ITP'16</A> (member of PC)
454
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 177
<A HREF="http://lsfa.cic.unb.br">LSFA'17</A> (member of PC)
460
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 178
<A HREF="http://itp2017.cic.unb.br">ITP'17</A> (member of PC)
562
+ − 179
<A HREF="https://itp19.cecs.pdx.edu">ITP'19</A> (member of PC)
589
+ − 180
<A HREF="https://ijcar2020.org">IJCAR'20</A> (member of PC)
606
+ − 181
<A HREF="http://easyconferences.eu/itp2021bid/">ITP'21</A> (member of PC)
+ − 182
<A HREF="http://www.cs.cmu.edu/~mheule/CADE28/">CADE'21</A> (member of PC)
152
+ − 183
<P>
+ − 184
519
+ − 185
<A HREF="https://nms.kcl.ac.uk/christian.urban/itp-2015/">ITP'15</A> took place in Nanjing organised
380
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 186
by Xingyuan Zhang and me<BR>
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 187
<p>
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 188
580
+ − 189
<B>Current PhD</B> Chengsong Tan<BR>
547
+ − 190
<B>Former PhD</B> Fahad Ausaf (works at ARM in the VHDL compiler team)<BR>
546
+ − 191
<B>Former RAs</B> Chunhan Wu, <A HREF="http://cl-informatik.uibk.ac.at/users/cek/">Cezary Kaliszyk</A>,
475
+ − 192
<A HREF="http://dpt-info.u-strasbg.fr/~narboux/">Julien Narboux</A><p>
+ − 193
568
+ − 194
If I am not teaching or not doing any research, I am sometimes in the lavender
567
+ − 195
<A HREF="https://nms.kcl.ac.uk/christian.urban/family.jpg">fields</A> of London, or I do
569
+ − 196
<A HREF="https://nms.kcl.ac.uk/christian.urban/c.jpg">model-shoots</A> far away, or I am
567
+ − 197
assistant to the resident
+ − 198
<A HREF="https://nms.kcl.ac.uk/christian.urban/s1.jpg">chief</A>
+ − 199
<A HREF="https://nms.kcl.ac.uk/christian.urban/s2.jpg">paleontologist</A>.
2
+ − 200
</TD>
+ − 201
</TR>
+ − 202
+ − 203
<TR>
+ − 204
<TD BGCOLOR="#FFFFFF" WIDTH="75%">
+ − 205
<B>Nominal Isabelle</B>
591
+ − 206
I am the main developer of Nominal
+ − 207
<A HREF="http://isabelle.in.tum.de">Isabelle</A>. This is joint work with
583
+ − 208
<A HREF="http://www21.in.tum.de/~berghofe/">Dr Stefan Berghofer</A>,
466
+ − 209
<A HREF="http://sketis.net/">Dr Markus Wenzel</A>,
184
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 210
<A HREF="http://cl-informatik.uibk.ac.at/users/cek/">Dr Cezary Kaliszyk</A>,
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 211
<A HREF="http://user.it.uu.se/~tjawe125/">Dr Tjark Weber</A> and
2
+ − 212
the Isabelle-team in Munich.
+ − 213
Many of the theoretical ideas originate from the nominal logic project - a wonderful project headed
+ − 214
by <A HREF="http://www.cl.cam.ac.uk/~amp12/">Prof. Andrew Pitts</A>.
591
+ − 215
The aim with this work is to make formal reasoning involving binders as simple as
2
+ − 216
on paper and the hope is to lure
+ − 217
<A HREF="http://alliance.seas.upenn.edu/~plclub/cgi-bin/poplmark/index.php?title=The_POPLmark_Challenge#Vision">masses</A> to automated
+ − 218
theorem proving. My funding for this work was provided in 2004 and 2005 by a research
+ − 219
fellowship from the
+ − 220
<A HREF="http://en.wikipedia.org/wiki/Alexander_von_Humboldt">Alexander-von-Humboldt</A>
+ − 221
<A HREF="http://www.humboldt-foundation.de/web/home.html">foundation</A>. During this time I was a visitor in the group of
591
+ − 222
<A HREF="http://www.mathematik.uni-muenchen.de/~schwicht/">Prof. Helmut Schwichtenberg</A> in Munich.
+ − 223
Between 2006 and 2011 this work is supported by an
2
+ − 224
<A HREF="http://en.wikipedia.org/wiki/Emmy_Noether">Emmy-Noether</A>
591
+ − 225
<A HREF="https://www.dfg.de/en/research_funding/programmes/individual/emmy_noether/">fellowship</A> at the TUM.
585
+ − 226
There is a <A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/">webpage</A> about Nominal
586
+ − 227
Isabelle, which also includes a list of projects that use Nominal Isabelle.
374
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 228
Users of Nominal Isabelle had their papers appearing at LICS, POPL, FOSSACS, SOS, TPHOLs, CPP, SEFM,
375
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 229
the Haskell Symposium and
591
+ − 230
in the Journal of Automated Reasoning. Nowadays, Nominal Isabelle 2 is part of the <A HREF="https://www.isa-afp.org">Archive of Formal Proofs</A>.
+ − 231
</TD>
+ − 232
</TR>
+ − 233
+ − 234
<TR>
+ − 235
<TD BGCOLOR="#FFFFFF" WIDTH="75%">
+ − 236
<B>Real-Time Scheduling and Priority Inheritance</B>
+ − 237
In real-time operating systems with processes, resource locking and
+ − 238
priority scheduling, one faces the problem of
+ − 239
<A HREF="http://en.wikipedia.org/wiki/Priority_inversion">priority inversion</A> (processes
+ − 240
with lower priority block processes with higher priority indefinitely). If you do not prevent this problem,
+ − 241
then processes can behave erratically, as <A HREF="http://www.nasa.gov">NASA</A> found out the
+ − 242
<A HREF="http://catless.ncl.ac.uk/Risks/19.54.html#subj6">hard</A> way with their first
+ − 243
<A HREF="http://www.nasa.gov/mission_pages/mars-pathfinder/index.html">Mars Pathfinder mission</A>.
+ − 244
The priority inheritance protocol is a widely used scheduling algorithm that prevents
+ − 245
priority inversion. However, the <A HREF="http://dx.doi.org/10.1109/12.57058">original paper</A>
+ − 246
describing this algorithm contains an incorrect algorithm and a bogus(!) correctness proof.
+ − 247
+ − 248
We formalised our version of the priority inheritance protocol, including a generalisation
+ − 249
of the original work (we allow overlapping critical sections) in the theorem prover
+ − 250
<A HREF="http://isabelle.in.tum.de">Isabelle</A>.
+ − 251
+ − 252
In our formalisation we use the inductive method we learned from
+ − 253
<A HREF="https://www.cl.cam.ac.uk/~lp15/">Prof. Larry Paulson</A>.
594
+ − 254
He used this method in order to prove the correctness of cryptographic
591
+ − 255
protocols. We have implemented our algorithm on top of the
+ − 256
the small <A HREF="https://en.wikipedia.org/wiki/Pintos">PINTOS</A>
+ − 257
operating system used for teaching (we passed all their test cases and were
+ − 258
faster than their reference implementation).
+ − 259
+ − 260
+ − 261
While the problem with the original algorithm was already known for some time, the incorrect
+ − 262
specification seems to be still widely in use and described in many textbooks on real-time operating systems,
+ − 263
including famous and rather expensive
+ − 264
ones. Feel free to decide whether they are worth your time and money. Task: Spot the problems in
+ − 265
<A href="https://www.amazon.com/Real-Time-Systems-Design-Analysis-Practitioner-ebook/dp/B0062LNOCW">here</A>,
+ − 266
<A href="https://www.amazon.co.uk/Real-Time-Concepts-Embedded-Systems-Qing/dp/1578201241">here</A>,
+ − 267
<A href="https://www.amazon.co.uk/Real-Time-Systems-Jane-W-Liu/dp/0130996513">here</A>,
+ − 268
<A href="https://www.springer.com/gp/book/9780792392118">here</A> and
+ − 269
<A href="https://www.os-book.com/OS9/">here</A>!
+ − 270
Alternatively, you can look at the quotes and pointers in our
+ − 271
<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/pip.pdf">paper</A>. A notable
+ − 272
exception is the <A HREF="https://www.springer.com/gp/book/9781461406754">textbook</A>
+ − 273
by Buttazzo, who gives the correct specification. Unfortunately, his work did not
+ − 274
help us with proving the correctness of the priority inheritance protocol.
+ − 275
+ − 276
This is joint work with Prof. Xingyuan Zhang and his student Chunhan Wu from the
592
+ − 277
PLA University of Science and Technology in Nanjing.
2
+ − 278
</TD>
+ − 279
</TR>
+ − 280
+ − 281
<TR>
+ − 282
<TD BGCOLOR="#FFFFFF" WIDTH="75%">
+ − 283
<B>Myhill-Nerode and Regular Expressions</B>
63
+ − 284
Out of frustration of having to teach reasoning in theorem provers with worn-out examples like
2
+ − 285
fib and even/odd, we implemented a large part of regular language theory in Isabelle/HOL.
+ − 286
This <A HREF="http://afp.sourceforge.net/devel-entries/Myhill-Nerode.shtml">implementation</A>
+ − 287
gives rise to much more interesting examples, as shown
99
+ − 288
<A HREF="http://www.cs.cmu.edu/~rwh/papers/regexp/jfp.pdf">here</A> and
2
+ − 289
<A HREF="http://ropas.snu.ac.kr/~kwang/paper/06-jfp-yi.pdf">here</A>. It turns out that
+ − 290
formalisations of automata theory are a huge
+ − 291
<A HREF="https://lists.cam.ac.uk/pipermail/cl-isabelle-users/2005-September/msg00012.html">pain</A>
37
+ − 292
in theorem provers, especially in those that are based on HOL.
2
+ − 293
We therefore went against the
235
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 294
<A HREF="http://www.cs.cornell.edu/~kozen/papers/papers_by_year.htm#K97a">mainstream</A>
2
+ − 295
and used in our formalisation regular expressions exclusively,
+ − 296
because they are much more convenient for formal reasoning. The results we
+ − 297
formalised include: the Myhill-Nerode theorem, the closure of regular languages
+ − 298
under complementation, finiteness of derivatives of regular expressions and a surprising
+ − 299
result about Subseq, which according to
+ − 300
this
+ − 301
<A HREF="http://blog.computationalcomplexity.org/2006/01/theorem-that-should-be-better-known.html">blog</A>
301
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 302
should be better known. We also answered a
302
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 303
<A HREF="http://blog.computationalcomplexity.org/2013/02/proving-dfa-langs-closed-under-concat.html">question</A> from the same blog about
301
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 304
"proving Reg-exp-langs [being] closed under complementation without using equiv to DFA's"....yes we can!
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 305
This is joint work with Prof. Xingyuan
2
+ − 306
Zhang and his student Chunhan Wu from the
592
+ − 307
PLA University of Science and Technology in Nanjing.
2
+ − 308
My funding for this work came from the
587
+ − 309
<A HREF="http://sinogermanscience.dfg.nsfc.cn/de/index.html">Chinese-German Research Centre</A>.
2
+ − 310
</TD>
+ − 311
</TR>
+ − 312
+ − 313
<TR>
+ − 314
<TD BGCOLOR="#FFFFFF" WIDTH="75%">
+ − 315
<B>Nominal Unification and Alpha-Prolog</B>
519
+ − 316
<A HREF="https://nms.kcl.ac.uk/christian.urban/Unification">Nominal unification</A> is one outcome of
2
+ − 317
my involvement in the nominal logic project in Cambridge. Another is the logic programming language
+ − 318
alpha-Prolog (joint work with <A HREF="http://homepages.inf.ed.ac.uk/jcheney/">Dr James Cheney</A>),
+ − 319
which uses nominal unification - click for details
+ − 320
<A HREF="http://homepages.inf.ed.ac.uk/jcheney/programs/aprolog/">here</A>.
+ − 321
The nominal unification algorithm has been
519
+ − 322
<A HREF="https://nms.kcl.ac.uk/christian.urban/Unification">formally verified</A> in Isabelle. This
2
+ − 323
was possible since this unification algorithm is formulated in a simple first-order language
+ − 324
(unlike other algorithms for higher-order unification).
466
+ − 325
<A HREF="https://nms.kcl.ac.uk/maribel.fernandez/">Prof. Maribel Fernandez</A> and her student
2
+ − 326
improved the nominal unification algorithm to be quadratic.
430
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 327
<A HREF="http://www.cs.indiana.edu/~dfried/">Prof. Daniel Friedman</A> and his group use nominal
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 328
unification in their alpha-Kanren system implemented in Scheme. This work has also found its
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 329
way into <A HREF="http://clojure.org">Clojure</A> as the <A HREF="https://github.com/clojure/core.logic/wiki/core.logic.nominal">core.logic.nominal</A> package.
2
+ − 330
My funding for this work was provided through a research fellowship from
+ − 331
<A HREF="http://www.corpus.cam.ac.uk">Corpus Christi College</A>, Cambridge.
+ − 332
</TD>
+ − 333
</TR>
+ − 334
+ − 335
<TR>
+ − 336
<TD BGCOLOR="#FFFFFF" WIDTH="75%">
+ − 337
<B>Classical Logic</B>
+ − 338
I was Ph.D. student in the University of Cambridge
+ − 339
<A HREF="http://www.cl.cam.ac.uk">Computer Laboratory</A>
+ − 340
and for three years
+ − 341
called Gonville and Caius College my home. I was very lucky to have
362
+ − 342
<A HREF="https://labs.oracle.com/pls/apex/f?p=labs:bio:0:2044">Dr Gavin Bierman</A>
2
+ − 343
as supervisor. My research in Cambridge was also very much influenced by
+ − 344
<A HREF="http://www.dpmms.cam.ac.uk/~martin/">Prof. Martin Hyland</A>.
+ − 345
Some details on my thesis "Classical Logic and Computation" are
519
+ − 346
<A HREF="https://nms.kcl.ac.uk/christian.urban/PhD/index.html">elsewhere</A>, including
+ − 347
a <A HREF="https://nms.kcl.ac.uk/christian.urban/Cut/cutapplet.html">Java Applet</A> that
2
+ − 348
'visualises' some of the results from the thesis. I completed the writing of
+ − 349
the thesis in <A HREF="http://iml.univ-mrs.fr/ldp/">Marseille</A> in the group of
588
+ − 350
<A HREF="http://girard.perso.math.cnrs.fr/Accueil.html">Prof. Jean-Yves Girard</A>. My study in
2
+ − 351
Cambridge was funded by two <A HREF="http://www.daad.de/index.html">scholarships</a>
+ − 352
from the German government; my year in Marseille by a TMR-fellowship from the EU.
+ − 353
My PhD was also one starting point for the EPSRC Project on the Semantics of Classical
64
+ − 354
Proofs. The strong normalisation result in the PhD has been used in 2007 by
588
+ − 355
<A HREF="http://www.destineesnumeriques.com/speaker/aJZiZm5o/claude-kirchner">Prof. Claude Kirchner</A> and his
66
+ − 356
students for proving consistency of their superdeduction system lemuridae.
2
+ − 357
</TD>
+ − 358
</TR>
+ − 359
+ − 360
+ − 361
+ − 362
<TR>
+ − 363
<TD BGCOLOR="#FFFFFF" WIDTH="75%">
+ − 364
<B>Forum</B>
+ − 365
I implemented Forum, a programming language based on classical linear logic,
+ − 366
as my M.Phil. thesis. This was joint work with
469
+ − 367
<A HREF="https://rd.host.cs.st-andrews.ac.uk">Dr Roy Dyckhoff</A>.
2
+ − 368
Details can be found
469
+ − 369
<A HREF="https://rd.host.cs.st-andrews.ac.uk/logic/nonmac/">here</A> and
2
+ − 370
<A HREF="http://www.lix.polytechnique.fr/Labo/Dale.Miller/forum/">here</A>. During my
+ − 371
M.Phil study I spent one month in Philadelphia invited by
+ − 372
<A HREF="http://www.lix.polytechnique.fr/~dale/">Prof. Dale Miller</A>.
+ − 373
</TD>
+ − 374
</TR>
+ − 375
+ − 376
<TR>
+ − 377
<TD BGCOLOR="#FFFFFF" WIDTH="75%">
+ − 378
<B>G4ip</B> An implementation of G4ip using the imperative language Pizza can be found
519
+ − 379
<A HREF="https://nms.kcl.ac.uk/christian.urban/Prover/index.html">here</A>.
67
+ − 380
<A HREF="http://pizzacompiler.sourceforge.net">Pizza</A>, written around 1996, is a conservative
69
+ − 381
extension of Java and a precursor of Scala. My implementation illustrates the technique of
604
+ − 382
success continuations in proof search. <B>Update:</B> This ancient work inspired
603
+ − 383
<A HREF="http://rosien.net/">Adam Rosien</A> to re-surrect some parts of it in
605
+ − 384
<A HREF="https://github.com/arosien/sequentish/blob/master/src/main/scala/net/rosien/sequentish/LJT.scala">Scala</A> [<A HREF="https://github.com/arosien/sequentish">github</A>,
+ − 385
<A HREF="https://arosien.github.io/sequentish/slides.html#/">slides</A>]
2
+ − 386
</TD>
+ − 387
</TR>
+ − 388
+ − 389
+ − 390
</TABLE>
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 391
<P>
503
+ − 392
<a href="https://validator.w3.org/check/referer">[Validate this page.]</a>
591
+ − 393
</font>
2
+ − 394
</BODY>
+ − 395
</HTML>