Temporal Refinements for Guarded Recursive Types
Abstract
We propose a logic for temporal properties of higher-order programs that handle infinite objects like streams or infinite trees, represented via coinductive types. Specifications of programs use safety and liveness properties. Programs can then be proven to satisfy their specification in a compositional way, our logic being based on a type system. The logic is presented as a refinement type system over the guarded $$\lambda $$ λ -calculus, a $$\lambda $$ λ -calculus with guarded recursive types. The refinements are formulae of a modal $$\mu $$ μ -calculus which embeds usual temporal modal logics such as and . The semantics of our system is given within a rich structure, the topos of trees, in which we build a realizability model of the temporal refinement type system.
Origin | Publisher files allowed on an open archive |
---|---|
Licence |