Equational Logic as a Programming Language

Equational Logic as a Programming Language PDF Author: Michael J. O'Donnell
Publisher: MIT Press (MA)
ISBN:
Category : Computers
Languages : en
Pages : 334

Get Book Here

Book Description
This book describes an ongoing equational programming project that started in 1975. Within the project an equational programming language interpreter has been designed and implemented. The first part of the text (Chapters 1-10) provides a user's manual for the current implementation. The remaining sections cover the following topics: programming techniques and applications, theoretical foundations, implementation issues. Giving a brief account of the project's history (Chapter 11), the author devotes a large part of the text to techniques of equational programming at different levels of abstraction. Chapter 12 discusses low-level techniques including the distinction of constructors and defined functions, the formulation of conditional expressions and error and exception handling. High-level techniques are treated in Chapter 15 by discussing concurrency, nondeterminism, the relationship to dataflow programs and the transformation of recursive programs called dynamic programming. In Chapter 16 the author shows how to efficiently implement common data structures by equational programs. Modularity is discussed in Chapter 14. Several applications are also presented in the book. The author demonstrates the versatility of equational programming style by implementing syntactic manipulation algorithms (Chapter 13). Theoretical foundations are introduced in Chapter 17 (term rewriting systems, herein called term reduction systems). In Chapter 19 the author raises the question of a universal equational machine language and discusses the suitability of different variants of the combinator calculus for this purpose. Implementation issues are covered in Chapters 18 and 20 focused around algorithms for efficient pattern matching, sequencing and reduction. Aspects of design and coordination of the syntactic processors are presented as well.

Equational Logic as a Programming Language

Equational Logic as a Programming Language PDF Author: Michael J. O'Donnell
Publisher: MIT Press (MA)
ISBN:
Category : Computers
Languages : en
Pages : 334

Get Book Here

Book Description
This book describes an ongoing equational programming project that started in 1975. Within the project an equational programming language interpreter has been designed and implemented. The first part of the text (Chapters 1-10) provides a user's manual for the current implementation. The remaining sections cover the following topics: programming techniques and applications, theoretical foundations, implementation issues. Giving a brief account of the project's history (Chapter 11), the author devotes a large part of the text to techniques of equational programming at different levels of abstraction. Chapter 12 discusses low-level techniques including the distinction of constructors and defined functions, the formulation of conditional expressions and error and exception handling. High-level techniques are treated in Chapter 15 by discussing concurrency, nondeterminism, the relationship to dataflow programs and the transformation of recursive programs called dynamic programming. In Chapter 16 the author shows how to efficiently implement common data structures by equational programs. Modularity is discussed in Chapter 14. Several applications are also presented in the book. The author demonstrates the versatility of equational programming style by implementing syntactic manipulation algorithms (Chapter 13). Theoretical foundations are introduced in Chapter 17 (term rewriting systems, herein called term reduction systems). In Chapter 19 the author raises the question of a universal equational machine language and discusses the suitability of different variants of the combinator calculus for this purpose. Implementation issues are covered in Chapters 18 and 20 focused around algorithms for efficient pattern matching, sequencing and reduction. Aspects of design and coordination of the syntactic processors are presented as well.

Iteration Theories

Iteration Theories PDF Author: Stephen L. Bloom
Publisher: Springer Science & Business Media
ISBN: 3642780342
Category : Computers
Languages : en
Pages : 636

Get Book Here

Book Description
This monograph contains the results of our joint research over the last ten years on the logic of the fixed point operation. The intended au dience consists of graduate students and research scientists interested in mathematical treatments of semantics. We assume the reader has a good mathematical background, although we provide some prelimi nary facts in Chapter 1. Written both for graduate students and research scientists in theoret ical computer science and mathematics, the book provides a detailed investigation of the properties of the fixed point or iteration operation. Iteration plays a fundamental role in the theory of computation: for example, in the theory of automata, in formal language theory, in the study of formal power series, in the semantics of flowchart algorithms and programming languages, and in circular data type definitions. It is shown that in all structures that have been used as semantical models, the equational properties of the fixed point operation are cap tured by the axioms describing iteration theories. These structures include ordered algebras, partial functions, relations, finitary and in finitary regular languages, trees, synchronization trees, 2-categories, and others.

Equational Programming

Equational Programming PDF Author: Nachum Dershowitz
Publisher:
ISBN:
Category : Functional programming languages
Languages : en
Pages : 60

Get Book Here

Book Description


Logic, Programming and Prolog

Logic, Programming and Prolog PDF Author: Ulf Nilsson
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 308

Get Book Here

Book Description
What sets this book apart from others on logic programming is the breadth of its coverage. The authors have achieved a fine balance between a clear and authoritative treatment of the theory and a practical, problem-solving approach to its applications. This edition introduces major new developments in a continually evolving field and includes such topics as concurrency and equational and constraint logic programming.

All About Maude - A High-Performance Logical Framework

All About Maude - A High-Performance Logical Framework PDF Author: Manuel Clavel
Publisher: Springer
ISBN: 3540719997
Category : Computers
Languages : en
Pages : 799

Get Book Here

Book Description
Maude is a language and system based on rewriting logic. In this comprehensive account, you’ll discover how Maude and its formal tool environment can be used in three mutually reinforcing ways: as a declarative programming language, as an executable formal specification language, and as a formal verification system. Examples used throughout the book illustrate key concepts, features, and the many practical uses of Maude.

Handbook of Logic in Artificial Intelligence and Logic Programming: Volume 5: Logic Programming

