scholarly journals Optimized Program Extraction for Induction and Coinduction

Author(s):  
Ulrich Berger ◽  
Olga Petrovska
Keyword(s):  
1995 ◽  
Vol 06 (03) ◽  
pp. 203-234 ◽  
Author(s):  
YUKIYOSHI KAMEYAMA

This paper studies an extension of inductive definitions in the context of a type-free theory. It is a kind of simultaneous inductive definition of two predicates where the defining formulas are monotone with respect to the first predicate, but not monotone with respect to the second predicate. We call this inductive definition half-monotone in analogy of Allen’s term half-positive. We can regard this definition as a variant of monotone inductive definitions by introducing a refined order between tuples of predicates. We give a general theory for half-monotone inductive definitions in a type-free first-order logic. We then give a realizability interpretation to our theory, and prove its soundness by extending Tatsuta’s technique. The mechanism of half-monotone inductive definitions is shown to be useful in interpreting many theories, including the Logical Theory of Constructions, and Martin-Löf’s Type Theory. We can also formalize the provability relation “a term p is a proof of a proposition P” naturally. As an application of this formalization, several techniques of program/proof-improvement can be formalized in our theory, and we can make use of this fact to develop programs in the paradigm of Constructive Programming. A characteristic point of our approach is that we can extract an optimization program since our theory enjoys the program extraction theorem.


Studia Logica ◽  
2006 ◽  
Vol 82 (1) ◽  
pp. 25-49 ◽  
Author(s):  
Ulrich Berger ◽  
Stefan Berghofer ◽  
Pierre Letouzey ◽  
Helmut Schwichtenberg
Keyword(s):  

2020 ◽  
Vol 191 ◽  
pp. 102372
Author(s):  
Kazuhiko Sakaguchi
Keyword(s):  

2019 ◽  
Vol 29 (4) ◽  
pp. 487-518 ◽  
Author(s):  
Ulrich Berger ◽  
Alison Jones ◽  
Monika Seisenberger

Abstract This article outlines a proof-theoretic approach to developing correct and terminating monadic parsers. Using modified realizability, we extract formally verified and terminating programs from formal proofs. By extracting both primitive parsers and parser combinators, it is ensured that all complex parsers built from these are also correct, complete and terminating for any input. We demonstrate the viability of our approach by means of two case studies: we extract (i) a small arithmetic calculator and (ii) a non-deterministic natural language parser. The work is being carried out in the interactive proof system Minlog.


2006 ◽  
Vol 155 ◽  
pp. 169-189 ◽  
Author(s):  
Małgorzata Biernacka ◽  
Olivier Danvy ◽  
Kristian Støvring
Keyword(s):  

2013 ◽  
Vol 52 (5-6) ◽  
pp. 659-666
Author(s):  
Alexander P. Kreuzer

Sign in / Sign up

Export Citation Format

Share Document