Programming with Higher-Order Logic
Formal systems that describe computations over syntactic structures occur frequently in computer science. Logic programming provides a natural framework for encoding and animating such systems. However, these systems often embody variable binding, a notion that must be treated carefully at a computational level. This book aims to show that a programming language based on a simply typed version of higher-order logic provides an elegant, declarative means for providing such a treatment. Three broad topics are covered in pursuit of this goal. First, a proof-theoretic framework that supports a general view of logic programming is identified. Second, an actual language called λProlog is developed by applying this view to higher-order logic. Finally, a methodology for programming with specifications is exposed by showing how several computations over formal objects such as logical formulas, functional programs, and λ-terms and π-calculus expressions can be encoded in λProlog.
1108178159
Programming with Higher-Order Logic
Formal systems that describe computations over syntactic structures occur frequently in computer science. Logic programming provides a natural framework for encoding and animating such systems. However, these systems often embody variable binding, a notion that must be treated carefully at a computational level. This book aims to show that a programming language based on a simply typed version of higher-order logic provides an elegant, declarative means for providing such a treatment. Three broad topics are covered in pursuit of this goal. First, a proof-theoretic framework that supports a general view of logic programming is identified. Second, an actual language called λProlog is developed by applying this view to higher-order logic. Finally, a methodology for programming with specifications is exposed by showing how several computations over formal objects such as logical formulas, functional programs, and λ-terms and π-calculus expressions can be encoded in λProlog.
57.99 In Stock
Programming with Higher-Order Logic

Programming with Higher-Order Logic

Programming with Higher-Order Logic

Programming with Higher-Order Logic

Hardcover

$57.99 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Formal systems that describe computations over syntactic structures occur frequently in computer science. Logic programming provides a natural framework for encoding and animating such systems. However, these systems often embody variable binding, a notion that must be treated carefully at a computational level. This book aims to show that a programming language based on a simply typed version of higher-order logic provides an elegant, declarative means for providing such a treatment. Three broad topics are covered in pursuit of this goal. First, a proof-theoretic framework that supports a general view of logic programming is identified. Second, an actual language called λProlog is developed by applying this view to higher-order logic. Finally, a methodology for programming with specifications is exposed by showing how several computations over formal objects such as logical formulas, functional programs, and λ-terms and π-calculus expressions can be encoded in λProlog.

Product Details

ISBN-13: 9780521879408
Publisher: Cambridge University Press
Publication date: 06/11/2012
Pages: 320
Product dimensions: 6.20(w) x 9.10(h) x 0.70(d)

About the Author

Dale Miller is currently Director of Research at INRIA-Saclay where he is the Scientific Leader of the Parsifal team. He has been a professor at the University of Pennsylvania, Pennsylvania State University and the École Polytechnique, France. Miller is the Editor-in-Chief of the ACM Transactions on Computational Logic and has editorial duties on several other journals. He was awarded an ERC Advanced Investigators Grant in 2011 and is the recipient of the 2011 Test-of-Time award of the IEEE Symposium on Logic in Computer Science. He works on many topics in the general area of computational logic, including automated reasoning, logic programming, proof theory, unification theory, operational semantics and, most recently, proof certificates.

Gopalan Nadathur is Professor of Computer Science at the University of Minnesota. He has previously held faculty appointments at Duke University, the University of Chicago and Loyola University Chicago. Nadathur's research interests span the areas of computational logic, programming languages and logic programming. His work has been regularly funded by the National Science Foundation and has appeared in publications such as the Journal of the Association of Computing Machinery, Information and Computation, Logic and Computation, the Journal of Automated Reasoning and Theory and Practice of Logic Programming.

Table of Contents

1. First-order terms and representations of data; 2. First-order horn clauses; 3. First-order hereditary Harrop formulas; 4. Typed lambda terms and formulas; 5. Using quantification at higher-order types; 6. Mechanisms for structuring large programs; 7. Computations over λ-terms; 8. Unification of λ-terms; 9. Implementing proof systems; 10. Computations over functional programs; 11. Encoding a process calculus language; Appendix: the Teyjus system.
From the B&N Reads Blog

Customer Reviews