Results 1  10
of
88
A generic library of floatingpoint numbers and its application to exact computing
 In 14th International Conference on Theorem Proving in Higher Order Logics
, 2001
"... Abstract. In this paper we present a general library to reason about floatingpoint numbers within the Coq system. Most of the results of the library are proved for an arbitrary floatingpoint format and an arbitrary base. A special emphasis has been put on proving properties for exact computing, i. ..."
Abstract

Cited by 40 (6 self)
 Add to MetaCart
(Show Context)
Abstract. In this paper we present a general library to reason about floatingpoint numbers within the Coq system. Most of the results of the library are proved for an arbitrary floatingpoint format and an arbitrary base. A special emphasis has been put on proving properties for exact computing, i.e. computing without rounding errors. 1
IsaPlanner: A prototype proof planner in Isabelle
 In Proceedings of CADE’03, LNCS
, 2003
"... Abstract. IsaPlanner is a generic framework for proof planning in the interactive theorem prover Isabelle. It facilitates the encoding of reasoning techniques, which can be used to conjecture and prove theorems automatically. This paper introduces our approach to proof planning, gives and overview o ..."
Abstract

Cited by 31 (9 self)
 Add to MetaCart
Abstract. IsaPlanner is a generic framework for proof planning in the interactive theorem prover Isabelle. It facilitates the encoding of reasoning techniques, which can be used to conjecture and prove theorems automatically. This paper introduces our approach to proof planning, gives and overview of IsaPlanner, and presents one simple yet effective reasoning technique. 1
HumanReadable MachineVerifiable Proofs for Teaching Constructive Logic
 IJCAR Workshop on Proof Transformations, Proof Presentations and Complexity of Proofs (PTP01), http: //www.tcs.informatik.unimuenchen.de/~abel/ptp01.ps.gz
, 2001
"... A linear syntax for natural deduction proofs in firstorder intuitionistic logic is presented, which has been an effective tool for teaching logic. The proof checking algorithm is also given, which is the core of the tutorial proof checker Tutch. This syntax is then extended to proofs on the ass ..."
Abstract

Cited by 30 (0 self)
 Add to MetaCart
A linear syntax for natural deduction proofs in firstorder intuitionistic logic is presented, which has been an effective tool for teaching logic. The proof checking algorithm is also given, which is the core of the tutorial proof checker Tutch. This syntax is then extended to proofs on the assertion level which resemble single inferences one would make in a rigorous proof. The resulting language has only four constructs.
A Verified Compiler for an Impure Functional Language
, 2009
"... We present a verified compiler to an idealized assembly language from a small, untyped functional language with mutable references and exceptions. The compiler is programmed in the Coq proof assistant and has a proof of total correctness with respect to bigstep operational semantics for the source a ..."
Abstract

Cited by 25 (2 self)
 Add to MetaCart
We present a verified compiler to an idealized assembly language from a small, untyped functional language with mutable references and exceptions. The compiler is programmed in the Coq proof assistant and has a proof of total correctness with respect to bigstep operational semantics for the source and target languages. Compilation is staged and includes standard phases like translation to continuationpassing style and closure conversion, as well as a common subexpression elimination optimization. In this work, our focus has been on discovering and using techniques that make our proofs easy to engineer and maintain. While most programming language work with proof assistants uses very manual proof styles, all of our proofs are implemented as adaptive programs in Coq’s tactic language, making it possible to reuse proofs unchanged as new language features are added. In this paper, we focus especially on phases of compilation that rearrange the structure of syntax with nested variable binders. That aspect has been a key challenge area in past compiler verification projects, with much more effort expended in the statement and proof of binderrelated lemmas than is found in standard pencilandpaper proofs. We show how to exploit the representation technique of parametric higherorder abstract syntax to avoid the need to prove any of the usual lemmas about binder manipulation, often leading to proofs that are actually shorter than their pencilandpaper analogues. Our strategy is based on a new approach to encoding operational semantics which delegates all concerns about substitution to the meta language, without using features incompatible with generalpurpose type theories like Coq’s logic.
Isabelle/Isar  a generic framework for humanreadable proof documents
 UNIVERSITY OF BIA̷LYSTOK
, 2007
"... ..."
Barendregt’s variable convention in rule inductions
 In Proc. of the 21th International Conference on Automated Deduction (CADE), volume 4603 of LNAI
