IMP_concur - A Semantics for a Language with Concurrency based on HOL-CSP

Burkhart Wolff 📧

August 31, 2026

This is a development version of this entry. It might change over time and is not stable. Please refer to release versions for citations.

Abstract

The theory IMPconcur provides a programming-language aspect to HOL-CSP. It extends the well-known imperative language IMP originated by Glenn Winskell by concurrent primitives like lock and unlock for semaphores, thread-local and system global program variables and the notion of threads that run in interleaving semantics. Threads can be parametric and used to construct concurrent process architectures. Representing IMPconcur semantics can be done by a straight-forward translation into HOL-CSP; thus, IMPconcur can be seen as a thin layer on top of the theory of Concurrent Sequential Processes of Hoare, Brookes and Roscoe in its formalization HOL-CSP in Isabelle/HOL. Notwithstanding its simplicity, IMPconcur covers many aspects of concurrency, non-termination, divergence, synchronization, states and race-conditions. We believe that IMPconcur may be relevant for readers interested in the link between programming languages and process algebras. Resulting new ways to concurrent program verification are an interesting target for future study. We also present a language extension for dynamic reconfigurations of thread- architectures. This session is complemented by a syntactic frontend for IMPconcur, called CIL, which has been authored by Mathilde Needham and Zineddine Kermadj on their internship project in summer 2025.

License

BSD License

Note

No generative AI has been used for this transition.

Topics

Related publications

  • Ballenghien, B., & Wolff, B. (2024). An Operational Semantics in Isabelle/HOL-CSP. In Y. Bertot, T. Kutsia, & M. Norrish (Eds.), LIPIcs, Volume 309, ITP 2024 (No. 7; Vol. 309, pp. 7:1–7:18). Schloss Dagstuhl – Leibniz-Zentrum für Informatik. https://doi.org/10.4230/LIPICS.ITP.2024.7

Session IMP_concur