## MetaPRL - A Modular Logical Environment (2003)

### Cached

### Download Links

Citations: | 8 - 2 self |

### BibTeX

@MISC{Hickey03metaprl-,

author = {Jason Hickey and Aleksey Nogin and Robert L. Constable and Brian E. Aydemir and Eli Barzilay and Yegor Bryukhov and Richard Eaton and Adam Granicz and Alexei Kopylov and Christoph Kreitz and Vladimir N. Krupski and Lori Lorigo and Stephan Schmitt and Carl Witty and Xin Yu},

title = {MetaPRL - A Modular Logical Environment},

year = {2003}

}

### OpenURL

### Abstract

MetaPRL is the latest system to come out of over twenty five years of research by the Cornell PRL group. While initially created at Cornell, MetaPRL is currently a collaborative project involving several universities in several countries. The MetaPRL system combines the properties of an interactive LCF-style tactic-based proof assistant, a logical framework, a logical programming environment, and a formal methods programming toolkit. MetaPRL is distributed under an open-source license and can be downloaded from http://metaprl.org/. This paper provides an overview of the system focusing on the features that did not exist in the previous generations of PRL systems.

### Citations

937 | A Theory of Objects
- Abadi, Cardelli
- 1996
(Show Context)
Citation Context ...imitives. MetaPRL also includes Kopylov’s theory of extensible dependent record types [34]. Record types are an important tool for programming and are essential in formalizing object-oriented calculi =-=[1,19,26]-=-. Dependent record types may be used to represent modules in programming languages with their specifications. Dependent record types are also used to represent algebraic structures. In most of the pre... |

