Circular Proofs as Processes: Type-Based Termination via Arithmetic Refinements

05/13/2021
by   Siva Somayyajula, et al.
0

Type systems for concurrent programs guarantee such desirable properties as communication safety and type refinements facilitate the verification of program invariants. Yet, type-based termination of recursive concurrent programs has been largely unexplored. On the other hand, sized types enable termination checking of functional programs with complex patterns of recursion in the presence of mixed inductive and coinductive types. In this paper, we adapt sized types to the concurrent setting. In particular, we extend a core language for persistent shared memory concurrency based on the semi-axiomatic sequent calculus with recursive types and arithmetic refinements to express size indexing. To prove termination of program reduction, we first define a novel semantic model that reflects persistence in the type system and admits a straightforward generalization to substructural typing. We then develop a compositional validity condition for recursive concurrent programs viewed as circular proofs that guarantees termination.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset