| Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69-86, 1992. |
....functional level theorems are related to non trivial functional theories, so that they 5 Borba cannot be automatically proved. The symbolic simulator is an OBJ [12] program, whereas the proof assistant is implemented by an encoding of FOOPS refinement theory in the 2OBJ meta logical framework [11]. The computational facilities supported by OBJ and 2OBJ have proved to be quite useful for mechanically proving refinement of concurrent object oriented programs: OBJ s term rewriting facilities, which efficiently implement equational reasoning; and 2OBJ s engine for applying inference rules and ....
Goguen, Joseph, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink, 2OBJ, a metalogical framework based on equational logic, Philosophical Transactions of the Royal Society, Series A, 339 (1992), pp. 69--86. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
....proof assistant interacts with the simulator in order to automatically prove some theorems. The presentation concentrates on the use of the tools, rather than on their implementation. In fact, both tools are just prototypes developed using the OBJ language [45] and the 2OBJ metalogical framework [42, 83]. Besides that, the tools are quite useful for partially validating our approach for refinement and motivating its use in practice. 7.1 A Symbolic Simulator for FOOPS The main functionality of the FOOPS symbolic simulator (hereafter FOOPS simulator, or simply simulator) that we will describe ....
....Chapter 7 we described a symbolic simulator and a proof assistant for FOOPS. We presented the main features of both tools and explained how they can be used for mechanizing refinement proofs. Those tools are just prototypes developed using the OBJ language [45] and the 2OBJ meta logical framework [42, 83]. However, they turned out to be useful for partially validating our approach for refinement and motivating its use in practice. The symbolic simulator automatically indicates state transitions resulting from the evaluation of an expression in a database state, which may have attributes ....
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
....and a powerful parameterised module facility that includes views and module expressions. A subset of OBJ is executable by order sorted rewriting. OBJ has been extended towards object oriented programming (the language FOOPS [40] theorem proving (the metalogical framework theorem prover 2OBJ [42]) and logic programming (the language Eqlog [38] which is also further discussed in this thesis) 1.1.2 Equational logic programming The equational logic programming paradigm unifies logic programming based on Horn clause logic and equational (i.e. functional) programming based on equational ....
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
.... as equational deduction in a precise way [11] Thus, equational logic provides an adequate framework for unifying functional and logic programming [21, 22] Equational logic can also be used as a meta programming language, by encoding the inference rules of any logical system as rewrite rules [24]. Powerful computational techniques have been developed for implementing different programming systems based on different versions of equational logic. Rewriting (in the context of functional programming) and narrowing 1 (in the context of equational logic programming) are the best known. ....
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
....process. Let us first consider what kind of metatheory is needed to support schematic rules such as proof rules, and developments. Many different logics have 12 David Basin and Bernd Krieg Bruckner been proposed as metalogics for formalizing rules and derivations. These include equational logic [GSHH92] rewrite logic [MM93] first order logic [GT93] type theory [HHP93] and higher order logic [Pau94b] among others. Where possible, we will avoid a commitment to a particular metalogic although we will indicate minimal requirements when necessary. 14.2.2 Formalization and supporting metatheory ....
....in the metalogic. These operators (in boldface font) should not be confused with 8 and ) in the declared object logic. Further, to simplify syntax, we write [ OE 1 ; OE n ] OE for (OE 1 = OE n = OE) when n 1. 3 This is not the only possibility, e.g. GSHH92] encodes rules as equations in OBJ3. David Basin and Bernd Krieg Bruckner Given a collection of axiomatized rules, new rules may be derived by deduction in the metatheory. For example, using the axioms in Figure 14.4 we might derive the new formula 8OE fl : F : pr(OE) pr( pr(fl) ....
[Article contains additional citation context not shown here]
Joseph A. Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
....concurrency as such, and it has been applied to some important issues that are not directly addressed in this paper, such as non determinism and non termination. Finally, we expect soon to do some simple proofs of concurrent object systems using the 2OBJ metalogical framework theorem prover [24, 36] to support hidden sorted equational reasoning. This should provide a good test of how viable the approach suggested in this paper can be in practice. Acknowledgements We wish to thank Dr. Grant Malcolm for several important suggestions, and Ms. Frances Page for cheerfully typing many drafts, ....
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69-86, 1992.
.... been used for building FOOPS, an object oriented specification and programming system [74, 87] the Eqlog system [71, 72, 25] for equational logic (or relational) programming, OOZE [3] an object oriented specification language influenced by Z [142] the 2OBJ metalogical framework theorem prover [81], and TOOR [130] a system for tracing requirements. OBJ has been used for many applications, including debugging algebraic specifications [77] rapid prototyping [69] defining programming languages in a way that directly yields an interpreter (see Appendix Section C.2, as well as [79] and some ....
....modules make this code much more readable than it would be otherwise. The same techniques seem effective for much more complex examples of hardware specification, simulation and verification, and many more examples are given in [51] and [53] along with supporting theory. The application of 2OBJ [81] to hardware verification is described in [145] and [146] 5 Applying Rules Release 2 of OBJ3 allows users to apply rules one at a time to a given term, either forwards or backwards (i.e. either replacing an instance of the left side by the corresponding instance of the right side, or else ....
[Article contains additional citation context not shown here]
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992.
....concurrency as such, and it has been applied to some important issues that are not directly addressed in this paper, such as non determinism and non termination. Finally, we expect soon to do some simple proofs of concurrent object systems using the 2OBJ metalogical framework theorem prover [23, 35] to support hidden sorted equational reasoning. This should provide a good test of how viable the approach suggested in this paper can be in practice. Acknowledgements We wish to thank Dr. Grant Malcolm for several important suggestions, and Ms. Frances Page for cheerfully typing many drafts, ....
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
....aspects of actual practice in computing and mathematics. This helps to explain why the equational programming language OBJ [26] and its extensions to logic programming (Eqlog [18, 19] object oriented programming (FOOPS [21] and theorem proving (the 2OBJ metalogical framework theorem prover [23]) are based on overloaded OSA. Of course, overloaded OSA also provides an elegant approach to the issues that originally motivated its development, including partial operations, constructors and selectors for abstract data types, and multiple representation and coercion [22, 20] Overloading also ....
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
....this technique also applies to proofs of correctness of partial implementations. Our approach applies directly to the object paradigm by associating visible sorts with data types, and hidden sorts with object classes. The proof technique is being implemented in the mechanised theorem prover 2OBJ [22, 33]. As noted in Section 3.1, our definition of refinement generalises that of Henniker [25] to the order sorted case. Henniker proposes a form of context induction as a technique for proving correctness of refinements; the proof technique we develop in Section 3.2, based on splitting a signature ....
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
....aspects of actual practice in mathematics and computing. This helps to explain why the equational programming language OBJ [29] and its extensions to logic programming (Eqlog [20, 22] object oriented programming (FOOPS [24] and theorem proving (the 2OBJ metalogical framework theorem prover [26]) are based on overloaded OSA. It is not hard to show that overloaded OSA forms an institution, in the sense of [14] intuitively, this means that overloaded OSA is a reasonable logical system, and in particular, that the satisfaction of an equation by a model is invariant under change of ....
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
....general discussion of how to apply ideas from category theory in Computing Science in given in [22] One application for the machinery of this paper is theorem proving, where modules representing logical theories are important. In particular, these ideas are used in the 2OBJ theorem proving system [34], which supports deduction over any desired logical system by implementing its abstract data type of proofs in equational logic. 2OBJ builds on facilities from the OBJ3 system [18, 37] including its module system. The logical foundations of such an approach require formalising the notions of ....
.... The logical foundations of such an approach require formalising the notions of deduction in a logical system, and of encoding one logical system into another; these formalisations are provided by the notions of ruled charter (which gives rise to an institution) and ruled charter morphism; see [34], which builds on work in [25] 1.1 Some History The earliest work on software modules with which we are familiar is by Parnas [51, 52, 53] Program modules differ from earlier program structuring mechanisms such as subroutines, procedures and blocks, in that they may include a number of ....
[Article contains additional citation context not shown here]
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
....a very flexible and extensible environment that is convenient for specification and rapid prototyping, as well as for building new systems, such as experimental languages and theorem proving environments. For example, OBJ3 has been used for building the 2OBJ3 metalogical framework theorem prover [63], the FOOPS object oriented specification and programming language [58, 68] and OOZE, which is an object oriented specification language influenced by some ideas in Z [3] OBJ has been used for many applications, including debugging algebraic specifications [61] rapid prototyping [53] defining ....
....machine, because of the direct concurrent execution of rewrite rules. OBJ3 is applied to theorem proving and hardware verification in [43] and [48] and some examples from [43] are given in Appendix Section C.4. 2OBJ, a metalogical framework for building theorem provers is described in [63]; its implementation is based on OBJ3. In [52] OBJ3 is used for teaching the semantics of imperative programming languages; in fact, all of the proofs are actually executable OBJ3 programs. 1.1 A Brief History of OBJ OBJ was originally designed in 1976 by Goguen [35] as a language for error ....
[Article contains additional citation context not shown here]
Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalogical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69--86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69--86.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC