| author | Christian Urban <christian.urban@kcl.ac.uk> | 
| Tue, 16 May 2023 21:44:03 +0100 | |
| changeset 630 | 4c6646fc299c | 
| parent 619 | aa3a94ea68dd | 
| child 640 | ebd1ed4032b5 | 
| permissions | -rw-r--r-- | 
| 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 
0b3d8e2bec9e
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
235diff
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 
c7346bf702f0
tuned
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
303diff
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 
a907dadec244
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
421diff
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 
cde52ae55d33
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
373diff
changeset | 131 | <B>Skolem Award 2015</B> Together with | 
| 370 
51f031dff93a
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
369diff
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 
0eece9e5e088
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
437diff
changeset | 138 | Nachum Derschowitz, amongst others. | 
| 368 
f0db9889b48d
added skolem
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
362diff
changeset | 139 | <P> | 
| 
f0db9889b48d
added skolem
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
362diff
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 
14209d766caa
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
377diff
changeset | 146 | <B>Teaching</B> I usually enjoy teaching. At King's my students nominated me for the Teaching | 
| 
14209d766caa
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
377diff
changeset | 147 | Excellence Award in | 
| 475 | 148 | 2012, 2015, 2016 and 2017, and for the best MSc Project supervisor in 2015. | 
| 382 
0b96f6fc0b89
update
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
380diff
changeset | 149 | In 2014 I received both prizes for Best UG Project Supervisor and for Best | 
| 611 | 150 | MSc Project Supervisor in the <A HREF="http://www.kcl.ac.uk/nms/index.aspx">NMS Faculty</A>. | 
| 619 | 151 | In 2020/21, I was again nominated for the King's Education Award with a very kind | 
| 612 | 152 | <A HREF="https://nms.kcl.ac.uk/christian.urban/nomination2021.pdf">citation</A> from a student. | 
| 619 | 153 | <A HREF="https://nms.kcl.ac.uk/christian.urban/nomination2022.pdf">Here</A> is the citation from | 
| 630 | 154 | 2021/22. Another <A HREF="https://nms.kcl.ac.uk/christian.urban/nomination2023.pdf">one</A> for 2022/23. | 
| 611 | 155 | <P> | 
| 376 
7bb23233bd3b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
375diff
changeset | 156 | |
| 475 | 157 | |
| 382 
0b96f6fc0b89
update
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
380diff
changeset | 158 | |
| 2 | 159 | <B>Conferences</B> | 
| 235 
e19069c38c61
updated links
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 160 | UNIF'06 (member of PC), | 
| 2 | 161 | <A HREF="http://www.cs.mcgill.ca/~bpientka/lfmtp07">LFMTP'07</A> (member of PC), | 
| 507 | 162 | LFMTP'08 (PC co-chair), | 
| 2 | 163 | <A HREF="http://www.cis.upenn.edu/~sweirich/wmm/">WMM'08</A> (member of PC), | 
| 582 | 164 | LSFA'08 (invited speaker), | 
| 24 | 165 | <A HREF="http://www.inf.kcl.ac.uk/staff/maribel/TAASN.html">TAASN'09</A> (member of PC), | 
| 2 | 166 | <A HREF="http://lsfa09.cic.unb.br/">LSFA'09</A> (member of PC), | 
| 519 | 167 | <A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/activities/tphols09/idw.html">IDW'09</A> (organiser), | 
| 2 | 168 | <A HREF="http://www.seas.upenn.edu/~sweirich/wmm/wmm09.html">WMM'09</A> (PC chair), | 
| 519 | 169 | <A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/activities/tphols09/">TPHOLs'09</A> (PC co-chair), | 
| 2 | 170 | <A HREF="http://dream.inf.ed.ac.uk/events/automatheo-2010/">Automatheo'10</A> (member of PC), | 
| 171 | <A HREF="http://www.floc-conference.org/">ITP'10</A> (member of PC), | |
| 469 | 172 | UNIF'10 (invited speaker), | 
| 2 | 173 | <A HREF="http://www.cis.upenn.edu/~bcpierce/wmm/">WMM'10</A> (invited speaker), | 
| 519 | 174 | <A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/activities/idw10/idw.html">IDW'10</A> (co-organiser), | 
| 235 
e19069c38c61
updated links
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 175 | CPP'11 (member of PC), | 
| 2 | 176 | <A HREF="http://www.rdp2011.uns.ac.rs/rta/">RTA'11</A> (member of PC), | 
| 207 
d40cedf90810
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
201diff
changeset | 177 | <A HREF="http://lfmtp11.cs.umn.edu">LFMTP'11</A> (member of PC), | 
| 273 
0b3d8e2bec9e
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
235diff
changeset | 178 | <A HREF="http://www.cs.uwyo.edu/~ruben/itp-2014">ITP'14</A> (member of PC), | 
| 349 
4088b75174cf
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
335diff
changeset | 179 | <A HREF="http://www.cicm-conference.org/2015/cicm.php?event=mkm">MKM'15</A> (member of PC), | 
| 519 | 180 | <A HREF="https://nms.kcl.ac.uk/christian.urban/itp-2015/">ITP'15</A> (PC co-chair), | 
| 437 
6cc39f136c22
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
430diff
changeset | 181 | <A HREF="https://itp2016.inria.fr">ITP'16</A> (member of PC) | 
| 454 
62dfe25d6277
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
453diff
changeset | 182 | <A HREF="http://lsfa.cic.unb.br">LSFA'17</A> (member of PC) | 
| 460 
01214b7c6131
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
455diff
changeset | 183 | <A HREF="http://itp2017.cic.unb.br">ITP'17</A> (member of PC) | 
| 562 | 184 | <A HREF="https://itp19.cecs.pdx.edu">ITP'19</A> (member of PC) | 
| 589 | 185 | <A HREF="https://ijcar2020.org">IJCAR'20</A> (member of PC) | 
| 606 | 186 | <A HREF="http://easyconferences.eu/itp2021bid/">ITP'21</A> (member of PC) | 
| 187 | <A HREF="http://www.cs.cmu.edu/~mheule/CADE28/">CADE'21</A> (member of PC) | |
| 152 | 188 | <P> | 
| 189 | ||
| 519 | 190 | <A HREF="https://nms.kcl.ac.uk/christian.urban/itp-2015/">ITP'15</A> took place in Nanjing organised | 
| 380 
68ed5006e16a
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
378diff
changeset | 191 | by Xingyuan Zhang and me<BR> | 
| 
68ed5006e16a
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
378diff
changeset | 192 | <p> | 
| 
68ed5006e16a
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
378diff
changeset | 193 | |
| 580 | 194 | <B>Current PhD</B> Chengsong Tan<BR> | 
| 547 | 195 | <B>Former PhD</B> Fahad Ausaf (works at ARM in the VHDL compiler team)<BR> | 
| 546 | 196 | <B>Former RAs</B> Chunhan Wu, <A HREF="http://cl-informatik.uibk.ac.at/users/cek/">Cezary Kaliszyk</A>, | 
| 475 | 197 | <A HREF="http://dpt-info.u-strasbg.fr/~narboux/">Julien Narboux</A><p> | 
| 198 | ||
| 568 | 199 | If I am not teaching or not doing any research, I am sometimes in the lavender | 
| 567 | 200 | <A HREF="https://nms.kcl.ac.uk/christian.urban/family.jpg">fields</A> of London, or I do | 
| 569 | 201 | <A HREF="https://nms.kcl.ac.uk/christian.urban/c.jpg">model-shoots</A> far away, or I am | 
| 567 | 202 | assistant to the resident | 
| 203 | <A HREF="https://nms.kcl.ac.uk/christian.urban/s1.jpg">chief</A> | |
| 204 | <A HREF="https://nms.kcl.ac.uk/christian.urban/s2.jpg">paleontologist</A>. | |
| 2 | 205 | </TD> | 
| 206 | </TR> | |
| 207 | ||
| 208 | <TR> | |
| 209 | <TD BGCOLOR="#FFFFFF" WIDTH="75%"> | |
| 210 | <B>Nominal Isabelle</B> | |
| 591 | 211 | I am the main developer of Nominal | 
| 212 | <A HREF="http://isabelle.in.tum.de">Isabelle</A>. This is joint work with | |
| 583 | 213 | <A HREF="http://www21.in.tum.de/~berghofe/">Dr Stefan Berghofer</A>, | 
| 466 | 214 | <A HREF="http://sketis.net/">Dr Markus Wenzel</A>, | 
| 184 
b9e6ac16583d
added Tjark
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
176diff
changeset | 215 | <A HREF="http://cl-informatik.uibk.ac.at/users/cek/">Dr Cezary Kaliszyk</A>, | 
| 
b9e6ac16583d
added Tjark
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
176diff
changeset | 216 | <A HREF="http://user.it.uu.se/~tjawe125/">Dr Tjark Weber</A> and | 
| 2 | 217 | the Isabelle-team in Munich. | 
| 218 | Many of the theoretical ideas originate from the nominal logic project - a wonderful project headed | |
| 219 | by <A HREF="http://www.cl.cam.ac.uk/~amp12/">Prof. Andrew Pitts</A>. | |
| 591 | 220 | The aim with this work is to make formal reasoning involving binders as simple as | 
| 2 | 221 | on paper and the hope is to lure | 
| 222 | <A HREF="http://alliance.seas.upenn.edu/~plclub/cgi-bin/poplmark/index.php?title=The_POPLmark_Challenge#Vision">masses</A> to automated | |
| 223 | theorem proving. My funding for this work was provided in 2004 and 2005 by a research | |
| 224 | fellowship from the | |
| 225 | <A HREF="http://en.wikipedia.org/wiki/Alexander_von_Humboldt">Alexander-von-Humboldt</A> | |
| 616 | 226 | <A HREF="https://www.humboldt-foundation.de">foundation</A>. During this time I was a visitor in the group of | 
| 591 | 227 | <A HREF="http://www.mathematik.uni-muenchen.de/~schwicht/">Prof. Helmut Schwichtenberg</A> in Munich. | 
| 228 | Between 2006 and 2011 this work is supported by an | |
| 2 | 229 | <A HREF="http://en.wikipedia.org/wiki/Emmy_Noether">Emmy-Noether</A> | 
| 591 | 230 | <A HREF="https://www.dfg.de/en/research_funding/programmes/individual/emmy_noether/">fellowship</A> at the TUM. | 
| 585 | 231 | There is a <A HREF="https://nms.kcl.ac.uk/christian.urban/Nominal/">webpage</A> about Nominal | 
| 586 | 232 | Isabelle, which also includes a list of projects that use Nominal Isabelle. | 
| 374 
cde52ae55d33
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
373diff
changeset | 233 | Users of Nominal Isabelle had their papers appearing at LICS, POPL, FOSSACS, SOS, TPHOLs, CPP, SEFM, | 
| 375 
2ad6b0ef256c
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
374diff
changeset | 234 | the Haskell Symposium and | 
| 591 | 235 | 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>. | 
| 236 | </TD> | |
| 237 | </TR> | |
| 238 | ||
| 239 | <TR> | |
| 240 | <TD BGCOLOR="#FFFFFF" WIDTH="75%"> | |
| 241 | <B>Real-Time Scheduling and Priority Inheritance</B> | |
| 242 | In real-time operating systems with processes, resource locking and | |
| 243 | priority scheduling, one faces the problem of | |
| 244 | <A HREF="http://en.wikipedia.org/wiki/Priority_inversion">priority inversion</A> (processes | |
| 245 | with lower priority block processes with higher priority indefinitely). If you do not prevent this problem, | |
| 246 | then processes can behave erratically, as <A HREF="http://www.nasa.gov">NASA</A> found out the | |
| 247 | <A HREF="http://catless.ncl.ac.uk/Risks/19.54.html#subj6">hard</A> way with their first | |
| 248 | <A HREF="http://www.nasa.gov/mission_pages/mars-pathfinder/index.html">Mars Pathfinder mission</A>. | |
| 249 | The priority inheritance protocol is a widely used scheduling algorithm that prevents | |
| 250 | priority inversion. However, the <A HREF="http://dx.doi.org/10.1109/12.57058">original paper</A> | |
| 251 | describing this algorithm contains an incorrect algorithm and a bogus(!) correctness proof. | |
| 252 | ||
| 253 | We formalised our version of the priority inheritance protocol, including a generalisation | |
| 254 | of the original work (we allow overlapping critical sections) in the theorem prover | |
| 255 | <A HREF="http://isabelle.in.tum.de">Isabelle</A>. | |
| 256 | ||
| 257 | In our formalisation we use the inductive method we learned from | |
| 258 | <A HREF="https://www.cl.cam.ac.uk/~lp15/">Prof. Larry Paulson</A>. | |
| 594 | 259 | He used this method in order to prove the correctness of cryptographic | 
| 591 | 260 | protocols. We have implemented our algorithm on top of the | 
| 261 | the small <A HREF="https://en.wikipedia.org/wiki/Pintos">PINTOS</A> | |
| 262 | operating system used for teaching (we passed all their test cases and were | |
| 263 | faster than their reference implementation). | |
| 264 | ||
| 265 | ||
| 266 | While the problem with the original algorithm was already known for some time, the incorrect | |
| 267 | specification seems to be still widely in use and described in many textbooks on real-time operating systems, | |
| 268 | including famous and rather expensive | |
| 269 | ones. Feel free to decide whether they are worth your time and money. Task: Spot the problems in | |
| 270 | <A href="https://www.amazon.com/Real-Time-Systems-Design-Analysis-Practitioner-ebook/dp/B0062LNOCW">here</A>, | |
| 271 | <A href="https://www.amazon.co.uk/Real-Time-Concepts-Embedded-Systems-Qing/dp/1578201241">here</A>, | |
| 272 | <A href="https://www.amazon.co.uk/Real-Time-Systems-Jane-W-Liu/dp/0130996513">here</A>, | |
| 273 | <A href="https://www.springer.com/gp/book/9780792392118">here</A> and | |
| 274 | <A href="https://www.os-book.com/OS9/">here</A>! | |
| 275 | Alternatively, you can look at the quotes and pointers in our | |
| 276 | <A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/pip.pdf">paper</A>. A notable | |
| 277 | exception is the <A HREF="https://www.springer.com/gp/book/9781461406754">textbook</A> | |
| 278 | by Buttazzo, who gives the correct specification. Unfortunately, his work did not | |
| 279 | help us with proving the correctness of the priority inheritance protocol. | |
| 280 | ||
| 281 | This is joint work with Prof. Xingyuan Zhang and his student Chunhan Wu from the | |
| 592 | 282 | PLA University of Science and Technology in Nanjing. | 
| 2 | 283 | </TD> | 
| 284 | </TR> | |
| 285 | ||
| 286 | <TR> | |
| 287 | <TD BGCOLOR="#FFFFFF" WIDTH="75%"> | |
| 288 | <B>Myhill-Nerode and Regular Expressions</B> | |
| 63 | 289 | Out of frustration of having to teach reasoning in theorem provers with worn-out examples like | 
| 2 | 290 | fib and even/odd, we implemented a large part of regular language theory in Isabelle/HOL. | 
| 291 | This <A HREF="http://afp.sourceforge.net/devel-entries/Myhill-Nerode.shtml">implementation</A> | |
| 292 | gives rise to much more interesting examples, as shown | |
| 99 | 293 | <A HREF="http://www.cs.cmu.edu/~rwh/papers/regexp/jfp.pdf">here</A> and | 
| 2 | 294 | <A HREF="http://ropas.snu.ac.kr/~kwang/paper/06-jfp-yi.pdf">here</A>. It turns out that | 
| 295 | formalisations of automata theory are a huge | |
| 296 | <A HREF="https://lists.cam.ac.uk/pipermail/cl-isabelle-users/2005-September/msg00012.html">pain</A> | |
| 37 | 297 | in theorem provers, especially in those that are based on HOL. | 
| 2 | 298 | We therefore went against the | 
| 235 
e19069c38c61
updated links
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 299 | <A HREF="http://www.cs.cornell.edu/~kozen/papers/papers_by_year.htm#K97a">mainstream</A> | 
| 2 | 300 | and used in our formalisation regular expressions exclusively, | 
| 301 | because they are much more convenient for formal reasoning. The results we | |
| 302 | formalised include: the Myhill-Nerode theorem, the closure of regular languages | |
| 303 | under complementation, finiteness of derivatives of regular expressions and a surprising | |
| 304 | result about Subseq, which according to | |
| 305 | this | |
| 306 | <A HREF="http://blog.computationalcomplexity.org/2006/01/theorem-that-should-be-better-known.html">blog</A> | |
| 301 
1d95918391c8
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
300diff
changeset | 307 | should be better known. We also answered a | 
| 302 
25470d6b220a
tuned
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
301diff
changeset | 308 | <A HREF="http://blog.computationalcomplexity.org/2013/02/proving-dfa-langs-closed-under-concat.html">question</A> from the same blog about | 
| 301 
1d95918391c8
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
300diff
changeset | 309 | "proving Reg-exp-langs [being] closed under complementation without using equiv to DFA's"....yes we can! | 
| 
1d95918391c8
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
300diff
changeset | 310 | This is joint work with Prof. Xingyuan | 
| 2 | 311 | Zhang and his student Chunhan Wu from the | 
| 592 | 312 | PLA University of Science and Technology in Nanjing. | 
| 2 | 313 | My funding for this work came from the | 
| 587 | 314 | <A HREF="http://sinogermanscience.dfg.nsfc.cn/de/index.html">Chinese-German Research Centre</A>. | 
| 2 | 315 | </TD> | 
| 316 | </TR> | |
| 317 | ||
| 318 | <TR> | |
| 319 | <TD BGCOLOR="#FFFFFF" WIDTH="75%"> | |
| 320 | <B>Nominal Unification and Alpha-Prolog</B> | |
| 519 | 321 | <A HREF="https://nms.kcl.ac.uk/christian.urban/Unification">Nominal unification</A> is one outcome of | 
| 2 | 322 | my involvement in the nominal logic project in Cambridge. Another is the logic programming language | 
| 323 | alpha-Prolog (joint work with <A HREF="http://homepages.inf.ed.ac.uk/jcheney/">Dr James Cheney</A>), | |
| 324 | which uses nominal unification - click for details | |
| 325 | <A HREF="http://homepages.inf.ed.ac.uk/jcheney/programs/aprolog/">here</A>. | |
| 326 | The nominal unification algorithm has been | |
| 519 | 327 | <A HREF="https://nms.kcl.ac.uk/christian.urban/Unification">formally verified</A> in Isabelle. This | 
| 2 | 328 | was possible since this unification algorithm is formulated in a simple first-order language | 
| 329 | (unlike other algorithms for higher-order unification). | |
| 466 | 330 | <A HREF="https://nms.kcl.ac.uk/maribel.fernandez/">Prof. Maribel Fernandez</A> and her student | 
| 2 | 331 | improved the nominal unification algorithm to be quadratic. | 
| 430 
9dae6e101cde
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
428diff
changeset | 332 | <A HREF="http://www.cs.indiana.edu/~dfried/">Prof. Daniel Friedman</A> and his group use nominal | 
| 
9dae6e101cde
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
428diff
changeset | 333 | unification in their alpha-Kanren system implemented in Scheme. This work has also found its | 
| 
9dae6e101cde
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
428diff
changeset | 334 | 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 | 335 | My funding for this work was provided through a research fellowship from | 
| 336 | <A HREF="http://www.corpus.cam.ac.uk">Corpus Christi College</A>, Cambridge. | |
| 337 | </TD> | |
| 338 | </TR> | |
| 339 | ||
| 340 | <TR> | |
| 341 | <TD BGCOLOR="#FFFFFF" WIDTH="75%"> | |
| 342 | <B>Classical Logic</B> | |
| 343 | I was Ph.D. student in the University of Cambridge | |
| 344 | <A HREF="http://www.cl.cam.ac.uk">Computer Laboratory</A> | |
| 345 | and for three years | |
| 346 | called Gonville and Caius College my home. I was very lucky to have | |
| 362 | 347 | <A HREF="https://labs.oracle.com/pls/apex/f?p=labs:bio:0:2044">Dr Gavin Bierman</A> | 
| 2 | 348 | as supervisor. My research in Cambridge was also very much influenced by | 
| 349 | <A HREF="http://www.dpmms.cam.ac.uk/~martin/">Prof. Martin Hyland</A>. | |
| 350 | Some details on my thesis "Classical Logic and Computation" are | |
| 519 | 351 | <A HREF="https://nms.kcl.ac.uk/christian.urban/PhD/index.html">elsewhere</A>, including | 
| 352 | a <A HREF="https://nms.kcl.ac.uk/christian.urban/Cut/cutapplet.html">Java Applet</A> that | |
| 2 | 353 | 'visualises' some of the results from the thesis. I completed the writing of | 
| 354 | the thesis in <A HREF="http://iml.univ-mrs.fr/ldp/">Marseille</A> in the group of | |
| 588 | 355 | <A HREF="http://girard.perso.math.cnrs.fr/Accueil.html">Prof. Jean-Yves Girard</A>. My study in | 
| 2 | 356 | Cambridge was funded by two <A HREF="http://www.daad.de/index.html">scholarships</a> | 
| 357 | from the German government; my year in Marseille by a TMR-fellowship from the EU. | |
| 358 | My PhD was also one starting point for the EPSRC Project on the Semantics of Classical | |
| 64 | 359 | Proofs. The strong normalisation result in the PhD has been used in 2007 by | 
| 616 | 360 | <A HREF="https://jao2015.sciencesconf.org/conference/jao2015/pages/Claude_Kirchner.pdf">Prof. Claude Kirchner</A> and his | 
| 66 | 361 | students for proving consistency of their superdeduction system lemuridae. | 
| 2 | 362 | </TD> | 
| 363 | </TR> | |
| 364 | ||
| 365 | ||
| 366 | ||
| 367 | <TR> | |
| 368 | <TD BGCOLOR="#FFFFFF" WIDTH="75%"> | |
| 369 | <B>Forum</B> | |
| 370 | I implemented Forum, a programming language based on classical linear logic, | |
| 371 | as my M.Phil. thesis. This was joint work with | |
| 616 | 372 | <A HREF="https://st-andrews.academia.edu/RoyDyckhoff">Dr Roy Dyckhoff</A>. | 
| 2 | 373 | Details can be found | 
| 469 | 374 | <A HREF="https://rd.host.cs.st-andrews.ac.uk/logic/nonmac/">here</A> and | 
| 2 | 375 | <A HREF="http://www.lix.polytechnique.fr/Labo/Dale.Miller/forum/">here</A>. During my | 
| 376 | M.Phil study I spent one month in Philadelphia invited by | |
| 377 | <A HREF="http://www.lix.polytechnique.fr/~dale/">Prof. Dale Miller</A>. | |
| 378 | </TD> | |
| 379 | </TR> | |
| 380 | ||
| 381 | <TR> | |
| 382 | <TD BGCOLOR="#FFFFFF" WIDTH="75%"> | |
| 383 | <B>G4ip</B> An implementation of G4ip using the imperative language Pizza can be found | |
| 519 | 384 | <A HREF="https://nms.kcl.ac.uk/christian.urban/Prover/index.html">here</A>. | 
| 67 | 385 | <A HREF="http://pizzacompiler.sourceforge.net">Pizza</A>, written around 1996, is a conservative | 
| 69 | 386 | extension of Java and a precursor of Scala. My implementation illustrates the technique of | 
| 604 | 387 | success continuations in proof search. <B>Update:</B> This ancient work inspired | 
| 603 | 388 | <A HREF="http://rosien.net/">Adam Rosien</A> to re-surrect some parts of it in | 
| 605 | 389 | <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>, | 
| 390 | <A HREF="https://arosien.github.io/sequentish/slides.html#/">slides</A>] | |
| 2 | 391 | </TD> | 
| 392 | </TR> | |
| 393 | ||
| 394 | ||
| 395 | </TABLE> | |
| 199 
b3b67c7cbb8b
changed
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
196diff
changeset | 396 | <P> | 
| 503 | 397 | <a href="https://validator.w3.org/check/referer">[Validate this page.]</a> | 
| 591 | 398 | </font> | 
| 2 | 399 | </BODY> | 
| 400 | </HTML> |