Results 1 - 10
of
85
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 higher-order 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 143 (1 self)
- Add to MetaCart
In the pure Calculus of Constructions, it is possible to represent data structures and predicates using higher-order 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 lambda-calculus. We prove strong normalization for a subsystem of Coq corresponding to the pure Calculus of Constructions plus Inductive Definitions with only weak non-dependent eliminations.
Higher-Order 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 130 (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 trade-offs between language features, our analysis suggested that the first-order modules system of ML could be naturally extended to higher orders. However, whereas ML maintains a clear distinction between compile-time and run-time 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 92 (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 Martin-Lö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 object-oriented 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 55 (8 self)
- Add to MetaCart
We describe a general module language integrating abstract data types, specifications and object-oriented 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 object-oriented programming and programs built around specified algebraic or higher-order 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 proof-theoretic 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 proof-theoretic 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 31 (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 well-formed 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 well-formed process sets as finite maps from ProcId to Exp. If P is a finite set of process state...
PDS -- A Three-Dimensional Data Structure for Proof Plans
- PROC. OF ACIDCA'2000
, 2000
"... We present a new data structure that enables to store three-dimensional 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 three-dimensional 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 tactic-based 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 three-dimensional 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 tactic-based interactive theorem provers for higher-order 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 tactic-based interactive theorem provers for higher-order 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
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 26 (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 set-theoretic equivalence classes to untyped functional programming languages.
Extensions and Applications of Higher-order Unification
, 1990
"... ... unification problems. Then, in this framework, we develop a new unification algorithm for a-calculus with dependent function (II) types. This algorithm is especially useful as it provides for mechanization in the very expressive Logical Framework (LF). The development (object-languages). The ric ..."
Abstract
-
Cited by 24 (1 self)
- Add to MetaCart
... unification problems. Then, in this framework, we develop a new unification algorithm for a-calculus with dependent function (II) types. This algorithm is especially useful as it provides for mechanization in the very expressive Logical Framework (LF). The development (object-languages). The rich structure of a typed-calculus,asopposedtotraditional,rst- generalideaistousea-calculusasameta-languageforrepresentingvariousotherlanguages thelattercase,thealgorithmisincomplete,thoughstillquiteusefulinpractice. Thelastpartofthedissertationprovidesexamplesoftheusefulnessofthealgorithms.The algorithmrstfordependentproduct()types,andsecondforimplicitpolymorphism.In involvessignicantcomplicationsnotarisingHuet'scorrespondingalgorithmforthesimply orderabstractsyntaxtrees,allowsustoexpressrules,e.g.,programtransformationand typed-calculus,primarilybecauseitmustdealwithill-typedterms.Wethenextendthis Wecanthenuseunicationinthemeta-languagetomechanizeapplicationoftheserules.

