Robbert Krebbers

Robbert I am a post-doc, supervised by Lars Birkedal, in the Logic and Semantics group of Aarhus University. I am working on separation logic.

Before that, I was a PhD student, supervised by Freek Wiedijk and Herman Geuvers, in the Foundations Group of the Radboud University Nijmegen. As part of my PhD thesis I have developed an operational, executable and axiomatic semantics of the C programming language. My semantics is based on the description of C by the C11 standard, and can therefore be used to reason about C programs in a compiler independent way. It covers delicate features of C such as non-local control (goto, return, break, continue and unstructured switch), non-determistic expression evaluation with sequence points, a defect report #260 compliant memory model (supporting C11's strong aliassing restrictions). For the development of this semantics, I have used the proof assistant Coq. The most recent version of the Coq development is available here.

I have also been working with Bas Spitters on a fast implementation of the real numbers in the proof assistant Coq. Our implementation, which is based on a previous implementation by Russell O’Connor, makes heavy use of Coq's new type classes and support for machine integers.

Apart from that, I have strong interests in type theory, and computational content of classical logic.


This list contains some courses I have taught:









The list below contains some slides of talks that do not have a corresponding conference paper. Slides corresponding to my conference papers can be found in the list above.



(λ x y . mail @ x y . nl) robbert krebbers