
- English
- PDF
- Available on iOS & Android
Programming with Higher-Order Logic
About this book
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.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Table of contents
- Cover
- Programming with Higher-Order Logic
- Title
- Copyright
- Contents
- Preface
- Introduction
- 1: First-Order Terms and Representations of Data
- 2 First-Order Horn Clauses
- 3: First-Order Hereditary Harrop Formulas
- 4: Typed λ-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
- Bibliography
- Index