Handbook of Logic in Artificial Intelligence and Logic Programming: Volume 5: Logic Programming PDF Author: Dov M. Gabbay
Publisher: Clarendon Press
ISBN: 0191546283
Category : Computers
Languages : en
Pages : 818

Get Book Here

Book Description
The Handbook of Logic in Artificial Intelligence and Logic Programming is a multi-volume work covering all major areas of the application of logic to artificial intelligence and logic programming. The authors are chosen on an international basis and are leaders in the fields covered. Volume 5 is the last in this well-regarded series. Logic is now widely recognized as one of the foundational disciplines of computing. It has found applications in virtually all aspects of the subject, from software and hardware engineering to programming languages and artificial intelligence. In response to the growing need for an in-depth survey of these applications the Handbook of Logic in Artificial Intelligence and its companion, the Handbook of Logic in Computer Science have been created. The Handbooks are a combination of authoritative exposition, comprehensive survey, and fundamental research exploring the underlying themes in the various areas. Some mathematical background is assumed, and much of the material will be of interest to logicians and mathematicians. Volume 5 focuses particularly on logic programming. The chapters, which in many cases are of monograph length and scope, emphasize possible unifying themes.

Semantics of Programming Languages

Semantics of Programming Languages PDF Author: Carl A. Gunter
Publisher: MIT Press
ISBN: 9780262570954
Category : Computers
Languages : en
Pages : 450

Get Book Here

Book Description
Semantics of Programming Languages exposes the basic motivations and philosophy underlying the applications of semantic techniques in computer science. It introduces the mathematical theory of programming languages with an emphasis on higher-order functions and type systems. Designed as a text for upper-level and graduate-level students, the mathematically sophisticated approach will also prove useful to professionals who want an easily referenced description of fundamental results and calculi. Basic connections between computational behavior, denotational semantics, and the equational logic of functional programs are thoroughly and rigorously developed. Topics covered include models of types, operational semantics, category theory, domain theory, fixed point (denotational). semantics, full abstraction and other semantic correspondence criteria, types and evaluation, type checking and inference, parametric polymorphism, and subtyping. All topics are treated clearly and in depth, with complete proofs for the major results and numerous exercises.

The Formal Semantics of Programming Languages

The Formal Semantics of Programming Languages PDF Author: Glynn Winskel
Publisher: MIT Press
ISBN: 9780262731034
Category : Computers
Languages : en
Pages : 388

Get Book Here

Book Description
The Formal Semantics of Programming Languages provides the basic mathematical techniques necessary for those who are beginning a study of the semantics and logics of programming languages. These techniques will allow students to invent, formalize, and justify rules with which to reason about a variety of programming languages. Although the treatment is elementary, several of the topics covered are drawn from recent research, including the vital area of concurency. The book contains many exercises ranging from simple to miniprojects.Starting with basic set theory, structural operational semantics is introduced as a way to define the meaning of programming languages along with associated proof techniques. Denotational and axiomatic semantics are illustrated on a simple language of while-programs, and fall proofs are given of the equivalence of the operational and denotational semantics and soundness and relative completeness of the axiomatic semantics. A proof of Godel's incompleteness theorem, which emphasizes the impossibility of achieving a fully complete axiomatic semantics, is included. It is supported by an appendix providing an introduction to the theory of computability based on while-programs. Following a presentation of domain theory, the semantics and methods of proof for several functional languages are treated. The simplest language is that of recursion equations with both call-by-value and call-by-name evaluation. This work is extended to lan guages with higher and recursive types, including a treatment of the eager and lazy lambda-calculi. Throughout, the relationship between denotational and operational semantics is stressed, and the proofs of the correspondence between the operation and denotational semantics are provided. The treatment of recursive types - one of the more advanced parts of the book - relies on the use of information systems to represent domains. The book concludes with a chapter on parallel programming languages, accompanied by a discussion of methods for specifying and verifying nondeterministic and parallel programs.

Dynamic Logic

Dynamic Logic PDF Author: David Harel
Publisher: MIT Press
ISBN: 9780262263023
Category : Computers
Languages : en
Pages : 492

Get Book Here

Book Description
This book provides the first comprehensive introduction to Dynamic Logic. Among the many approaches to formal reasoning about programs, Dynamic Logic enjoys the singular advantage of being strongly related to classical logic. Its variants constitute natural generalizations and extensions of classical formalisms. For example, Propositional Dynamic Logic (PDL) can be described as a blend of three complementary classical ingredients: propositional calculus, modal logic, and the algebra of regular events. In First-Order Dynamic Logic (DL), the propositional calculus is replaced by classical first-order predicate calculus. Dynamic Logic is a system of remarkable unity that is theoretically rich as well as of practical value. It can be used for formalizing correctness specifications and proving rigorously that those specifications are met by a particular program. Other uses include determining the equivalence of programs, comparing the expressive power of various programming constructs, and synthesizing programs from specifications. This book provides the first comprehensive introduction to Dynamic Logic. It is divided into three parts. The first part reviews the appropriate fundamental concepts of logic and computability theory and can stand alone as an introduction to these topics. The second part discusses PDL and its variants, and the third part discusses DL and its variants. Examples are provided throughout, and exercises and a short historical section are included at the end of each chapter.

Logics of Programs

Logics of Programs PDF Author: Rohit Parikh
Publisher: Springer Science & Business Media
ISBN: 9783540156482
Category : Computers
Languages : en
Pages : 434

Get Book Here

Book Description