Inductive Beluga: Programming Proofs
نویسندگان
چکیده
belugais a proof environment that provides a rich sophisticated infrastructure for implementing formal systems based on the logical framework LF together with a first-order reasoning language for implementing inductive proofs about them following the Curry-Howard
منابع مشابه
Programming Inductive Proofs - A New Approach Based on Contextual Types
In this paper, we present an overview to programming with proofs in the reasoning framework, Beluga. Beluga supports the specification of formal systems given by axioms and inference rules within the logical framework LF. It also supports implementing proofs about formal systems as dependently typed recursive functions. What distinguishes Beluga from other frameworks is that it not only represe...
متن کاملBeluga: A Framework for Programming and Reasoning with Deductive Systems
Beluga is an environment for programming and reasoning about formal systems given by axioms and inference rules. It implements the logical framework LF for specifying and prototyping formal systems via higher-order abstract syntax. It also supports reasoning: the user implements inductive proofs about formal systems as dependently typed recursive functions. A distinctive feature of Beluga is th...
متن کاملA Case-Study in Programming Coinductive Proofs: Howe’s Method
Bisimulation proofs play a central role in programming languages in establishing rich properties such as contextual equivalence. They are also challenging to mechanize, since they require a combination of inductive and coinductive reasoning on open terms. In this paper we describe mechanizing the property that similarity in the call-by-name lambda calculus is a pre-congruence using Howe’s metho...
متن کاملBeluga: A Framework for Programming and Reasoning with Deductive Systems (System Description)
Beluga is an environment for programming and reasoning about formal systems given by axioms and inference rules. It implements the logical framework LF for specifying and prototyping formal systems via higher-order abstract syntax. It also supports reasoning: the user implements inductive proofs about formal systems as dependently typed recursive functions. A distinctive feature of Beluga is th...
متن کاملMechanizing Proofs with Logical Relations – Kripke-style
Proofs with logical relations play a key role to establish rich properties such as normalization or contextual equivalence. They are also challenging to mechanize. In this paper, we describe two case studies using the proof environment Beluga: first, we explain the mechanization of the weak normalization proof for the simply-typed lambda-calculus; second, we outline how to mechanize the complet...
متن کامل