Programming with higher-order logic

Dale Miller, Gopalan Nadathur

Research output: Book/ReportBook

106 Scopus citations


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 n-calculus expressions can be encoded in λProlog.

Original languageEnglish (US)
PublisherCambridge University Press
Number of pages306
ISBN (Electronic)9781139021326
ISBN (Print)9780521879408
StatePublished - Jan 1 2012

Bibliographical note

Publisher Copyright:
© Dale Miller and Gopalan Nadathur 2012.


Dive into the research topics of 'Programming with higher-order logic'. Together they form a unique fingerprint.

Cite this