70 research outputs found
Internal Parametricity for Cubical Type Theory
We define a computational type theory combining the contentful equality structure of cartesian cubical type theory with internal parametricity primitives. The combined theory supports both univalence and its relational equivalent, which we call relativity. We demonstrate the use of the theory by analyzing polymorphic functions between higher inductive types, and we give an account of the identity extension lemma for internal parametricity
Towards a Cubical Type Theory without an Interval
Following the cubical set model of type theory which validates the
univalence axiom, cubical type theories have been developed that
interpret the identity type using an interval pretype. These theories start from a geometric view of equality. A proof of equality is encoded as a term in a context extended by the interval pretype. Our goal is to develop a cubical theory where the identity type is defined recursively over the type structure, and the geometry arises from these definitions. In this theory, cubes are present explicitly, e.g., a line is a telescope with 3 elements: two endpoints and the connecting equality. This is in line with Bernardy and Moulin\u27s earlier work on internal parametricity. In this paper we present a naive syntax for internal parametricity and by replacing the parametric interpretation of the universe, we extend it to univalence. However, we do not know how to compute in this theory. As a second step, we present a version of the theory for parametricity with named dimensions which has an operational semantics. Extending this syntax to univalence is left as further work
Towards a cubical type theory without an interval
Following the cubical set model of type theory which validates the univalence axiom, cubical type theories have been developed that interpret the identity type using an interval pretype. These theories start from a geometric view of equality. A proof of equality is encoded as a term in a context extended by the interval pretype. Our goal is to develop a cubical theory where the identity type is defined recursively over the type structure, and the geometry arises from these definitions. In this theory, cubes are present explicitly, e.g. a line is a telescope with 3 elements: two endpoints and the connecting equality. This is in line with Bernardy and Moulin's earlier work on internal parametricity. In this paper we present a naive syntax for internal parametricity and by replacing the parametric interpretation of the universe, we extend it to univalence. However, we don't know how to compute in this theory. As a second step, we present a version of the theory for parametricity with named dimensions which has an operational semantics. Extending this syntax to univalence is left as further work
Proof-relevant parametricity
Parametricity is one of the foundational principles which underpin our understanding of modern programming languages. Roughly speaking, parametricity expresses the hidden invariants that programs satisfy by formalising the intuition that programs map related inputs to related outputs. Traditionally parametricity is formulated with proofirrelevant relations but programming in Type Theory requires an extension to proof-relevant relations. But then one might ask: can our proofs that polymorphic functions are parametric be parametric themselves? This paper shows how this can be done and, excitingly, our answer requires a trip into the world of higher dimensional parametricity
Transpension: The Right Adjoint to the Pi-type
Presheaf models of dependent type theory have been successfully applied to
model HoTT, parametricity, and directed, guarded and nominal type theory. There
has been considerable interest in internalizing aspects of these presheaf
models, either to make the resulting language more expressive, or in order to
carry out further reasoning internally, allowing greater abstraction and
sometimes automated verification. While the constructions of presheaf models
largely follow a common pattern, approaches towards internalization do not.
Throughout the literature, various internal presheaf operators (,
, , , ,
, the strictness axiom and locally fresh names) can be found and
little is known about their relative expressivenes. Moreover, some of these
require that variables whose type is a shape (representable presheaf, e.g. an
interval) be used affinely.
We propose a novel type former, the transpension type, which is right adjoint
to universal quantification over a shape. Its structure resembles a dependent
version of the suspension type in HoTT. We give general typing rules and a
presheaf semantics in terms of base category functors dubbed multipliers.
Structural rules for shape variables and certain aspects of the transpension
type depend on characteristics of the multiplier. We demonstrate how the
transpension type and the strictness axiom can be combined to implement all and
improve some of the aforementioned internalization operators (without formal
claim in the case of locally fresh names)
Trocq: Proof Transfer for Free, With or Without Univalence
Libraries of formalized mathematics use a possibly broad range of different
representations for a same mathematical concept. Yet light to major manual
input from users remains most often required for obtaining the corresponding
variants of theorems, when such obvious replacements are typically left
implicit on paper. This article presents Trocq, a new proof transfer framework
for dependent type theory. Trocq is based on a novel formulation of type
equivalence, used to generalize the univalent parametricity translation. This
framework takes care of avoiding dependency on the axiom of univalence when
possible, and may be used with more relations than just equivalences. We have
implemented a corresponding plugin for the Coq proof assistant, in the CoqElpi
meta-language. We use this plugin on a gallery of representative examples of
proof transfer issues in interactive theorem proving, and illustrate how Trocq
covers the spectrum of several existing tools, used in program verification as
well as in formalized mathematics in the broad sense
- …