Programming with Higher-Order Logic
Dale Miller author Gopalan Nadathur author
Format:Hardback
Publisher:Cambridge University Press
Published:11th Jun '12
Currently unavailable, and unfortunately no date known when it will be back

A programming language based on a higher-order logic provides a declarative approach to capturing computations involving types, proofs and other syntactic structures.
Formal systems in computer science frequently involve specifications of computations over syntactic structures. In this book, the authors develop a programming language based on a simply typed version of higher-order logic and show that it provides an elegant approach to performing computations over structures embodying binding.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.
'… I am impressed with the depth of the discussion and the clearly well-produced book. The authors have argued successfully for the power and versatility of the fundamental ideas underlying λProlog.' Sara Kalvala, Computing Reviews
ISBN: 9780521879408
Dimensions: 235mm x 158mm x 19mm
Weight: 550g
320 pages