DeepAI AI Chat
Log In Sign Up

Controlling unfolding in type theory

10/11/2022
by   Daniel Gratzer, et al.
0

We present a novel mechanism for controlling the unfolding of definitions in dependent type theory. Traditionally, proof assistants let users specify whether each definition can or cannot be unfolded in the remainder of a development; unfolding definitions is often necessary in order to reason about them, but an excess of unfolding can result in brittle proofs and intractably large proof goals. In our system, definitions are by default not unfolded, but users can selectively unfold them in a local manner. We justify our mechanism by means of elaboration to a core type theory with extension types, a connective first introduced in the context of homotopy type theory. We prove a normalization theorem for our core calculus and have implemented our system in the cooltt proof assistant, providing both theoretical and practical evidence for it.

READ FULL TEXT

page 1

page 2

page 3

page 4

02/17/2021

Formalizing relations in type theory

Type theory plays an important role in foundations of mathematics as a f...
06/12/2017

A Simple Soundness Proof for Dependent Object Types

Dependent Object Types (DOT) is intended to be a core calculus for model...
07/29/2021

Syllepsis in Homotopy Type Theory

It is well-known that in homotopy type theory (HoTT), one can prove the ...
08/06/2021

Implicit and Explicit Proof Management in KeYmaera X

Hybrid systems theorem proving provides strong correctness guarantees ab...
07/05/2021

A Theory of Higher-Order Subtyping with Type Intervals (Extended Version)

The calculus of Dependent Object Types (DOT) has enabled a more principl...
11/04/2018

Syntax and Typing for Cedille Core

This document specifies a core version of the type theory implemented in...
12/06/2022

Synthesizing nested relational queries from implicit specifications: via model theory and via proof theory

Derived datasets can be defined implicitly or explicitly. An implicit de...