Proof assistants play a dual role as programming languages and logical systems. As programming languages, proof assistants offer standard modularity mechanisms such as first-class functions, type polymorphism and modules. As logical systems, however, modularity is lacking, and understandably so: incompatible reasoning principles -- such as univalence and uniqueness of identity proofs -- can indirectly lead to logical inconsistency when used in a given development, even when they appear to be confined to different modules. The lack of logical modularity in proof assistants also hinders the adoption of richer programming constructs, such as effects. We propose the multiverse, a general type-theoretic approach to endow proof assistants with logical modularity. The multiverse consists of multiple universe hierarchies that statically describe the reasoning principles and effects available to define a term at a given type. We identify sufficient conditions for this structuring to modularly ensure that incompatible principles do not interfere, and to locally restrict the power of dependent elimination when necessary. This extensible approach generalizes the ad-hoc treatment of the sort of propositions in the Coq proof assistant. We illustrate the power of the multiverse by describing the inclusion of Coq-style propositions, the strict propositions of Gilbert et al., the exceptional type theory of P\'edrot and Tabareau, and general axiomatic extensions of the logic.
翻译:作为编程语言和逻辑系统,证明助理起着双重作用。作为编程语言,证明助理提供标准模块化机制,例如一流功能、类型多形态和模块。然而,作为逻辑系统,模块化是缺乏的,而且可以理解:不兼容的推理原则 -- -- 例如身份证明的单一性和独特性 -- -- 在特定开发过程中,即使似乎限于不同的模块,也可能间接导致逻辑不一致。证明助理缺乏逻辑模块化也妨碍采用更丰富的编程结构,例如效果。我们提出多反,一种一般类型理论方法,用于提供逻辑模块化的终极验证助理。多元宇宙等级构成,静态地描述用于在特定类型中界定术语的推理原则和效果。我们确定这种结构的充足条件是为了在模块化上确保不一致的原则不受干扰,必要时在当地限制依赖性消除的能力。这种推论概括了对Coqual证据助理中各种主张的对应处理。我们用多种理论的力量,我们通过描述Coqruitalal-slational-lationalforal latial 和Exal-cal latitutional-s acal-cal latistral latistral latistral latistral latistral latistral lads ladal latical latical lads.我们,我们,我们展示的理论和Cal-caltical-cal-cal ladaltiversal latical-s laticaltical laticaltition,我们展示了一种非常的理论的理论,我们的理论的理论的理论的理论的理论,我们的理论,我们用的理论的理论,我们用的理论的理论的理论的理论的理论的推推。我们用。我们用。我们用。