Formalising Type-Logical Grammars in Agda

09/03/2017
by   Wen Kokke, et al.
0

In recent years, the interest in using proof assistants to formalise and reason about mathematics and programming languages has grown. Type-logical grammars, being closely related to type theories and systems used in functional programming, are a perfect candidate to next apply this curiosity to. The advantages of using proof assistants is that they allow one to write formally verified proofs about one's type-logical systems, and that any theory, once implemented, can immediately be computed with. The downside is that in many cases the formal proofs are written as an afterthought, are incomplete, or use obtuse syntax. This makes it that the verified proofs are often much more difficult to read than the pen-and-paper proofs, and almost never directly published. In this paper, we will try to remedy that by example. Concretely, we use Agda to model the Lambek-Grishin calculus, a grammar logic with a rich vocabulary of type-forming operations. We then present a verified procedure for cut elimination in this system. Then we briefly outline a CPS translation from proofs in the Lambek-Grishin calculus to programs in Agda. And finally, we will put our system to use in the analysis of a simple example sentence.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/31/2021

Some axioms for mathematics

The lambda-Pi-calculus modulo theory is a logical framework in which man...
research
10/17/2017

System Description: Russell - A Logical Framework for Deductive Systems

Russell is a logical framework for the specification and implementation ...
research
08/23/2021

The Multiverse: Logical Modularity for Proof Assistants

Proof assistants play a dual role as programming languages and logical s...
research
07/20/2021

Verified Functional Programming of an Abstract Interpreter

Abstract interpreters are complex pieces of software: even if the abstra...
research
05/18/2018

Proofs and Programs about Open Terms

Formal deductive systems are very common in computer science. They are u...
research
05/01/2018

Live Functional Programming with Typed Holes

This paper develops a dynamic semantics for incomplete functional progra...
research
10/24/2019

A Polymorphic RPC Calculus

The RPC calculus is a simple semantic foundation for multi-tier programm...

Please sign up or login with your details

Forgot password? Click here to reset