281 |
Constructive mathematics and computer programming, in
- Martin-Löf
- 1982
(Show Context)
Citation Context ... is not an exception — its most extensively developed and most frequently used theory is a variation of the NuPRL intuitionistic type theory [19] (which in turn is based on the Martin-Löf type theory =-=[41]-=-). There are several major differences between the NuPRL and MetaPRL implementations of the NuPRL type theory. The most obvious one is the extensive use of computational rewrites (including derived on... |

263 |
The Ensemble System
- Hayden
- 1988
(Show Context)
Citation Context ...United States Air Force, the Lee Center, and by NSF Grant CCR 0204193.sfully used for verification and automated optimization of the Ensemble group communication toolkit [14,38]. The Ensemble toolkit =-=[24]-=- is being used for both military and commercial applications. Its users include BBN, Nortel Networks and NASA. The MetaPRL project (which was initially called NuPRL-Light [27]) was started by Jason Hi... |

177 |
Isabelle: A Generic Theorem Prover, volume 828
- Paulson
- 1994
(Show Context)
Citation Context ...nced GUI in MetaPRL. NuPRL LPE is currently being used in UAV system protocol verification and in work on practical reflection [9]. MetaPRL has much in common with the Isabelle generic theorem prover =-=[46,47]-=-, the main differences are the logical foundations and the theory mechanism. We have kept a Martin-Löf style logic, hence the need for computational rewrites. Also, our module mechanism stresses relat... |

152 |
Automated Theorem Proving
- Bibel
- 1982
(Show Context)
Citation Context ...t for implementing the JProver decision procedure in MetaPRL. JProver [49] is a complete 9 theorem prover for first-order intuitionistic logic that is based on a strategy called the connection method =-=[13,36]-=-. Upon success it generates a sequent proof for the proof goal [37] that may be inspected by the user. 9 Since first-order logic is undecidable, JProver will not terminate if the goal cannot be proven... |

124 | The type theoretic interpretation of constructive set theory
- Aczel
- 1977
(Show Context)
Citation Context ...nistic reasoning for most purposes, however this experimental theory provides a promising alternative approach to managing computational meaning of constructive proofs. 5.3 Constructive Set Theory In =-=[2,3]-=-, Aczel introduced Constructive Zermelo-Fraenkel set theory, CZF, and formulated an embedding of CZF into the Martin-Löf’s type theory [41]. Based on Aczel’s work, Hickey formally embedded CZF into th... |

110 |
Proofs as programs
- Bates, Constable
- 1985
(Show Context)
Citation Context ...This paper provides an overview of the system focusing on the features that did not exist in the previous generations of PRL systems. 1 Introduction MetaPRL is the latest in the PRL family of systems =-=[5,11,12,18,19,29,50]-=- developed over the last 25 years. MetaPRL’s predecessor NuPRL [5,19] was success⋆ This work was supported in part by the DoD Multidisciplinary University Research Initiative (MURI) program administer... |

102 |
Edinburgh LCF: a mechanized logic of computation
- Gordon, Milner, et al.
- 1979
(Show Context)
Citation Context ...hing its admissibility. 6s4 Proof Search Automation In addition to the logical engine, MetaPRL also provides considerable proof automation, using extensible proof-search procedures coded as LCF-style =-=[21]-=- tactics. 4.1 Resources Often some basic tactics are designed to behave very differently in different contexts. One of the best examples of such a tactic is the decomposition tactic [33, Section 3.3] ... |

86 | Proof General: A generic tool for proof development
- Aspinall
- 2000
(Show Context)
Citation Context ... “user space”. We intentionally did not include any user interface in Figure 1. The reason for such omission is that often a user interface (such as, for example, NuPRL Editor [5,39] or Proof General =-=[6]-=-) would be a separate package added on top of a formal system, rather then a part of the system itself. There are two main approaches to building such a prover — one can build a monolithic prover (suc... |

78 |
Implementing Mathematics with the Nuprl Development System
- Constable, Allen, et al.
- 1986
(Show Context)
Citation Context ...This paper provides an overview of the system focusing on the features that did not exist in the previous generations of PRL systems. 1 Introduction MetaPRL is the latest in the PRL family of systems =-=[5,11,12,18,19,29,50]-=- developed over the last 25 years. MetaPRL’s predecessor NuPRL [5,19] was success⋆ This work was supported in part by the DoD Multidisciplinary University Research Initiative (MURI) program administer... |

78 | Building reliable, high-performance communication systems from components
- Liu, Kreitz, et al.
- 1999
(Show Context)
Citation Context ... Projects Agency (DARPA), the United States Air Force, the Lee Center, and by NSF Grant CCR 0204193.sfully used for verification and automated optimization of the Ensemble group communication toolkit =-=[14,38]-=-. The Ensemble toolkit [24] is being used for both military and commercial applications. Its users include BBN, Nortel Networks and NASA. The MetaPRL project (which was initially called NuPRL-Light [2... |

73 | HOL Light: A Tutorial Introduction
- Harrison
- 1996
(Show Context)
Citation Context ...have kept a Martin-Löf style logic, hence the need for computational rewrites. Also, our module mechanism stresses relations between theories allowing re-use of proof automation. Harrison’s HOL-Light =-=[23]-=- shares some common features with the MetaPRL implementation. Harrison’s system is implemented in Caml-Light, and both systems require fewer computational resources than their predecessors. For a more... |

61 |
and F.Richman, Varieties of constructive mathematics
- Bridges
- 1987
(Show Context)
Citation Context ... Set Theory Constructive set theory, initiated by John Myhill in 1975 [42], is a theory of sets that, among several others, provides a formal framework for the development of constructive mathematics =-=[15]-=-. It is based on the standard first order language of classical axiomatic set theory and makes no use of constructive notions or objects. Therefore the set theoretical development of constructive math... |

54 |
Constructive set theory
- Myhill
- 1975
(Show Context)
Citation Context ...mental theory provides a promising alternative approach to managing computational meaning of constructive proofs. 5.3 Constructive Set Theory Constructive set theory, initiated by John Myhill in 1975 =-=[42]-=-, is a theory of sets that, among several others, provides a formal framework for the development of constructive mathematics [15]. It is based on the standard first order language of classical axioma... |

52 | 2001] Notes on constructive set theory
- Aczel, Rathjen
(Show Context)
Citation Context ...nistic reasoning for most purposes, however this experimental theory provides a promising alternative approach to managing computational meaning of constructive proofs. 5.3 Constructive Set Theory In =-=[2,3]-=-, Aczel introduced Constructive Zermelo-Fraenkel set theory, CZF, and formulated an embedding of CZF into the Martin-Löf’s type theory [41]. Based on Aczel’s work, Hickey formally embedded CZF into th... |

46 | Enhancing the Nuprl Proof Development System and Applying it to Computational Abstract Algebra - Jackson - 1995 |

44 | The Nuprl open logical environment
- Allen, Constable, et al.
(Show Context)
Citation Context ...This paper provides an overview of the system focusing on the features that did not exist in the previous generations of PRL systems. 1 Introduction MetaPRL is the latest in the PRL family of systems =-=[5,11,12,17,18,29,49]-=- developed over the last 25 years. MetaPRL’s predecessor NuPRL [5,18] was successfully ⋆ This work was supported in part by the DoD Multidisciplinary University Research Initiative (MURI) program admi... |

33 |
The MetaPRL Logical Programming Environment
- Hickey
- 2001
(Show Context)
Citation Context ...This paper provides an overview of the system focusing on the features that did not exist in the previous generations of PRL systems. 1 Introduction MetaPRL is the latest in the PRL family of systems =-=[5,11,12,18,19,29,50]-=- developed over the last 25 years. MetaPRL’s predecessor NuPRL [5,19] was success⋆ This work was supported in part by the DoD Multidisciplinary University Research Initiative (MURI) program administer... |

29 | Formal objects in type theory using very dependent types
- Hickey
- 1996
(Show Context)
Citation Context ...imitives. MetaPRL also includes Kopylov’s theory of extensible dependent record types [34]. Record types are an important tool for programming and are essential in formalizing object-oriented calculi =-=[1,20,26]-=-. Dependent record types may be used to represent modules in programming languages with their specifications. Dependent record types are also used to represent algebraic structures. Unfortunately, all... |

27 | Isabelle tutorial and user’s manual
- Paulson, Nipkow
- 1990
(Show Context)
Citation Context ...nced GUI in MetaPRL. NuPRL LPE is currently being used in UAV system protocol verification and in work on practical reflection [9]. MetaPRL has much in common with the Isabelle generic theorem prover =-=[46,47]-=-, the main differences are the logical foundations and the theory mechanism. We have kept a Martin-Löf style logic, hence the need for computational rewrites. Also, our module mechanism stresses relat... |

23 | Connection-based theorem proving in classical and non-classical logics
- Kreitz, Otten
- 1999
(Show Context)
Citation Context ...t for implementing the JProver decision procedure in MetaPRL. JProver [49] is a complete 9 theorem prover for first-order intuitionistic logic that is based on a strategy called the connection method =-=[13,36]-=-. Upon success it generates a sequent proof for the proof goal [37] that may be inspected by the user. 9 Since first-order logic is undecidable, JProver will not terminate if the goal cannot be proven... |

22 | Dependent intersection: A new way of defining records in type theory
- Kopylov
(Show Context)
Citation Context ... known to be very hard to formalize using traditional quotient types) can be naturally formalized using the new primitives. MetaPRL also includes Kopylov’s theory of extensible dependent record types =-=[34]-=-. Record types are an important tool for programming and are essential in formalizing object-oriented calculi [1,20,26]. Dependent record types may be used to represent modules in programming language... |

17 |
Sequent schema for derived rules
- Nogin, Hickey
- 2002
(Show Context)
Citation Context ...al and does not depend on a particular logical theory being used. The key idea of our approach is in using a special higher-order language for specifying rules; we call it a sequent schemata language =-=[45]-=-. From a theoretical point of view, we take some logical theory and express its rules using sequent schemata. Next we add the same language of sequent schemata to the theory itself. After that we allo... |

15 | NuPRL’s class theory and its applications
- Constable, Hickey
- 2000
(Show Context)
Citation Context ...imitives. MetaPRL also includes Kopylov’s theory of extensible dependent record types [34]. Record types are an important tool for programming and are essential in formalizing object-oriented calculi =-=[1,20,26]-=-. Dependent record types may be used to represent modules in programming languages with their specifications. Dependent record types are also used to represent algebraic structures. Unfortunately, all... |

14 | Phobos: A front-end approach to extensible compilers (long version
- Granicz, Hickey
- 2002
(Show Context)
Citation Context ... user (or to be written into a L ATEX file). This informal mode is also used to provide generic parsing capabilities and enables users to specify parts of their logical theories in their own notation =-=[22]-=-. The rewriting engine is used to execute parsing derivations based on the formal definition of the notation, which includes the specification of the grammar and the semantic rules associated with eac... |

13 |
A Logic for Correct Program Development
- Bates
- 1979
(Show Context)
Citation Context ...very high level, an architecture of a tactic-based theorem prover can usually be described as a layered architecture as shown in Figure 1. The core of the system is its logical engine, or re✞ ☎ finer =-=[10]-=-. It is responsible for performing the individual ✝ Logical Engine proof steps (such as applying a single inference rule). ✆ ✞ ❄ ☎ Next, there is the lower “support” layer for the logi✝ Meta-Theory ca... |

13 |
On the theory of programming logics
- Constable
- 1977
(Show Context)
Citation Context |

13 | NuPRL-Light: An implementation framework for higer-order logics
- Hickey
- 1997
(Show Context)
Citation Context ...8]. The Ensemble toolkit [24] is being used for both military and commercial applications. Its users include BBN, Nortel Networks and NASA. The MetaPRL project (which was initially called NuPRL-Light =-=[27]-=-) was started by Jason Hickey as a part of Ensemble verification effort to simplify formal reasoning about the program code and to address scalability and modularity limitations of NuPRL-4. As more ef... |

11 |
Aleksey Nogin, Alexei Kopylov, et al. MetaPRL home page. http: //metaprl.org
- Hickey
(Show Context)
Citation Context ...hat did not exist in previous generations of PRL systems. MetaPRL is an open-source software system distributed under the terms of the GNU GPL. Documentation and download instructions can be found at =-=[32]-=-. 2 Architecture Overview At a very high level, an architecture of a tactic-based theorem prover can usually be described as a layered architecture as shown in Figure 1. The core of the system is its ... |

10 |
Judicaël Courant, JeanChristophe Filliâtre, Eduardo Giménez, Hugo Herbelin, Gérard Huet
- Barras, Boutin, et al.
- 1997
(Show Context)
Citation Context ...plemented 10 , it was integrated into the MetaPRL implementation of the NuPRL type theory and into the NuPRL system. Later, Huang Guan-Shieng was able to integrate 11 JProver into Coq proof assistant =-=[8]-=- (without needing any help by the members of the PRL community). Another example is the Phobos generic parser [22] that is powered by the MetaPRL rewriting engine. MetaPRL is also being used as a part... |

10 | Fast tactic-based theorem proving
- Hickey, Nogin
- 2000
(Show Context)
Citation Context ...ng engine is also used to apply computational and definitional rewrites (see Section 3.4). When a rule or rewrite is defined in a logical theory, the MetaPRL refiner compiles it to a bytecode program =-=[31]-=- that is run whenever the rule or rewrite is applied. This precompilation phase significantly improves performance. The rewriting engine also has an “informal” mode that is used to convert terms into ... |

10 | A uniform procedure for converting matrix proofs into sequent-style systems
- Kreitz, Schmitt
(Show Context)
Citation Context ...[49] is a complete 9 theorem prover for first-order intuitionistic logic that is based on a strategy called the connection method [13,36]. Upon success it generates a sequent proof for the proof goal =-=[37]-=- that may be inspected by the user. 9 Since first-order logic is undecidable, JProver will not terminate if the goal cannot be proven and must be interrupted (typically by limiting the maximum proof s... |

9 | Process migration and transactions using a novel intermediate language
- Hickey, Smith, et al.
- 2002
(Show Context)
Citation Context ...tion but we need an implementation first! The MC theory is a first attempt at implementing a formal compiler [7]. Terms are used to formally represent the functional intermediate representation (FIR) =-=[25]-=- of the Mojave Compiler Collection (MCC) within MetaPRL, and rewrites are used to give the operational semantics of the FIR. Several tactics allow MetaPRL to transform FIR code through dead code elimi... |

8 | Fault-tolerant distributed theorem proving
- Hickey
- 1999
(Show Context)
Citation Context ...tributed process. On a small number of processors, speed improvements are usually superlinear in the number of processors participating in a proof. The distribution mechanism is described in-depth in =-=[28]-=-. 3.3 Derived Rules In an interactive theorem prover it is very useful to have a mechanism allowing users to prove some statement in advance and then reuse the derivation in further proofs. Often it i... |

7 | Reflecting higher-order abstract syntax in Nuprl
- Barzilay, Allen
- 2002
(Show Context)
Citation Context ...lex GUI — a logical navigator, which compensates for the lack of any advanced GUI in MetaPRL. NuPRL LPE is currently being used in UAV system protocol verification and in work on practical reflection =-=[9]-=-. MetaPRL has much in common with the Isabelle generic theorem prover [46,47], the main differences are the logical foundations and the theory mechanism. We have kept a Martin-Löf style logic, hence t... |

7 |
A listing of MetaPRL theories. http://metaprl.org/theories.pdf
- Hickey, Aydemir, et al.
(Show Context)
Citation Context ...ed to generate the documentation for those theories. An extensive documentation of MetaPRL theories (generated automatically from the literate comments and updated on a regular basis) is available at =-=[30]-=-. 5.1 Hierarchical Theories Mechanism MetaPRL does not assume any particular type theory or logic and allows users to formulate and use different logics and theories. In MetaPRL mathematical theories ... |

7 | Markov’s principle for propositional type theory
- Kopylov, Nogin
- 2001
(Show Context)
Citation Context ...). 10sIn addition to the purely intuitionistic type theory, MetaPRL also has a theory (implemented as a module extending the standard type theory) that allows some limited form of classical reasoning =-=[35]-=-. While retaining most of the constructive properties, this theory allows expressing and proving a propositional analog of Markov’s principle [40]. The MetaPRL and NuPRL groups continue to use purely ... |

6 | Quotient types: A modular approach
- Nogin
- 2002
(Show Context)
Citation Context ... to formalizing the notion of a quotient type. In MetaPRL the traditional monolithic rule set is replaced by a modular set of rules for a specially chosen set of primitive operations (as described in =-=[43]-=- and [44, Chapter 5]). This modular formalization of quotient types turns out to be much easier to use and free of many limitations of the traditional monolithic formalization. As an illustration of t... |

5 |
van Renesse, and Xiaoming Liu. Proving hybrid protocols correct
- Bickford, Kreitz, et al.
- 2001
(Show Context)
Citation Context ... Projects Agency (DARPA), the United States Air Force, the Lee Center, and by NSF Grant CCR 0204193.sfully used for verification and automated optimization of the Ensemble group communication toolkit =-=[14,38]-=-. The Ensemble toolkit [24] is being used for both military and commercial applications. Its users include BBN, Nortel Networks and NASA. The MetaPRL project (which was initially called NuPRL-Light [2... |

4 | Theory and implementation of an efficient tactic-based logical framework - Nogin - 2002 |

3 | FDL: A prototype formal digital library. PostScript document on website
- Allen, Bickford, et al.
- 2002
(Show Context)
Citation Context ...gh the MetaPRL logical engine. MetaPRL is also being used as a part of the Formal Digital Library (FDL) project being developed at Cornell, Caltech and Wyoming. The first prototype FDL has been built =-=[4]-=- and contains definitions, theorems, theories, proof methods, and articles about topics in computational mathematics and books assembled from them. Currently it supports these objects created with the... |

3 | Formal Design Environments
- Aydemir, Granicz, et al.
(Show Context)
Citation Context ... a matter of bootstrapping: we would like to use MetaPRL to reason about its own implementation but we need an implementation first! The MC theory is a first attempt at implementing a formal compiler =-=[7]-=-. Terms are used to formally represent the functional intermediate representation (FIR) [25] of the Mojave Compiler Collection (MCC) within MetaPRL, and rewrites are used to give the operational seman... |

3 | Sophiène Tahar, editors - Carreño, Muñoz - 2002 |

3 |
A notation for computer aided mathematics
- Mannion, Allen
- 1994
(Show Context)
Citation Context ...gical theories being its “user space”. We intentionally did not include any user interface in Figure 1. The reason for such omission is that often a user interface (such as, for example, NuPRL Editor =-=[5,39]-=- or Proof General [6]) would be a separate package added on top of a formal system, rather then a part of the system itself. There are two main approaches to building such a prover — one can build a m... |

3 |
On constructive mathematics, Trudy Matematicheskogo Instituta Imeni V
- Markov
- 1962
(Show Context)
Citation Context ... that allows some limited form of classical reasoning [35]. While retaining most of the constructive properties, this theory allows expressing and proving a propositional analog of Markov’s principle =-=[40]-=-. The MetaPRL and NuPRL groups continue to use purely intuitionistic reasoning for most purposes, however this experimental theory provides a promising alternative approach to managing computational m... |

2 |
Definition of micro-PRL
- Bates, Constable
- 1985
(Show Context)
Citation Context |

2 | Tahar editors, Theorem Proving in Higher Order Logics - TPHOLs 2002, volume 2410 - Carreño, S - 2002 |