Results 1 - 10
of
62
Accomplishments and Research Challenges in Meta-Programming
- In 2nd Int. Workshop on Semantics, Applications, and Implementation of Program Generation, LNCS 2196
, 2000
"... this paper into several sections. As an overview, in Section 2, I try and classify meta-programs into groups. The purpose of this is to provide a common vocabulary which we can use to describe meta-programming systems in the rest of the paper ..."
Abstract
-
Cited by 57 (6 self)
- Add to MetaCart
this paper into several sections. As an overview, in Section 2, I try and classify meta-programs into groups. The purpose of this is to provide a common vocabulary which we can use to describe meta-programming systems in the rest of the paper
Executing higher order logic
- In Proc. TYPES Working Group Annual Meeting 2000, LNCS
, 2002
"... Abstract. We report on the design of a prototyping component for the theorem prover Isabelle/HOL. Specifications consisting of datatypes, recursive functions and inductive definitions are compiled into a functional program. Functions and inductively defined relations can be mixed. Inductive definiti ..."
Abstract
-
Cited by 41 (16 self)
- Add to MetaCart
Abstract. We report on the design of a prototyping component for the theorem prover Isabelle/HOL. Specifications consisting of datatypes, recursive functions and inductive definitions are compiled into a functional program. Functions and inductively defined relations can be mixed. Inductive definitions must be such that they can be executed in Prolog style but requiring only matching rather than unification. This restriction is enforced by a mode analysis. Tail recursive partial functions can be defined and executed with the help of a while combinator. 1
Proof Terms for Simply Typed Higher Order Logic
- IN THEOREM PROVING IN HIGHER ORDER LOGICS, 13TH INTERNATIONAL CONFERENCE, VOLUME 1869 OF LNCS
, 2000
"... This paper presents proof terms for simply typed, intuitionistic higher order logic, a popular logical framework. Unification-based algorithms for the compression and reconstruction of proof terms are described and have been implemented in the theorem prover Isabelle. Experimental results confir ..."
Abstract
-
Cited by 32 (9 self)
- Add to MetaCart
This paper presents proof terms for simply typed, intuitionistic higher order logic, a popular logical framework. Unification-based algorithms for the compression and reconstruction of proof terms are described and have been implemented in the theorem prover Isabelle. Experimental results confirm the effectiveness of the compression scheme.
A Tactic Language for the System Coq
- Proceedings of Logic for Programming and Automated Reasoning (LPAR), Reunion Island, volume 1955 of LNCS
, 2000
"... ..."
Distributed Directory Service and Message Routing for Mobile Agents
- Science of Computer Programming
, 1999
"... Research about networks and agents has identied the need for a layer that provides a uniform protocol to communicate with xed and mobile agents. In order to preserve the compatibility with existing infrastructures, proposed solutions have involved a \home agent", which forwards messages to a mobi ..."
Abstract
-
Cited by 25 (10 self)
- Add to MetaCart
Research about networks and agents has identied the need for a layer that provides a uniform protocol to communicate with xed and mobile agents. In order to preserve the compatibility with existing infrastructures, proposed solutions have involved a \home agent", which forwards messages to a mobile entity. The mechanism of a home agent puts a burden on the infrastructure, which may hamper the scalability of the approach, in particular, in massively distributed systems, such as the amorphous computer or the ubiquitous/pervasive computing environment. Free from any compatibility constraint, we have designed an algorithm to route messages to mobile agents that does not require any xed location. The algorithm has two dierent facets: a distributed directory service that maintains distributed information about the location of a mobile agent, and a message router that uses the directory service to deliver messages to a mobile agent. Two properties of the algorithm were establi...
A Module Calculus for Pure Type Systems
, 1997
"... Several proof-assistants rely on the very formal basis of Pure Type Systems (PTS) as their foundations. We are concerned with the issues involved in the development of large proofs in these provers such as namespace management, development of reusable proof libraries and separate verification. Altho ..."
Abstract
-
Cited by 23 (3 self)
- Add to MetaCart
Several proof-assistants rely on the very formal basis of Pure Type Systems (PTS) as their foundations. We are concerned with the issues involved in the development of large proofs in these provers such as namespace management, development of reusable proof libraries and separate verification. Although actual implementations offer many features to address them, few theoretical foundations have been laid for them up to now.
A framework for extended algebraic data types
- In Proc. of FLOPS’06, volume 3945 of LNCS
, 2006
"... Abstract. There are a number of extended forms of algebraic data types such as type classes with existential types and generalized algebraic data types. Such extensions are highly useful but their interaction has not been studied formally so far. Here, we present a unifying framework for these exten ..."
Abstract
-
Cited by 22 (9 self)
- Add to MetaCart
Abstract. There are a number of extended forms of algebraic data types such as type classes with existential types and generalized algebraic data types. Such extensions are highly useful but their interaction has not been studied formally so far. Here, we present a unifying framework for these extensions. We show that the combination of type classes and generalized algebraic data types allows us to express a number of interesting properties which are desired by programmers. We support type checking based on a novel constraint solver. Our results show that our system is practical and greatly extends the expressive power of languages such as Haskell and ML. 1
What's in Unison? A Formal Specification and Reference Implementation of a File Synchronizer
, 2004
"... A file synchronizer is a tool that reconciles disconnected modifications to a replicated directory structure. Trustworthy ..."
Abstract
-
Cited by 15 (5 self)
- Add to MetaCart
A file synchronizer is a tool that reconciles disconnected modifications to a replicated directory structure. Trustworthy
μJava: Embedding a Programming Language in a Theorem Prover
- Foundations of Secure Computation, volume 175 of NATO Science Series F: Computer and Systems Sciences
, 2000
"... . This paper introduces the subset Java of Java, essentially by omitting everything but classes. The type system and semantics of this language (and a corresponding abstract Machine JVM) are formalized in the theorem prover Isabelle/HOL. Type safety both of Java and the JVM are mechanically veri ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
. This paper introduces the subset Java of Java, essentially by omitting everything but classes. The type system and semantics of this language (and a corresponding abstract Machine JVM) are formalized in the theorem prover Isabelle/HOL. Type safety both of Java and the JVM are mechanically verified. To make the paper self-contained, it begins with introductions to Isabelle/HOL and the art of embedding languages in theorem provers. 1 Introduction Embedding a programming language in a theorem prover means to describe (parts of) the language in the logic of the theorem prover, for example the abstract syntax, the semantics, the type system, a Hoare logic, a compiler, etc. One could call this applied machine-checked semantics. Why should we want to do this? We have to distinguish two possible applications: ffl Proving theorems about programs. This is usually called program analysis or verification and will not concern us very much in this paper. ffl Proving theorems about the pr...
A Fault-Tolerant Directory Service for Mobile Agents based on Forwarding Pointers
- In The 17th ACM Symposium on Applied Computing (SAC'2002) | Track on Agents, Interactions, Mobility and Systems
, 2002
"... A reliable communication layer is an essential component of a mobile agent system. We present a new fault-tolerant directory service for mobile agents, which can be used to route messages to them. The directory service, based on a terhn~que of forwarding pointers, introduces some redun-dancy in orde ..."
Abstract
-
Cited by 12 (4 self)
- Add to MetaCart
A reliable communication layer is an essential component of a mobile agent system. We present a new fault-tolerant directory service for mobile agents, which can be used to route messages to them. The directory service, based on a terhn~que of forwarding pointers, introduces some redun-dancy in order to ensure resilience to stopping failures of nodes contaln~-g forwarding pointers; in addition, it avoids cyclic routing of messages, and it supports a technique to collapse chains of pointers that allows direct communica-tions between agents. We have formalised the algorithm and derived a]uil ~ mechanical proof of its correctness using the proof assistant Coq; we report on our experience of design-Lug the algorithm and deriving its proof of correctness. The complete source code of the proof is made aveglable f~om the WWW. 1.

