> Markdown version of [/jobs/ext/353652-postdoc-cyclic-programming-and-reasoning](https://www.wearedevelopers.com/jobs/ext/353652-postdoc-cyclic-programming-and-reasoning). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Postdoc Cyclic Programming and Reasoning - **Company:** TU Delft - **Location:** Delft, Netherlands - **Salary:** €3,546.0 - €5,538.0 - **Contract:** Temporary contract - **Skills:** C++ (Programming Language), Computer Programming, Open Source Technology, System Programming, Type Systems, Information Technology, Programming Languages - **Published:** June 3, 2026 - **Apply:** https://nl.indeed.com/viewjob?jk=f9a4cad84a8268e4 ## About the Role * A PhD in computer science, mathematics, or a closely related discipline (obtained or expected to be obtained before the starting date) * Solid experience using a proof assistant such as Agda, Rocq, or Lean, ideally for non-trivial formalisations or for research on the proof assistant itself * A strong background in type theory and/or programming language theory, including familiarity with topics such as dependent types, type systems for program verification, or operational/denotational semantics * The ability to conduct independent research, demonstrated by peer-reviewed publications at relevant international venues * Good written and spoken English, and the communication skills needed to collaborate effectively within a multi-site consortium ## Description Software is at the core of modern society - from communication networks and financial systems to medical devices and transport infrastructure - and ensuring that it behaves correctly is both essential and notoriously difficult. Proof assistants such as Agda and Rocq (formerly Coq) make it possible to construct mathematically rigorous, machine-checked guarantees about software behaviour, but applying them to programs written in mainstream languages remains a significant challenge. This is especially true for software that exhibits cyclic behaviour: programs with loops, recursive data, or continuous interaction with their environment, which require a careful interplay of inductive and coinductive reasoning to verify. In this postdoc position, you will work at the intersection of proof assistants and modern systems programming. Your central task is to design and prototype a way to verify Rust programs - and in particular programs with cyclic structures - by translating them, together with logical annotations supplied by the developer, into a proof assistant where their correctness can be machine-checked. The aim is not to build yet another verification tool from scratch, but to make state-of-the-art research on inductive-coinductive type theory genuinely usable for Rust developers. You will work closely with a parallel PhD project on first-class coinduction in proof assistants, helping to refine the underlying type theory and putting it to the test on realistic Rust programs. This position is part of the NWO-XL consortium project Cyclic Structures in Programs and Proofs: New Harmonies in Software Correctness by Construction, a collaboration between five Dutch universities (TU Delft, Groningen, Leiden, Nijmegen, and Twente) which brings together expertise in formal logic, programming language theory, concurrency, and proof assistants. You will be based at TU Delft in the Programming Languages group, supervised by Jesper Cockx, and will collaborate closely with the other PhD students, postdocs, and senior researchers in the consortium. Within the wider project, your work forms a bridge between foundational research on coinductive reasoning and its practical application to real programs, and as such will play a key role in demonstrating that the consortium's theoretical advances translate into concrete tools that practitioners can use. You will have significant freedom to shape the technical agenda, publish your findings at leading venues (such as POPL, ICFP, OOPSLA, ITP, and CPP), and contribute to the open-source tools developed within the consortium. You will also be encouraged to spend time at one of the partner universities and to engage with the broader national and international research community via the NetTCS network and consortium-organised workshops and schools. ## Related Videos - [Type Systems You Might Not Know (But Will Love)](https://www.wearedevelopers.com/videos/100067-type-systems-you-might-not-know-but-will-love) - [Photonic Computing: Programming a New Class of AI Accelerators (incl. Live Coding)](https://www.wearedevelopers.com/videos/100196-photonic-computing-programming-a-new-class-of-ai-accelerators-incl-live-coding) - [Is it still C#? Practical systems programming with .NET (war stories included)](https://www.wearedevelopers.com/videos/100138-is-it-still-c-practical-systems-programming-with-net-war-stories-included) - [Get ready to Rustle](https://www.wearedevelopers.com/videos/698-get-ready-to-rustle) - [Where we're going we don't need JavaScript - Programming with Type Annotations](https://www.wearedevelopers.com/videos/455-where-we-re-going-we-don-t-need-javascript-programming-with-type-annotations) - [Quantum DevOps - Quantum Application Development](https://www.wearedevelopers.com/videos/1441-quantum-devops-quantum-application-development) ## Related Articles - [Résumé-Driven Development: How IT trends affect the job market for software developers](https://www.wearedevelopers.com/magazine/59-resume-driven-development-how-it-trends-affect-the-job-market-for-software-developers) - [The Netherlands – Europe’s powerhouse for software development?](https://www.wearedevelopers.com/magazine/31-the-netherlands-europe-s-powerhouse-for-software-development) - [10 Highest Paying Programming Languages 2025](https://www.wearedevelopers.com/magazine/150-10-highest-paying-programming-languages-2025) - [How to land a developer job in Amsterdam](https://www.wearedevelopers.com/magazine/36-how-to-land-a-developer-job-in-amsterdam) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [How to Get Better at Pair Programming](https://www.wearedevelopers.com/magazine/592-how-to-get-better-at-pair-programming)