The Multiverse: Logical Modularity for Proof Assistants

by   Kenji Maillard, et al.

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édrot and Tabareau, and general axiomatic extensions of the logic.


Formalising Type-Logical Grammars in Agda

In recent years, the interest in using proof assistants to formalise and...

A Survey of the Proof-Theoretic Foundations of Logic Programming

Several formal systems, such as resolution and minimal model semantics, ...

A Definitional Implementation of the Lax Logical Framework LLFP in Coq, for Supporting Fast and Loose Reasoning

The Lax Logical Framework, LLFP, was introduced, by a team including the...

Sharing a Library between Proof Assistants: Reaching out to the HOL Family

We observe today a large diversity of proof systems. This diversity has ...

Quotients of Bounded Natural Functors

The functorial structure of type constructors is the foundation for many...

Sealing Pointer-Based Optimizations Behind Pure Functions

Functional programming languages are particularly well-suited for buildi...

Monadic Style Control Constructs for Inference Systems

Recent advances in programming languages study and design have establish...

Please sign up or login with your details

Forgot password? Click here to reset