Results 1 
6 of
6
A machinechecked model for a Javalike language, virtual machine and compiler
 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
, 2004
"... We introduce Jinja, a Javalike programming language with a formal semantics designed to exhibit core features of the Java language architecture. Jinja is a compromise between realism of the language and tractability and clarity of the formal semantics. The following aspects are formalised: a big an ..."
Abstract

Cited by 97 (8 self)
 Add to MetaCart
We introduce Jinja, a Javalike programming language with a formal semantics designed to exhibit core features of the Java language architecture. Jinja is a compromise between realism of the language and tractability and clarity of the formal semantics. The following aspects are formalised: a big and a small step operational semantics for Jinja and a proof of their equivalence; a type system and a definite initialisation analysis; a type safety proof of the small step semantics; a virtual machine (JVM), its operational semantics and its type system; a type safety proof for the JVM; a bytecode verifier, i.e. data flow analyser for the JVM; a correctness proof of the bytecode verifier w.r.t. the type system; a compiler and a proof that it preserves semantics and welltypedness. The emphasis of this work is not on particular language features but on providing a unified model of the source language, the virtual machine and the compiler. The whole development has been carried out in the theorem prover Isabelle/HOL.
Program extraction from normalization proofs
 Typed Lambda Calculi and Applications, number 664 in Lecture Notes in Computer Science
, 1993
"... This paper describes formalizations of Tait’s normalization proof for the simply typed λcalculus in the proof assistants Minlog, Coq and Isabelle/HOL. From the formal proofs programs are machineextracted that implement variants of the wellknown normalizationbyevaluation algorithm. The case stud ..."
Abstract

Cited by 60 (5 self)
 Add to MetaCart
This paper describes formalizations of Tait’s normalization proof for the simply typed λcalculus in the proof assistants Minlog, Coq and Isabelle/HOL. From the formal proofs programs are machineextracted that implement variants of the wellknown normalizationbyevaluation algorithm. The case study is used to test and compare the program extraction machineries of the three proof assistants in a nontrivial setting. 1
A LargeScale Experiment in Executing Extracted Programs
"... It is a wellknown fact that algorithms are often hidden inside mathematical proofs. If these proofs are formalized inside a proof assistant, then a mechanism called extraction can generate the corresponding programs automatically. Previous work has focused on the difficulties in obtaining a program ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
It is a wellknown fact that algorithms are often hidden inside mathematical proofs. If these proofs are formalized inside a proof assistant, then a mechanism called extraction can generate the corresponding programs automatically. Previous work has focused on the difficulties in obtaining a program from a formalization of the Fundamental Theorem of Algebra inside the Coq proof assistant. In theory, this program allows one to compute approximations of roots of polynomials. However, as we show in this work, there is currently a big gap between theory and practice. We study the complexity of the extracted program and analyze the reasons of its inefficiency, showing that this is a direct consequence of the approach used throughout the formalization.
Extracting Programs from Constructive HOL Proofs via IZF SetTheoretic Semantics
"... Abstract. Church’s Higher Order Logic is a basis for proof assistants — HOL and PVS. Church’s logic has a simple settheoretic semantics, making it trustworthy and extensible. We factor HOL into a constructive core plus axioms of excluded middle and choice. We similarly factor standard set theory, Z ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Abstract. Church’s Higher Order Logic is a basis for proof assistants — HOL and PVS. Church’s logic has a simple settheoretic semantics, making it trustworthy and extensible. We factor HOL into a constructive core plus axioms of excluded middle and choice. We similarly factor standard set theory, ZFC, into a constructive core, IZF, and axioms of excluded middle and choice. Then we provide the standard settheoretic semantics in such a way that the constructive core of HOL is mapped into IZF. We use the disjunction, numerical existence and term existence properties of IZF to provide a program extraction capability from proofs in the constructive core. We can implement the disjunction and numerical existence properties in two different ways: one modifying Rathjen’s realizability for CZF and the other using a new direct weak normalization result for intensional IZF by Moczyd̷lowski. The latter can also be used for the term existence property. 1
Extracting a normalization algorithm in Isabelle/HOL
 TYPES FOR PROOFS AND PROGRAMS, INTERNATIONAL WORKSHOP, TYPES 2004, JOUYENJOSAS
, 2004
"... We present a formalization of a constructive proof of weak normalization for the simplytyped λcalculus in the theorem prover Isabelle/HOL, and show how a program can be extracted from it. Unlike many other proofs of weak normalization based on Tait’s strong computability predicates, which require ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We present a formalization of a constructive proof of weak normalization for the simplytyped λcalculus in the theorem prover Isabelle/HOL, and show how a program can be extracted from it. Unlike many other proofs of weak normalization based on Tait’s strong computability predicates, which require a logic supporting strong eliminations and can give rise to dependent types in the extracted program, our formalization requires only relatively simple proof principles. Thus, the program obtained from this proof is typable in simplytyped higherorder logic as implemented in Isabelle/HOL, and a proof of its correctness can automatically be derived within the system.