Proofs and Programs about Open Terms

05/18/2018
by   Francisco Ferreira Ruiz, et al.
0

Formal deductive systems are very common in computer science. They are used to represent logics, programming languages, and security systems. Moreover, writing programs that manipulate them and that reason about them is important and common. Consider proof assistants, language interpreters, compilers and other software that process input described by formal systems. This thesis shows that contextual types can be used to build tools for convenient implementation and reasoning about deductive systems with binders. We discuss three aspects of this: the reconstruction of implicit parameters that makes writing proofs and programs with dependent types easier, the addition of contextual objects to an existing programming language that make implementing formal systems with binders easier, and finally, we explore the idea of embedding the logical framework LF using contextual types in fully dependently typed theory. These are three aspects of the same message: programming using the right abstraction allows us to solve deeper problems with less effort. In this sense we want: easier to write programs and proofs (with implicit parameters), languages that support binders (by embedding a syntactic framework using contextual types), and the power of the logical framework LF with the expressivity of dependent types.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/30/2022

A meta-probabilistic-programming language for bisimulation of probabilistic and non-well-founded type systems

We introduce a formal meta-language for probabilistic programming, capab...
research
09/03/2017

Formalising Type-Logical Grammars in Agda

In recent years, the interest in using proof assistants to formalise and...
research
08/29/2022

Creating Interactive Visualizations of TopHat Programs

Many companies and institutions have automated their business process in...
research
05/24/2022

ACL2s Systems Programming

ACL2 provides a systems programming capability that allows one to write ...
research
09/15/2023

A Two-Level Linear Dependent Type Theory

We present a type theory combining both linearity and dependency by stra...
research
02/20/2023

Technical Dimensions of Programming Systems

Programming requires much more than just writing code in a programming l...
research
10/17/2022

Holbert: Reading, Writing, Proving and Learning in the Browser

This paper presents Holbert: a work-in-progress pedagogical proof assist...

Please sign up or login with your details

Forgot password? Click here to reset