|
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> |
|
5 <BASE HREF="http://www.inf.kcl.ac.uk/staff/urbanc/"> |
|
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 |
|
18 </script> |
|
19 </HEAD> |
|
20 |
|
21 <BODY TEXT="#000000" |
|
22 BGCOLOR="#4169E1" |
|
23 LINK="#0000EF" |
|
24 VLINK="#51188E" |
|
25 ALINK="#FF0000"> |
|
26 |
|
27 <TABLE WIDTH="100%" |
|
28 BGCOLOR="#4169E1" |
|
29 BORDER="0" |
|
30 FRAME="border" |
|
31 CELLPADDING="10" |
|
32 CELLSPACING="2" |
|
33 RULES="all"> |
|
34 |
|
35 <!-- left column --> |
|
36 <TR> |
|
37 <TD BGCOLOR="#FFFFFF" |
|
38 WIDTH="24%" |
|
39 VALIGN="TOP" |
|
40 ROWSPAN="9"> |
|
41 |
|
42 <B>Links</B><BR> |
|
43 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/index.html">Home</A><BR> |
|
44 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/publications.html">Publications</A><BR> |
|
45 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/teaching.html">Teaching</A><BR> |
|
46 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/travelling.html">Recent Talks</A><BR> |
|
47 <A HREF="http://isabelle.in.tum.de/nominal/">My Research Group</A> |
|
48 <BR> |
|
49 <BR> |
|
50 |
|
51 <B>Handy Information</B><BR> |
|
52 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/logic.html">People in Logic</A><BR> |
|
53 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/programming.html">Programming Languages</A><BR> |
|
54 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/misc.html">Miscellaneous</A> |
|
55 <BR><BR> |
|
56 |
|
57 <table border="0"> |
|
58 <tr> |
|
59 <td> |
|
60 <A HREF="http://isabelle.in.tum.de/nominal/"> |
|
61 <IMG SRC="nominal-logo.gif" ALT="" style="border-width: 0px;" align="left"></A> |
|
62 </td> |
|
63 </tr> |
|
64 <tr> |
|
65 <td> |
|
66 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Cookbook/"> |
|
67 <IMG SRC="Cookbook/logo-documentation.gif" ALT="" style="border-width: 0px;" align="left"></A> |
|
68 </td> |
|
69 </tr> |
|
70 </table> |
|
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%"> |
|
81 <H1>Christian Urban</H1> |
|
82 |
|
83 <B>E-mail</B> |
|
84 christian.urban <I>at</I> kcl ac uk<BR> |
|
85 <BR> |
|
86 |
|
87 <B>Address</B> |
|
88 <A HREF="http://www.inf.kcl.ac.uk">Department of Informatics</A>, |
|
89 <A HREF="http://www.kcl.ac.uk">King's College London</A>, |
|
90 Strand, London WC2R 2LS, UK. My office is S1.27 on the 1st floor of the Strand Building. |
|
91 <BR> |
|
92 |
|
93 </TD> |
|
94 <TD align="right" valign="top"> |
|
95 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/picture-small.jpg"><IMG ALT="" SRC="picture-small.jpg" align="top"></A> |
|
96 </TD> |
|
97 </TR> |
|
98 </TABLE> |
|
99 <p> |
|
100 <IMG SRC="new.gif" ALT="" style="" align="left"><A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Cookbook" target="_top">Isabelle Programming Tutorial</A> (draft of a 200-page tutorial on Isabelle programming)<BR><BR> |
|
101 </TD> |
|
102 </TR> |
|
103 |
|
104 <TR> |
|
105 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
|
106 <B>Current Position</B> |
|
107 I am a lecturer in the Department of Informatics at King's College London. |
|
108 This is similar to a position of an assistant professor in other places. In 2011, |
|
109 I was also offered a lectureship |
|
110 <A HREF="http://www.it.uu.se/" TITLE="Uppsala">here</A>, an associate professorship |
|
111 <A HREF="http://www.itu.dk/en/" TITLE="ITU, Copenhagen">here</A>, |
|
112 and full professorships |
|
113 <A HREF="http://www.ustcsz.edu.cn/kedweb/" TITLE="IAS, Suzhou">here</A> and |
|
114 <A HREF="http://202.120.81.220/index.aspx" TITLE="Shanghai">here</A>. |
|
115 I thank all people involved for their efforts. |
|
116 <P> |
|
117 |
|
118 <B>Past Positions</B> |
|
119 In April 2006, I was awarded an <A HREF="http://en.wikipedia.org/wiki/Emmy_Noether">Emmy-Noether</A> |
|
120 <A HREF="http://www.dfg.de/en/research_funding/programmes/individual/emmy_noether/in_brief/index.html">fellowship</A>, which I held at the <A HREF="http://www.in.tum.de/en.html">TU Munich</A> until |
|
121 September 2011. |
|
122 Between September 2008 and February 2009, I was an invited research scientist in |
|
123 the <A HREF="http://www.cs.princeton.edu/">Department of Computer Science</A> in Princeton. |
|
124 In 2004/05 I was an Alexander-von-Humboldt fellow in Munich and |
|
125 from 2000 until 2004 I was awarded a Research Fellowship in Cambridge. Before that |
|
126 I did my PhD in Cambridge funded by two scholarships from the German Academic Exchange |
|
127 Service (<A HREF="http://www.daad.de/index.html">DAAD</A>). |
|
128 <P> |
|
129 |
|
130 <B>Skolem Award 2015</B> Together with |
|
131 <A HREF="http://www.pps.univ-paris-diderot.fr/~tasson/">Christine Tasson</A>, I was awarded a |
|
132 <A HREF="http://www.cadeinc.org/SkolemAward.html">Thoralf Skolem Award</A>, a ten-year |
|
133 test-of-time award from CADE, for our |
|
134 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Publications/nom-cade-05.ps">paper</A> |
|
135 on Nominal Techniques in Isabelle/HOL from 2005. |
|
136 <P> |
|
137 |
|
138 <B>Research Interests</B> theorem provers, verification, programming languages, compilers, |
|
139 algorithms, proof theory, type systems, concurrency, lambda calculus, unification, |
|
140 regular expressions, computability, complexity, functional and logic programming. |
|
141 <P> |
|
142 |
|
143 <B>Teaching</B> I usually enjoy teaching. At King's my students nominated me for the Teaching |
|
144 Excellence Award in |
|
145 2012 and 2015, and for the best MSc Project supervisor in 2015. |
|
146 In 2014 I received both prizes for Best UG Project Supervisor and for Best |
|
147 MSc Project Supervisor in the <A HREF="http://www.kcl.ac.uk/nms/index.aspx">NMS Faculty<A>.<P> |
|
148 |
|
149 |
|
150 <B>Conferences</B> |
|
151 UNIF'06 (member of PC), |
|
152 <A HREF="http://www.cs.mcgill.ca/~bpientka/lfmtp07">LFMTP'07</A> (member of PC), |
|
153 <A HREF="http://isabelle.in.tum.de/nominal/activities/lfmtp08/">LFMTP'08</A> (PC co-chair), |
|
154 <A HREF="http://www.cis.upenn.edu/~sweirich/wmm/">WMM'08</A> (member of PC), |
|
155 <A HREF="http://www.mat.ufmg.br/lsfa2008/">LSFA'08</A> (invited speaker), |
|
156 <A HREF="http://www.inf.kcl.ac.uk/staff/maribel/TAASN.html">TAASN'09</A> (member of PC), |
|
157 <A HREF="http://lsfa09.cic.unb.br/">LSFA'09</A> (member of PC), |
|
158 <A HREF="http://isabelle.in.tum.de/nominal/activities/tphols09/idw.html">IDW'09</A> (organiser), |
|
159 <A HREF="http://www.seas.upenn.edu/~sweirich/wmm/wmm09.html">WMM'09</A> (PC chair), |
|
160 <A HREF="https://isabelle.in.tum.de/nominal/activities/tphols09/">TPHOLs'09</A> (PC co-chair), |
|
161 <A HREF="http://dream.inf.ed.ac.uk/events/automatheo-2010/">Automatheo'10</A> (member of PC), |
|
162 <A HREF="http://www.floc-conference.org/">ITP'10</A> (member of PC), |
|
163 <A HREF="http://www.inf.kcl.ac.uk/staff/maribel/UNIF/UNIF.html">UNIF'10</A> (invited speaker), |
|
164 <A HREF="http://www.cis.upenn.edu/~bcpierce/wmm/">WMM'10</A> (invited speaker), |
|
165 <A HREF="http://isabelle.in.tum.de/nominal/activities/idw10/idw.html">IDW'10</A> (co-organiser), |
|
166 CPP'11 (member of PC), |
|
167 <A HREF="http://www.rdp2011.uns.ac.rs/rta/">RTA'11</A> (member of PC), |
|
168 <A HREF="http://lfmtp11.cs.umn.edu">LFMTP'11</A> (member of PC), |
|
169 <A HREF="http://www.cs.uwyo.edu/~ruben/itp-2014">ITP'14</A> (member of PC), |
|
170 <A HREF="http://www.cicm-conference.org/2015/cicm.php?event=mkm">MKM'15</A> (member of PC), |
|
171 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/itp-2015/">ITP'15</A> (PC co-chair) |
|
172 <P> |
|
173 |
|
174 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/itp-2015/">ITP'15</A> took place in Nanjing organised |
|
175 by Xingyuan Zhang and me<BR> |
|
176 <p> |
|
177 |
|
178 <B>Current PhD</B> Fahad Ausaf<BR> |
|
179 <B>Former RAs</B> Chunhan Wu, <A HREF="http://cl-informatik.uibk.ac.at/users/cek/">Cezary Kaliszyk</A>, |
|
180 <A HREF="http://dpt-info.u-strasbg.fr/~narboux/">Julien Narboux</A> |
|
181 </TD> |
|
182 </TR> |
|
183 |
|
184 <TR> |
|
185 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
|
186 <B>Nominal Isabelle</B> |
|
187 I currently work on Nominal |
|
188 <A HREF="http://isabelle.in.tum.de">Isabelle</A> 2. This is joint work with |
|
189 <A HREF="http://wwwbroy.in.tum.de/~berghofe/">Dr Stefan Berghofer</A>, |
|
190 <A HREF="http://www.lri.fr/~wenzel/">Dr Markus Wenzel</A>, |
|
191 <A HREF="http://cl-informatik.uibk.ac.at/users/cek/">Dr Cezary Kaliszyk</A>, |
|
192 <A HREF="http://user.it.uu.se/~tjawe125/">Dr Tjark Weber</A> and |
|
193 the Isabelle-team in Munich. |
|
194 Many of the theoretical ideas originate from the nominal logic project - a wonderful project headed |
|
195 by <A HREF="http://www.cl.cam.ac.uk/~amp12/">Prof. Andrew Pitts</A>. |
|
196 The aim of my work is to make formal reasoning involving binders as simple as |
|
197 on paper and the hope is to lure |
|
198 <A HREF="http://alliance.seas.upenn.edu/~plclub/cgi-bin/poplmark/index.php?title=The_POPLmark_Challenge#Vision">masses</A> to automated |
|
199 theorem proving. My funding for this work was provided in 2004 and 2005 by a research |
|
200 fellowship from the |
|
201 <A HREF="http://en.wikipedia.org/wiki/Alexander_von_Humboldt">Alexander-von-Humboldt</A> |
|
202 <A HREF="http://www.humboldt-foundation.de/web/home.html">foundation</A>. During this time I was a visitor in the group of |
|
203 <A HREF="http://www.mathematik.uni-muenchen.de/~schwicht/">Prof. Helmut Schwichtenberg</A>. |
|
204 Since 2006 this work is supported by an |
|
205 <A HREF="http://en.wikipedia.org/wiki/Emmy_Noether">Emmy-Noether</A> |
|
206 <A HREF="http://www.dfg.de/en/research_funding/programmes/individual/emmy_noether/in_brief/index.html">fellowship</A>. |
|
207 There is a <A HREF="http://isabelle.in.tum.de/nominal/">webpage</A> and a |
|
208 <A HREF="https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/nominal-isabelle">mailing list</A> |
|
209 about Nominal Isabelle. It also includes a list of projects that use Nominal Isabelle. |
|
210 Users of Nominal Isabelle had their papers appearing at LICS, POPL, FOSSACS, SOS, TPHOLs, CPP, SEFM, |
|
211 the Haskell Symposium and |
|
212 in the Journal of Automated Reasoning. |
|
213 </TD> |
|
214 </TR> |
|
215 |
|
216 <TR> |
|
217 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
|
218 <B>Myhill-Nerode and Regular Expressions</B> |
|
219 Out of frustration of having to teach reasoning in theorem provers with worn-out examples like |
|
220 fib and even/odd, we implemented a large part of regular language theory in Isabelle/HOL. |
|
221 This <A HREF="http://afp.sourceforge.net/devel-entries/Myhill-Nerode.shtml">implementation</A> |
|
222 gives rise to much more interesting examples, as shown |
|
223 <A HREF="http://www.cs.cmu.edu/~rwh/papers/regexp/jfp.pdf">here</A> and |
|
224 <A HREF="http://ropas.snu.ac.kr/~kwang/paper/06-jfp-yi.pdf">here</A>. It turns out that |
|
225 formalisations of automata theory are a huge |
|
226 <A HREF="https://lists.cam.ac.uk/pipermail/cl-isabelle-users/2005-September/msg00012.html">pain</A> |
|
227 in theorem provers, especially in those that are based on HOL. |
|
228 We therefore went against the |
|
229 <A HREF="http://www.cs.cornell.edu/~kozen/papers/papers_by_year.htm#K97a">mainstream</A> |
|
230 and used in our formalisation regular expressions exclusively, |
|
231 because they are much more convenient for formal reasoning. The results we |
|
232 formalised include: the Myhill-Nerode theorem, the closure of regular languages |
|
233 under complementation, finiteness of derivatives of regular expressions and a surprising |
|
234 result about Subseq, which according to |
|
235 this |
|
236 <A HREF="http://blog.computationalcomplexity.org/2006/01/theorem-that-should-be-better-known.html">blog</A> |
|
237 should be better known. We also answered a |
|
238 <A HREF="http://blog.computationalcomplexity.org/2013/02/proving-dfa-langs-closed-under-concat.html">question</A> from the same blog about |
|
239 "proving Reg-exp-langs [being] closed under complementation without using equiv to DFA's"....yes we can! |
|
240 This is joint work with Prof. Xingyuan |
|
241 Zhang and his student Chunhan Wu from the |
|
242 <A HREF="http://www.ust.com.cn/">PLA University of Science and Technology</A> in Nanjing. |
|
243 My funding for this work came from the |
|
244 <A HREF="http://www.sinogermanscience.org.cn/">Chinese-German Research Centre</A>. |
|
245 </TD> |
|
246 </TR> |
|
247 |
|
248 <!-- |
|
249 <TR> |
|
250 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
|
251 <B>Priority Inheritance</B> |
|
252 In real-time operating systems with processes, resource locking and |
|
253 priority scheduling, one faces the problem of indefinite |
|
254 <A HREF="http://en.wikipedia.org/wiki/Priority_inversion">priority inversion</A> (processes |
|
255 with lower priority block processes with higher priority). If you do not prevent this problem, |
|
256 then processes can behave quite erratically, as <A HREF="http://www.nasa.gov">NASA</A> found out the |
|
257 <A HREF="http://catless.ncl.ac.uk/Risks/19.54.html#subj6">hard</A> way with their |
|
258 <A HREF="http://www.nasa.gov/mission_pages/mars-pathfinder/index.html">Mars Pathfinder mission</A>. |
|
259 The priority inheritance protocol is a widely used schedulling algorithm that prevents |
|
260 priority inversion. However, the <A HREF="http://dx.doi.org/10.1109/12.57058">original paper</A> |
|
261 describing this algorithm contains an incorrect algorithm and a bogus correctness proof |
|
262 (this seems to be the only "proof" about priority inheritance in the literature). |
|
263 |
|
264 We formalised the priority inheritance protocol, including a generalisation |
|
265 of the original work. |
|
266 |
|
267 using the inductive method we learned from |
|
268 <A HREF="https://www.cl.cam.ac.uk/~lp15/">Prof. Larry Paulson</A>. |
|
269 While the problem with the original algorithm was already known, the incorrect |
|
270 specification seems to be still in use |
|
271 |
|
272 <A HREF="http://mcs.une.edu.au/%7Eiam/Data/threads/node15.html">here</A> |
|
273 <A HREF="http://ems2.be/Portals/6/course_docs/OS_pathfinder_failure.ppt"> |
|
274 |
|
275 This is joint work with Prof. Xingyuan Zhang and his student Chunhan Wu from the |
|
276 <A HREF="http://www.ust.com.cn/">PLA University of Science and Technology</A> in Nanjing. |
|
277 </TD> |
|
278 </TR> |
|
279 --> |
|
280 |
|
281 <TR> |
|
282 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
|
283 <B>Nominal Unification and Alpha-Prolog</B> |
|
284 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Unification">Nominal unification</A> is one outcome of |
|
285 my involvement in the nominal logic project in Cambridge. Another is the logic programming language |
|
286 alpha-Prolog (joint work with <A HREF="http://homepages.inf.ed.ac.uk/jcheney/">Dr James Cheney</A>), |
|
287 which uses nominal unification - click for details |
|
288 <A HREF="http://homepages.inf.ed.ac.uk/jcheney/programs/aprolog/">here</A>. |
|
289 The nominal unification algorithm has been |
|
290 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Unification">formally verified</A> in Isabelle. This |
|
291 was possible since this unification algorithm is formulated in a simple first-order language |
|
292 (unlike other algorithms for higher-order unification). |
|
293 <A HREF="http://www.cs.indiana.edu/~dfried/">Prof. Daniel Friedman</A> and his group use nominal |
|
294 unification in their alpha-Kanren system implemented in Scheme. |
|
295 <A HREF="http://www.inf.kcl.ac.uk/staff/maribel/">Prof. Maribel Fernandez</A> and her student |
|
296 improved the nominal unification algorithm to be quadratic. |
|
297 My funding for this work was provided through a research fellowship from |
|
298 <A HREF="http://www.corpus.cam.ac.uk">Corpus Christi College</A>, Cambridge. |
|
299 </TD> |
|
300 </TR> |
|
301 |
|
302 <TR> |
|
303 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
|
304 <B>Classical Logic</B> |
|
305 I was Ph.D. student in the University of Cambridge |
|
306 <A HREF="http://www.cl.cam.ac.uk">Computer Laboratory</A> |
|
307 and for three years |
|
308 called Gonville and Caius College my home. I was very lucky to have |
|
309 <A HREF="https://labs.oracle.com/pls/apex/f?p=labs:bio:0:2044">Dr Gavin Bierman</A> |
|
310 as supervisor. My research in Cambridge was also very much influenced by |
|
311 <A HREF="http://www.dpmms.cam.ac.uk/~martin/">Prof. Martin Hyland</A>. |
|
312 Some details on my thesis "Classical Logic and Computation" are |
|
313 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/PhD/index.html">elsewhere</A>, including |
|
314 a <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Cut/cutapplet.html">Java Applet</A> that |
|
315 'visualises' some of the results from the thesis. I completed the writing of |
|
316 the thesis in <A HREF="http://iml.univ-mrs.fr/ldp/">Marseille</A> in the group of |
|
317 <A HREF="http://iml.univ-mrs.fr/~girard/">Prof. Jean-Yves Girard</A>. My study in |
|
318 Cambridge was funded by two <A HREF="http://www.daad.de/index.html">scholarships</a> |
|
319 from the German government; my year in Marseille by a TMR-fellowship from the EU. |
|
320 My PhD was also one starting point for the EPSRC Project on the Semantics of Classical |
|
321 Proofs. The strong normalisation result in the PhD has been used in 2007 by |
|
322 <A HREF="http://www.loria.fr/~ckirchne/hot.html">Prof. Claude Kirchner</A> and his |
|
323 students for proving consistency of their superdeduction system lemuridae. |
|
324 </TD> |
|
325 </TR> |
|
326 |
|
327 |
|
328 |
|
329 <TR> |
|
330 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
|
331 <B>Forum</B> |
|
332 I implemented Forum, a programming language based on classical linear logic, |
|
333 as my M.Phil. thesis. This was joint work with |
|
334 <A HREF="http://www.cs.st-andrews.ac.uk/~rd/">Dr Roy Dyckhoff</A>. |
|
335 Details can be found |
|
336 <A HREF="http://www.cs.st-andrews.ac.uk/~rd/logic/nonmac/">here</A> and |
|
337 <A HREF="http://www.lix.polytechnique.fr/Labo/Dale.Miller/forum/">here</A>. During my |
|
338 M.Phil study I spent one month in Philadelphia invited by |
|
339 <A HREF="http://www.lix.polytechnique.fr/~dale/">Prof. Dale Miller</A>. |
|
340 </TD> |
|
341 </TR> |
|
342 |
|
343 <TR> |
|
344 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
|
345 <B>G4ip</B> An implementation of G4ip using the imperative language Pizza can be found |
|
346 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Prover/index.html">here</A>. |
|
347 <A HREF="http://pizzacompiler.sourceforge.net">Pizza</A>, written around 1996, is a conservative |
|
348 extension of Java and a precursor of Scala. My implementation illustrates the technique of |
|
349 success continuations in proof search. |
|
350 </TD> |
|
351 </TR> |
|
352 |
|
353 |
|
354 </TABLE> |
|
355 <P> |
|
356 <!-- hhmts start --> Last modified: Fri Nov 13 13:13:26 GMT 2015 <!-- hhmts end --> |
|
357 <a href="http://validator.w3.org/check/referer">[Validate this page.]</a> |
|
358 </BODY> |
|
359 </HTML> |