{"product_id":"9781139506298","title":"Programming with Higher-Order Logic","description":"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.","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":47121982718192,"sku":"9781139506298","price":64.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0737\/7593\/9824\/files\/9781139506298_p0.jpg?v=1763700146","url":"https:\/\/shop-qa.barnesandnoble.com\/products\/9781139506298","provider":"Barnes \u0026 Noble (DEV)","version":"1.0","type":"link"}