Results 1  10
of
89
Inductive Definitions in the System Coq Rules and Properties
, 1992
"... In the pure Calculus of Constructions, it is possible to represent data structures and predicates using higherorder quantification. However, this representation is not satisfactory, from the point of view of both the efficiency of the underlying programs and the power of the logical system. For ..."
Abstract

Cited by 162 (1 self)
 Add to MetaCart
In the pure Calculus of Constructions, it is possible to represent data structures and predicates using higherorder quantification. However, this representation is not satisfactory, from the point of view of both the efficiency of the underlying programs and the power of the logical system. For these reasons, the calculus was extended with a primitive notion of inductive definitions [8]. This paper describes the rules for inductive definitions in the system Coq. They are general enough to be seen as one formulation of adding inductive definitions to a typed lambdacalculus. We prove strong normalization for a subsystem of Coq corresponding to the pure Calculus of Constructions plus Inductive Definitions with only weak nondependent eliminations.
HigherOrder Modules and the Phase Distinction
 In Seventeenth ACM Symposium on Principles of Programming Languages
, 1990
"... Typed λcalculus is an important tool in programming language research because it provides an extensible framework for studying language features both in isolation and in their relation to each other. In earlier work we introduced a predicative function calculus, XML, for modeling several asp ..."
Abstract

Cited by 134 (23 self)
 Add to MetaCart
Typed λcalculus is an important tool in programming language research because it provides an extensible framework for studying language features both in isolation and in their relation to each other. In earlier work we introduced a predicative function calculus, XML, for modeling several aspects of the Standard ML type system. Following MacQueen, our study focused on the use of dependent types to represent the modularity constructs of Standard ML. In addition to shedding some light on the tradeoffs between language features, our analysis suggested that the firstorder modules system of ML could be naturally extended to higher orders. However, whereas ML maintains a clear distinction between compiletime and runtime in both its implementation and formal semantics, the XML calculus blurs this distinction. Since static type checking is, in our view, essential to the practical utility of ML, we introduce a refinement of the XML calculus for which type checking is decidable at compile time....
Equality In Lazy Computation Systems
, 1998
"... In this paper we introduce a general class of lazy computation systems and define a natural program equivalence for them. We prove that if an extensionality condition holds of each of the operators of a computation system, then the equivalence relation is a congruence, so that the usual kinds of equ ..."
Abstract

Cited by 95 (6 self)
 Add to MetaCart
In this paper we introduce a general class of lazy computation systems and define a natural program equivalence for them. We prove that if an extensionality condition holds of each of the operators of a computation system, then the equivalence relation is a congruence, so that the usual kinds of equality reasoning are valid for it. This condition is a simple syntactic one, and is easy to verify for the various lazy computation systems we have considered so far. We also give conditions under which the equivalence coincides with observational congruence. These results have some important consequences for type theories like those of MartinLöf and Nuprl.
An extension of Standard ML modules with Subtyping And Inheritance
"... We describe a general module language integrating abstract data types, specifications and objectoriented concepts. The framework is based on the Standard ML module system, with three main extensions: subtyping, a form of object derived from ML structures, and inheritance primitives. The language ai ..."
Abstract

Cited by 58 (8 self)
 Add to MetaCart
We describe a general module language integrating abstract data types, specifications and objectoriented concepts. The framework is based on the Standard ML module system, with three main extensions: subtyping, a form of object derived from ML structures, and inheritance primitives. The language aims at supporting a range of programming styles, including mixtures of objectoriented programming and programs built around specified algebraic or higherorder abstract data types. We separate specification from implementation, and provide independent inheritance mechanisms for each. In order to support binary operations on objects within this framework, we introduce "internal interfaces" which govern the way that function components of one structure may access components of another. The language design has been tested by writing a number of program examples; an implementation is under development in the context of a larger project.
Proof Search in the Intuitionistic Sequent Calculus
 11th International Conference on Automated Deduction
, 1991
"... The use of Herbrand functions (more popularly known as Skolemization) plays an important role in classical theorem proving and logic programming. We define a notion of Herbrand functions for the full intuitionistic predicate calculus. The definition is based on the view that the prooftheoretic role ..."
Abstract

Cited by 42 (1 self)
 Add to MetaCart
The use of Herbrand functions (more popularly known as Skolemization) plays an important role in classical theorem proving and logic programming. We define a notion of Herbrand functions for the full intuitionistic predicate calculus. The definition is based on the view that the prooftheoretic role of Herbrand functions (to replace universal quantifiers), and of unification (to find instances corresponding to existential quantifiers), is to ensure that the eigenvariable conditions on a sequent proof are respected. The propositional impermutabilities that arise in the intuitionistic but not the classical sequent calculus motivate a generalization of the classical notion of Herbrand functions. Proof search using generalized Herbrand functions also provides a framework for generalizing logic programming to subsets of intuitionistic logic that are larger than Horn clauses. The search procedure described here has been implemented and observed to work effectively in practice. The generaliza...
Concurrent ML: Design, Application and Semantics
, 1993
"... Machine" [BB90], except that there are no "cooling" and "heating" transitions (the process sets of this semantics can be thought of as perpetually "hot" solutions). The concurrent evaluation relation extends "7\Gamma!" to finite sets of terms (i.e., processes) and adds additional rules for process c ..."
Abstract