, 2007
"... Abstract. Inductive definitions and rule inductions are two fundamental reasoning tools in logic and computer science. When inductive definitions involve binders, then Barendregt's variable convention is nearly always employed (explicitly or implicitly) in order to obtain simple proofs. Using t ..."
Abstract

Cited by 21 (8 self)
 Add to MetaCart
(Show Context)
Abstract. Inductive definitions and rule inductions are two fundamental reasoning tools in logic and computer science. When inductive definitions involve binders, then Barendregt's variable convention is nearly always employed (explicitly or implicitly) in order to obtain simple proofs. Using this convention, one does not consider truly arbitrary bound names, as required by the rule induction principle, but rather bound names about which various freshness assumptions are made. Unfortunately, neither Barendregt nor others give a formal justification for the variable convention, which makes it hard to formalise such proofs. In this paper we identify conditions an inductive definition has to satisfy so that a form of the variable convention can be built into the rule induction principle. In practice this means we come quite close to the informal reasoning of &quot;pencilandpaper &quot; proofs, while remaining completely formal. Our conditions also reveal circumstances in which Barendregt's variable convention is not applicable, and can even lead to faulty reasoning. 1 Introduction In informal proofs about languages that feature bound variables, one often assumes (explicitly or implicitly) a rather convenient convention about those bound variables. Barendregt's statement of the convention is: Variable Convention: If M1; : : : ; Mn occur in a certain mathematical context (e.g. definition, proof), then in these terms all bound variables are chosen to be different from the free variables. [2, Page 26]
Calculational Reasoning Revisited  An Isabelle/Isar experience
 THEOREM PROVING IN HIGHER ORDER LOGICS: TPHOLS 2001
, 2001
"... We discuss the general concept of calculational reasoning within Isabelle/Isar, which provides a framework for highlevel natural deduction proofs that may be written in a humanreadable fashion. Setting out from a few basic logical concepts of the underlying metalogical framework of Isabelle, such ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
(Show Context)
We discuss the general concept of calculational reasoning within Isabelle/Isar, which provides a framework for highlevel natural deduction proofs that may be written in a humanreadable fashion. Setting out from a few basic logical concepts of the underlying metalogical framework of Isabelle, such as higherorder unification and resolution, calculational commands are added to the basic Isar proof language in a flexible and nonintrusive manner. Thus calculational proof style may be combined with the remaining natural deduction proof language in a liberal manner, resulting in many useful proof patterns. A casestudy on formalizing Computational Tree Logic (CTL) in simplytyped settheory demonstrates common calculational idioms in practice.
Higher order rippling in IsaPlanner
 Theorem Proving in Higher Order Logics 2004 (TPHOLs’04), LNCS 3223
, 2004
"... Abstract. We present an account of rippling with proof critics suitable for use in higher order logic in Isabelle/IsaPlanner. We treat issues not previously examined, in particular regarding the existence of multiple annotations during rippling. This results in an efficient mechanism for rippling th ..."
Abstract

Cited by 16 (7 self)
 Add to MetaCart
(Show Context)
Abstract. We present an account of rippling with proof critics suitable for use in higher order logic in Isabelle/IsaPlanner. We treat issues not previously examined, in particular regarding the existence of multiple annotations during rippling. This results in an efficient mechanism for rippling that can conjecture and prove needed lemmas automatically as well as present the resulting proof plans as Isar style proof scripts. 1
Constructive type classes in Isabelle
 TYPES FOR PROOFS AND PROGRAMS
, 2007
"... We reconsider the wellknown concept of Haskellstyle type classes within the logical framework of Isabelle. So far, axiomatic type classes in Isabelle merely account for the logical aspect as predicates over types, while the operational part is only a convention based on raw overloading. Our more e ..."
Abstract

Cited by 14 (6 self)
 Add to MetaCart
We reconsider the wellknown concept of Haskellstyle type classes within the logical framework of Isabelle. So far, axiomatic type classes in Isabelle merely account for the logical aspect as predicates over types, while the operational part is only a convention based on raw overloading. Our more elaborate approach to constructive type classes provides a seamless integration with Isabelle locales, which are able to manage both operations and logical properties uniformly. Thus we combine the convenience of type classes and the flexibility of locales. Furthermore, we construct dictionary terms derived from notions of the type system. This additional internal structure provides satisfactory foundations of type classes, and supports further applications, such as code generation and export of theories and theorems to environments without type classes.