Guarded recursion is a powerful modal approach to recursion that can be seen as an abstract form of step-indexing. It is currently used extensively in separation logic to model programming languages with advanced features by solving domain equations also with negative occurrences. In its multi-clocked version, guarded recursion can also be used to program with and reason about coinductive types, encoding the productivity condition required for recursive definitions in types. This paper presents the first type theory combining multi-clocked guarded recursion with the features of Cubical Type Theory, as well as a denotational semantics. Using the combination of Higher Inductive Types (HITs) and guarded recursion allows for simple programming and reasoning about coinductive types that are traditionally hard to represent in type theory, such as the type of finitely branching labelled transition systems. For example, our results imply that bisimilarity for these imply path equality, and so proofs can be transported along bisimilarity proofs. Among our technical contributions is a new principle of induction under clocks. This allows universal quantification over clocks to commute with HITs up to equivalence of types, and is crucial for the encoding of coinductive types. Such commutativity requirements have been formulated for inductive types as axioms in previous type theories with multi-clocked guarded recursion, but our present formulation as an induction principle allows for the formulation of general computation rules.
翻译:保护重现是一种强大的递归模式方法,可以被视为一种渐进式指数的抽象形式。目前,它被广泛用于分解逻辑,通过解决域等式和负事件等,模拟具有先进特征的语文。在多时制版本中,保护重现也可以用于与硬币类型和理由一起编程,将类型中循环定义所需的生产力条件编码。本文展示了第一种类型的理论,将多时制保守重现与Cubical Tyle理论的特征以及注解语义相结合。利用高级诱导类型(HITs)和保密重现的组合,可以对传统上难以在类型理论中代表的硬币类型进行简单的编程和推理。例如,有固定分支的分类过渡系统的类型。例如,我们的结果表明,这些类型之间的相似性意味着路径平等,因此证据可以与双相似性证据一起迁移。我们的技术贡献之一是一种按时钟进行诱导的新原则。这样可以使时钟与高级诱导型(HITs)和稳重重重重重的重塑类型,因此,在以往的周期规则类型中可以将普遍量化规则转换成。