Cited by 33 (0 self)
 Add to MetaCart
Machine" [BB90], except that there are no "cooling" and "heating" transitions (the process sets of this semantics can be thought of as perpetually "hot" solutions). The concurrent evaluation relation extends "7\Gamma!" to finite sets of terms (i.e., processes) and adds additional rules for process creation, channel creation, and communication. We assume a set of process identifiers, and define the set of processes and process sets as: ß 2 ProcId process IDs p = hß; ei 2 Proc = (ProcId \Theta Exp) processes P 2 Fin(Proc) process sets We often write a process as hß; E[e]i, where the evaluation context serves the role of the program counter, marking the current state of evaluation. Definition4. A process set P is wellformed if for all hß; ei 2 P the following hold:  FV(e) = ; (e is closed), and  there is no e 0 6= e, such that hß; e 0 i 2 P. It is occasionally useful to view wellformed process sets as finite maps from ProcId to Exp. If P is a finite set of process state...
Semantic Foundations for Embedding HOL in Nuprl
 ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY
, 1996
"... We give a new semantics for Nuprl's constructive type theory that justifies a useful embedding of the logic of the HOL theorem prover inside Nuprl. The embedding gives Nuprl effective access to most of the large body of formalized mathematics that the HOL community has amassed over the last dec ..."
Abstract

Cited by 29 (2 self)
 Add to MetaCart
We give a new semantics for Nuprl's constructive type theory that justifies a useful embedding of the logic of the HOL theorem prover inside Nuprl. The embedding gives Nuprl effective access to most of the large body of formalized mathematics that the HOL community has amassed over the last decade. The new semantics is dramatically simpler than the old, and gives a novel and general way of adding settheoretic equivalence classes to untyped functional programming languages.
PDS  A ThreeDimensional Data Structure for Proof Plans
 PROC. OF ACIDCA'2000
, 2000
"... We present a new data structure that enables to store threedimensional proof objects in a proof development environment. The aim is to handle calculus level proofs as well as abstract proof plans together with information of their correspondences in a single structure. This enables not only differe ..."
Abstract

Cited by 28 (8 self)
 Add to MetaCart
We present a new data structure that enables to store threedimensional proof objects in a proof development environment. The aim is to handle calculus level proofs as well as abstract proof plans together with information of their correspondences in a single structure. This enables not only different means of the proof development environment (e.g., rule and tacticbased theorem proving, or proof planning) to act directly on the same proof object but it also allows for easy presentation of proofs on different levels of abstraction. However, the threedimensional structure requires adjustment of the regular techniques for addition and deletion of proof lines and backtracking of the proof planner.
Importing mathematics from hol into Nuprl
 Theorem Proving in Higher Order Logics (TPHOLs 1996), volume 1125 of LNCS
, 1996
"... Abstract. Nuprl and HOL are both tacticbased interactive theorem provers for higherorder logic, and both have been used in many substantial applications over the last decade. However, the HOL community has accumulated a much larger collection of formalized mathematics of the kind useful for hardwa ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
Abstract. Nuprl and HOL are both tacticbased interactive theorem provers for higherorder logic, and both have been used in many substantial applications over the last decade. However, the HOL community has accumulated a much larger collection of formalized mathematics of the kind useful for hardware and software veri cation. This collection would be of great bene t in applying Nuprl to veri cation problems of real practical interest. This paper describes a connection we have implemented between HOL and Nuprl that gives Nuprl e ective access to mathematics formalized in HOL. In designing this connection, we had to overcome a number of problems related to di erences in the logics, logical infrastructures and stylistic conventions of Nuprl and HOL. 1
Extensions and Applications of Higherorder Unification
, 1990
"... ... unification problems. Then, in this framework, we develop a new unification algorithm for acalculus with dependent function (II) types. This algorithm is especially useful as it provides for mechanization in the very expressive Logical Framework (LF). The development (objectlanguages). The ric ..."
Abstract

Cited by 25 (1 self)
 Add to MetaCart
... unification problems. Then, in this framework, we develop a new unification algorithm for acalculus with dependent function (II) types. This algorithm is especially useful as it provides for mechanization in the very expressive Logical Framework (LF). The development (objectlanguages). The rich structure of a typedcalculus,asopposedtotraditional,rst generalideaistouseacalculusasametalanguageforrepresentingvariousotherlanguages thelattercase,thealgorithmisincomplete,thoughstillquiteusefulinpractice. Thelastpartofthedissertationprovidesexamplesoftheusefulnessofthealgorithms.The algorithmrstfordependentproduct()types,andsecondforimplicitpolymorphism.In involvessignicantcomplicationsnotarisingHuet'scorrespondingalgorithmforthesimply orderabstractsyntaxtrees,allowsustoexpressrules,e.g.,programtransformationand typedcalculus,primarilybecauseitmustdealwithilltypedterms.Wethenextendthis Wecanthenuseunicationinthemetalanguagetomechanizeapplicationoftheserules.