@string{brics = "{BRICS}"} @string{daimi = "Department of Computer Science, University of Aarhus"} @string{iesd = "Department of Computer Science, Institute of Electronic Systems, Aalborg University"} @string{rs = "Research Series"} @string{ns = "Notes Series"} @string{ls = "Lecture Series"} @string{ds = "Dissertation Series"} @techreport{BRICS-NS-96-15, author = "{CoFI}", title = "{CASL} -- The {CoFI Algebraic Specification Language}; Tentative Design: Language Summary", institution = brics, year = 1996, type = ns, number = "NS-96-15", address = daimi, month = dec, note = "34~pp", abstract = "The Common Framework Initiative (CoFI) for algebraic specification and development is an international collaborative effort, coordinated by Peter D. Mosses. This summary of the tentative design of the CoFI Algebraic Specification Language, CASL, is the basis for closer investigation by various CoFI task groups (Semantics, Tools, Methodology, Language Design), after which a final CASL Design Proposal will be made in Spring 1997.\bibpar The language CASL is central to CoFI: it is a reasonably expressive algebraic language for specifying requirements and design for conventional software. From CASL, simpler CoFI languages (e.g., for interfacing with existing tools) are to be obtained by restriction, and CASL is to be incorporated in more advanced CoFI languages (e.g., for specifying reactive systems). CASL strikes a balance between simplicity and expressiveness", linkhtmlabs = "", linkdvi = "", linkps = "" } @techreport{BRICS-NS-96-14, author = "Mosses, Peter D.", title = "A Tutorial on Action Semantics", institution = brics, year = 1996, type = ns, number = "NS-96-14", address = daimi, month = dec, note = "46~pp. Tutorial notes for FME~'94 (Formal Methods Europe, Barcelona, 1994) and FME~'96 (Formal Methods Europe, Oxford, 1996)", abstract = "Action Semantics is useful for specifying programming languages: documenting design decisions, setting standards for implementations, etc. This framework has unusually good pragmatics, making specifications easily accessible to programmers. Thanks to its inherent modularity, action semantics scales up smoothly to describing practical, industrially-useful languages.\bibpar In this 1/2-day tutorial, action semantics is explained, illustrated, and compared to other frameworks such as VDM and RAISE", linkhtmlabs = "", linkdvi = "", linkps = "" } @proceedings{BRICS-NS-96-13, title = "Proceedings of the Second ACM SIGPLAN Workshop on Continuations, CW~'97 {\em(ENS, Paris, France, 14 January, 1997)}", year = 1996, editor = "Danvy, Olivier", number = "NS-96-13", series = ns, address = daimi, month = dec, organization = brics, note = "166~pp", abstract = "The notion of continuation is ubiquitous in many different areas of computer science, including logic, constructive mathematics, programming languages, and programming. This workshop aims at providing a forum for discussion of new results and work in progress; work aimed at a better understanding of the nature of continuations; applications of continuations, and the relation of continuations to other areas of logic and computer science.\bibpar CW~'97 is taking place on January 14th, 1997, the day preceding POPL~'97. It consists of two invited talks by Peter Landin and by John Reynolds, and seven contributed papers. The present BRICS technical report (distributed at the workshop) serves as an informal proceedings. Seven papers were selected among eighteen submissions", linkhtmlabs = "" } @techreport{BRICS-NS-96-12, author = "Srivas, Mandayam K.", title = "A Combined Approach to Hardware Verification: Proof-Checking, Rewriting with Decision Procedures and Model-Checking; Part {II}: Articles. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-12", address = daimi, month = oct, note = "56~pp", abstract = "The notes consists of the following articles: \begin{itemize} \item[(1)] Modular Verification of SRT Division, by H. Ruess, N. Shankar, and M.K. Srivas. Presented at CAV~'96, Springer Verlag LNCS 1102, pp. 123--134, July 1996, New Brunswick, NJ. \item[(2)] An Integration of Model-Checking with Automated Proof Checking, by S. Rajan, N. Shankar, and M.K. Srivas. Presented at the Conference on Computer-Aided Verification, CAV~'95, Liege, Belgium, July 1995. Springer Verlag Lecture Notes in Computer Science vol. 939, pp. 84--97. \item[(3)] Effective Theorem Proving for Hardware Verification, by David Cyrluk, S. Rajan, N. Shankar, and M. K. Srivas, presented at the 2nd International Conference on Theorem Provers in Circuit Design, September 1994. \end{itemize} " } @techreport{BRICS-NS-96-11, author = "Srivas, Mandayam K.", title = "A Combined Approach to Hardware Verification: Proof-Checking, Rewriting with Decision Procedures and Model-Checking; Part {I}: Slides. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-11", address = daimi, month = oct, note = "29~pp", abstract = "Slides to lectures on {\em A Combined Approach to Hardware Verification: Proof-Checking, Rewriting with Decision Procedures and Model-Checking}. See BRICS Notes NS-96-12" } @techreport{BRICS-NS-96-10, author = "Pollack, Robert", title = "What we Learn from Formal Checking; Part {III}: Formalization is Not Just Filling In Details. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-10", address = daimi, month = oct, note = "iv+42~pp", abstract = "I outline a small example in LEGO, a formal development of basic lambda calculus. Some ``obvious'' theorems appear to be very difficult to prove, in that their conventional informal proofs are not easily formalizable. I show a method using generalized induction that makes these ``obvious'' theorems straightfoward. The moral is that a user of formal checking must be willing to solve new problems, that formalization can teach us new things about ``well understood'' areas, and that using alternative definitions of basic concepts is one way to learn these new things" } @techreport{BRICS-NS-96-9, author = "Pollack, Robert", title = "What we Learn from Formal Checking; Part {II:} Using Type Theory: An Introduction. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-9", address = daimi, month = oct, note = "iv+71~pp", abstract = "An introduction to the Curry-Howard isomorphism and the use of type theory for representing mathematics and modelling computer systems. I will concentrate on the Extended Calculus of Constructions (ECC) of Luo, and on the tool LEGO for checking proofs in ECC. The main technical topic is the use of inductive definitions to represent data types (booleans, natural numbers, lists, syntax of a programming language, \ldots) and relations (typing and operational semantics of a programming language, \ldots).\bibpar {\bf Acknowledgement} This section was written by Rod Bur stall and Judith Underwood" } @techreport{BRICS-NS-96-8, author = "Pollack, Robert", title = "What we Learn from Formal Checking; Part {I}: How to Believe a Machine-Checked Proof. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-8", address = daimi, month = oct, note = "iv+19~pp", abstract = "There has been considerable discussion about the value of a large machine-checked proof. I suggest a view, and a technical approach, in which belief in machine verifications is based on evidence, which may be built up over time, and requires participation of the readers. I split the question of belief into two parts; asking whether the claimed proof is actually a derivation in the claimed formal system, and then whether what it proves is the claimed theorem. The first question is addressed by independent checking of formal proofs. I discuss how this approach extends the informal notion of proof as surveyable by human readers, and how surveyability of proofs reappears as the issue of feasibility of proof-checking. The second question has no technical answer" } @techreport{BRICS-NS-96-7, author = "Melham, Tom F.", title = "Some Research Issues in Higher Order Logic Theorem Proving. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-7", address = daimi, month = oct, note = "15~pp", abstract = "The past twenty years have seen many advances in the use of computers to do logical proofs and in the deployment of this technology in what, broadly speaking, might be called formal methods applications. One important strand has been research in interactive proof-construction in higher-order logics, where the user guides proof discovery and construction but may also employ automatic decision procedures or heuristics. Several well-developed theorem-proving systems (e.g.\ HOL, Isabelle, Coq, Nuprl) serve as vehicles for this research; and the results of past work have begun to reach industry through, for example, the notable recent achievements in hardware verification using PVS and the use of HOL at several industrial sites.\bibpar These lectures focus on three important areas for future research in interactive higher order logic theorem proving: \begin{itemize} \item Usability and interface design. \item Embedding formalisms and embedded theorem proving. \item Integrating and implementing automated proof methods. \end{itemize} Concentrating primarily on research issues, I shall discuss some past and current work in these areas and sketch what I see as some important directions for the future. In keeping with the aims of the BRICS Autumn School on Verification, I have in mind an audience of beginning Ph.D.\ students or newly-appointed RAs---i.e.\ researchers who may be familiar with some aspects of theorem proving, but who want to expand their knowledge a little. Experienced researchers, deeply versed in higher order logic theorem proving, are likely to find some of what I say already familiar to them" } @techreport{BRICS-NS-96-6, author = "Holzmann, Gerard J.", title = "On-the-Fly Model Checking Tutorial. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-6", address = daimi, month = oct, note = "31~pp", abstract = "SPIN is a generic verification system for models of distributed software systems. It has been used to detect design errors in applications ranging from abstract distributed algorithms, to detailed code for controlling telephone exchanges. This paper gives an overview of the design and structure of the verifier, reviews its automata-theoretical foundation, and gives examples of some typical applications of the model checker in practice." } @techreport{BRICS-NS-96-5, author = "Henzinger, Thomas A.", title = "Automatic Verification of Real-Time and Hybrid Systems. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-5", address = daimi, month = oct, note = "28~pp", abstract = "We summarize several recent resul ts about hybrid automata. Our goal is to demonstrate that concepts from the theory of discrete concurrent systems can give insights into partly continuous systems, and that methods for the verification of finite-state systems can be used to analyze certain systems with uncountable state spaces" } @techreport{BRICS-NS-96-4, author = "Clarke, Jr., Edmund M.", title = "Symbolic Model Checking. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-4", address = daimi, month = oct, note = "55~pp", abstract = "Logical errors in finite state reactive systems are an important problem for designers. They can delay getting a new product on the market or cause the failure of some critical device that is already in use. My research group has developed a verification method called {\em temporal logic model checking} for this class of systems. In this approach specifications are expressed in a propositional temporal logic, and reactive systems are modeled as state--transition graphs. An efficient search procedure is used to determine automatically if the specifications are satisfied by the state--transition graph. The technique has been used in the past to find subtle errors in a number of non-trivial circuit and protocol designs.\bibpar During the last few years, the size of the reactive systems that can be verified by model checking techniques has increased dramatically. By representing sets of states and transition relations implicitly using Binary Decision Diagrams (BDDs), we are now able to check examples that are many orders of magnitude larger than was previously the case. In this tutorial we describe how the BDD-based model checking techniques work and illustrate their power by discussing the verification of several complex protocol and circuit designs" } @techreport{BRICS-NS-96-3, author = "Basin, David A.", title = "Verification Based on Monadic Logic. {BRICS} Autumn School on Verification", institution = brics, year = 1996, type = ns, number = "NS-96-3", address = daimi, month = oct, note = "43~pp", abstract = "We present a new approach to hardware verification based on describing circuits in Monadic Second-order Logic MSL. We show how to use this logic to represent generic designs like $n$-bit adders, which are parameterized in space, and sequential circuits, where time is an unbounded parameter. MSL admits a decision procedure, implemented in the MONA tool, which reduces formulas to canonical automata.\bibpar The decision problem for MSL is non-elementary decidable and thus unlikely to be usable in practice. However, we have used MONA to automatically verify, or find errors in, a number of circuits studied in the literature. Previously published machine proofs of the same circuits are based on deduction and may involve substantial interaction with the user. Moreover, our approach is orders of magnitude faster for the examples considered. We show why the underlying computations are feasible and how our use of MONA generalizes standard BDD-based hardware reasoning" } @proceedings{BRICS-NS-96-2, title = "Programme and Abstracts of the BRICS Autumn School on Verification {\em(Aarhus, Denmark, October 28 -- November 1, 1996)}", year = 1996, editor = "Cheng, Allan and Larsen, Kim G. and Nielsen, Mogens", number = "NS-96-2", series = ns, address = daimi, month = aug, organization = brics, note = "ii+18pp", abstract = "This note is intended to provide helpful information, including Scientific Programme with Abstracts, concerning attendance to the {\em BRICS Autumn School on Verification, Aarhus, Denmark, October 28 -- November 1, 1996}", linkhtmlabs = "", linkps = "" } @techreport{BRICS-NS-96-1, author = "Berthiaume, Andr{\'e}", title = "Quantum Computation. {M}ini-Course", institution = brics, year = 1996, type = rs, number = "RS-96-1", address = daimi, month = jan, note = "iv+126 pp", abstract = "Computer science has a classical soul; many definitions implicitly contain ideas from the time we believed the world evolved according to newtonian physics. Ideas such as: an object's state is well defined, instantaneous actions at a distance are impossible, etc. Modern physics and more specifically quantum physics tells us that Nature is not as straightforward as Newton originally believed. One can prepare systems such that the state is completely undefined in any classical sense. Instantaneous actions at a distance have been observed and sometimes having less alternatives to produce a given outcome may {\em improve\/} the probability of getting this outcome! What would happen computing models are allowed to operate within the rules of quantum physics? What are the advantages offered by a {\em quantum computer\/}?\bibpar This mini-course introduces the quantum computer and presents some of the milestone results in quantum complexity theory leading up to Shor's famous polynomial time quantum factoring algorithm. Foreknowledge of quantum physics is useful but not necessary as the relevant notions are introduced when needed. A fascinating aspect of quantum computation is the possibility of building such devices. Some of the problems still to be overcome will briefly addressed, but it is worth mentioning that some ongoing experiments have shown some very positive results. Quantum computers may well be available sooner than we think. ", linkhtmlabs = "", linkps = "" }