Results 1  10
of
10
ILC: A Foundation for Automated Reasoning About Pointer Programs
, 2005
"... This paper shows how to use Girard’s intuitionistic linear logic extended with arithmetic or other constraints to reason about pointer programs. More specifically, first, the paper defines the proof theory for ILC (Intuitionistic Linear logic with Constraints) and shows it is consistent via a proof ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
(Show Context)
This paper shows how to use Girard’s intuitionistic linear logic extended with arithmetic or other constraints to reason about pointer programs. More specifically, first, the paper defines the proof theory for ILC (Intuitionistic Linear logic with Constraints) and shows it is consistent via a proof of cut elimination. Second, inspired by prior work of O’Hearn, Reynolds and Yang, the paper explains how to interpret linear logical formulas as descriptions of a program store. Third, we define a simple imperative programming language with mutable references and arrays and give verification condition generation rules that produce assertions in ILC. Finally, we identify a fragment of ILC, ILC − , that is both decidable and closed under generation of verification conditions. In other words, if loop invariants are specified in ILC − , then the resulting verification conditions are also in ILC −. Since verification condition generation is syntaxdirected, we obtain a decidable procedure for checking properties of pointer programs.
Axiomatic constructor classes in Isabelle/HOLCF
 In In Proc. 18th International Conference on Theorem Proving in Higher Order Logics (TPHOLs ’05), Volume 3603 of Lecture Notes in Computer Science
, 2005
"... Abstract. We have definitionally extended Isabelle/HOLCF to support axiomatic Haskellstyle constructor classes. We have subsequently defined the functor and monad classes, together with their laws, and implemented state and resumption monad transformers as generic constructor class instances. This ..."
Abstract

Cited by 18 (7 self)
 Add to MetaCart
(Show Context)
Abstract. We have definitionally extended Isabelle/HOLCF to support axiomatic Haskellstyle constructor classes. We have subsequently defined the functor and monad classes, together with their laws, and implemented state and resumption monad transformers as generic constructor class instances. This is a step towards our goal of giving modular denotational semantics for concurrent lazy functional programming languages, such as GHC Haskell. 1
Faster and More Complete Extended Static Checking for the Java Modeling Language
 J AUTOM REASONING
"... Extended Static Checking (ESC) is a fully automated formal verification technique. Verification in ESC is achieved by translating programs and their specifications into verification conditions (VCs). Proof of a VC establishes the correctness of the program. The implementations of many seemingly simp ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
Extended Static Checking (ESC) is a fully automated formal verification technique. Verification in ESC is achieved by translating programs and their specifications into verification conditions (VCs). Proof of a VC establishes the correctness of the program. The implementations of many seemingly simple algorithms are beyond the ability of traditional Extended Static Checking (ESC) tools to verify. Not being able to verify toy examples is often enough to turn users off of the idea of using formal methods. ESC4, the ESC component of the JML4 project, is able to verify many more kinds of methods in part because of its use of novel techniques which apply multiple theorem provers. In particular, we present Offline UserAssisted ESC (OUAESC), a new form of verification that lies between ESC and Full Static Program Verification (FSPV). ESC is generally quite efficient, as far as verification tools go, but it is still orders of magnitude slower than simple compilation. As can be imagined, proving VCs is computationally expensive: While small classes can be verified in seconds, verifying larger programs of 50 KLOC can take hours. To help address the added cost of using multiple provers and this lack of scalability, we present the multithreaded version of ESC4 and its distributed prover backend.
Some Mathematical Case Studies in ProofPowerHOL
, 2004
"... TPHOLs conference covers all aspects of theorem proving in higher order logics as well as related topics in theorem proving and verification. There were 42 papers submitted to TPHOLs 2004 in the full research category, each of which was refereed by at least 3 reviewers selected by the program commit ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
TPHOLs conference covers all aspects of theorem proving in higher order logics as well as related topics in theorem proving and verification. There were 42 papers submitted to TPHOLs 2004 in the full research category, each of which was refereed by at least 3 reviewers selected by the program committee. Of these submissions, 21 were accepted for presentation at the conference and publication in volume 3223 of Springer’s Lecture Notes in Computer Science series. In keeping with longstanding tradition, TPHOLs 2004 also offered a venue for the presentation of work in progress, where researchers invite discussion by means of a brief introductory talk and then discuss their work at a poster
INTEGRATION OF DECISION PROCEDURES INTO HIGHORDER INTERACTIVE PROVERS
, 2006
"... An efficient proof assistant uses a wide range of decision procedures, including automatic verification of validity of arithmetical formulas with linear terms. Since the final product of a proof assistant is a formalized and verified proof, it prompts an additional task of building proofs of formula ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
An efficient proof assistant uses a wide range of decision procedures, including automatic verification of validity of arithmetical formulas with linear terms. Since the final product of a proof assistant is a formalized and verified proof, it prompts an additional task of building proofs of formulas, which validity is established by such a decision procedure. We present an implementation of several decision procedures for arithmetical formulas with linear terms in the MetaPRL proof assistant in a way that provides formal proofs of formulas found valid by those procedures. We also present an implementation of a theorem prover for the logic of justified common knowledge S4 J n introduced in [Artemov, 2004]. This system captures the notion of justified common knowledge, which is free of some of the deficiencies of the usual common knowledge operator, and is yet sufficient for the analysis of epistemic problems where common knowledge has been traditionally applied. In particular, S4 J n enjoys cutelimination, which introduces the possibility of automatic proof search in the logic of common
TypeDirected Specification Refinement By
"... ii Specification languages serve a fundamentally different purpose than generalpurpose programming languages, and their type systems reflect these needs. Specification type systems must record and track more information for us to reason about a system adequately, and this added expressiveness may ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
ii Specification languages serve a fundamentally different purpose than generalpurpose programming languages, and their type systems reflect these needs. Specification type systems must record and track more information for us to reason about a system adequately, and this added expressiveness may lead to an undecidable typing analysis. System level design begins with a highlevel specification that is continually refined and expanded with implementation details, constraints, and typing information, down to a concrete specification. During this refinement process, the system is underspecified, and many static analyses aren’t applicable until the system is fully specified. However, partial specifications contain valuable information that can inform the refinement process—we can locally inspect parts of the specification from a typing perspective to look for inferrable information or inconsistencies early on to aid the refinement process. This work defines a typing analysis that gathers constraints and typing information to inform the specification refinement process. It explores localized techniques such as local type inference and tracking of values as a means of influencing the specification refinement process. iii
Adviser
, 2007
"... This thesis has three interrelated goals: The main goal is an analysis of Czech clitics, units of grammar on the borderline between morphology and syntax with rather peculiar ordering properties both relative to the whole clause and to each other. We examine the actual set of clitics, their rather r ..."
Abstract
 Add to MetaCart
This thesis has three interrelated goals: The main goal is an analysis of Czech clitics, units of grammar on the borderline between morphology and syntax with rather peculiar ordering properties both relative to the whole clause and to each other. We examine the actual set of clitics, their rather rigid ordering properties, and finally the properties of socalled clitic climbing. The analysis evaluates previous research, but it also provides new insights, especially in the position of the clitic cluster and in the constraints on clitic climbing. We show that many of the constraints regarding position of the clitic cluster suggested in previous research do not hold. We also argue that cases when clitics do not follow the first constituent are in fact not exceptions in clitic placement but instead unusual frontings. The second goal is the development of a framework within Higher Order Grammar (HOG) supporting a transparent and modular treatment of word order. Unlike previous versions of HOG, we work with signs (containing phonological, syntactic and potentially other information) as actual objects of the grammar. Apart from that, we build on the simplicity and elegance of the preformal part of the linearization framework within Headdriven Phrase Structure Grammar. Finally, the third objective is to test the result of the second goal by applying it on the results of
A Decision Procedure for Equational Reasoning in Commutative Algebraic Structures
"... Abstract. We present a decision procedure for equational reasoning in abelian groups, commutative rings and fields that checks whether a given equality can be proven from the axioms of these structures. This has been implemented as a tactic in Coq; here we give a mathematical description of the deci ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We present a decision procedure for equational reasoning in abelian groups, commutative rings and fields that checks whether a given equality can be proven from the axioms of these structures. This has been implemented as a tactic in Coq; here we give a mathematical description of the decision procedure that abstracts from Coq specifics, making the work in principle adaptable to other theorem provers. Within Coq we prove that this decision procedure is correct. On the metalevel we analyse its completeness, showing that it is complete for groups and rings in the sense that the tactic succeeds in finding a proof of an equality if and only if that equality is provable from the group/ring axioms without any hypotheses. Finally we characterize in what way our method is incomplete for fields.
LFMTP 2006 Practical Reflection for Sequent Logics
"... It is wellknown that adding reflective reasoning can tremendously increase the power of a proof assistant. In order for this theoretical increase of power to become accessible to users in practice, the proof assistant needs to provide a great deal of infrastructure to support reflective reasoning. ..."
Abstract
 Add to MetaCart
(Show Context)
It is wellknown that adding reflective reasoning can tremendously increase the power of a proof assistant. In order for this theoretical increase of power to become accessible to users in practice, the proof assistant needs to provide a great deal of infrastructure to support reflective reasoning. In this paper we explore the problem of creating a practical implementation of such a support layer. Our implementation takes a specification of a logical theory (which is identical to how it would be specified if we were simply going to reason within this logical theory, instead of reflecting it) and automatically generates the necessary definitions, lemmas, and proofs that are needed to enable the reflected metareasoning in the provided theory. One of the key features of our approach is that the structure of a logic is preserved when it is reflected. In particular, all variables, including metavariables, are preserved in the reflected representation. This also allows the preservation of proof automation—there is a structurepreserving onetoone map from proof steps in the original logic to proof step in the reflected logic. To enable reasoning about terms with sequent context variables, we develop a principle for context induction, called teleportation. This work is fully implemented in the MetaPRL theorem prover.
By
, 2007
"... This thesis has three interrelated goals: The main goal is an analysis of Czech clitics, units of grammar on the borderline between morphology and syntax with rather peculiar ordering properties both relative to the whole clause and to each other. We examine the actual set of clitics, their rather r ..."
Abstract
 Add to MetaCart
This thesis has three interrelated goals: The main goal is an analysis of Czech clitics, units of grammar on the borderline between morphology and syntax with rather peculiar ordering properties both relative to the whole clause and to each other. We examine the actual set of clitics, their rather rigid ordering properties, and finally the properties of socalled clitic climbing. The analysis evaluates previous research, but it also provides new insights, especially in the position of the clitic cluster and in the constraints on clitic climbing. We show that many of the constraints regarding position of the clitic cluster suggested in previous research do not hold. We also argue that cases when clitics do not follow the first constituent are in fact not exceptions in clitic placement but instead unusual frontings. The second goal is the development of a framework within Higher Order Grammar (HOG) supporting a transparent and modular treatment of word order. Unlike previous versions of HOG, we work with signs (containing phonological, syntactic and potentially other information) as actual objects of the grammar. Apart from that, we build on the simplicity and elegance of the preformal part of the linearization framework within Headdriven Phrase Structure Grammar.