Item Details

Programming With Higher-Order Logic

Dale Miller, Gopalan Nadathur
Format
Book
Published
Cambridge ; New York : Cambridge University Press, 2012.
Language
English
ISBN
9780521879408 (hbk.), 052187940X (hbk.)
Related Resources
Cover image Contributor biographical information Publisher description Table of contents only
Summary
"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 [Lambda]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 [lambda]-terms and [pi]-calculus expressions can be encoded in [Lambda]Prolog"--Provided by publisher.
Contents
  • First-order terms and representations of data
  • First-order horn clauses
  • First-order hereditary Harrop formulas
  • Typed [lambda] terms and formulas
  • Using quantification at higher-order types
  • Mechanisms for structuring large programs
  • Computations over [lambda]-terms
  • Unification of [lambda]-terms
  • Implementing proof systems
  • Computations over functional programs
  • Encoding a process calculus language
  • Appendix: The Teyjus system.
Description
xiii, 306 p. : ill. ; 24 cm.
Notes
Includes bibliographical references (p. 289-299) and index.
Technical Details
  • Access in Virgo Classic

  • LEADER 03102cam a2200433 a 4500
    001 u5814440
    003 SIRSI
    005 20120926133130.0
    008 120427s2012 enka b 001 0 eng
    010
      
      
    a| 2012016719
    020
      
      
    a| 9780521879408 (hbk.)
    020
      
      
    a| 052187940X (hbk.)
    035
      
      
    a| (OCoLC)774491609
    040
      
      
    a| DLC b| eng c| DLC d| YDX d| BTCTA d| OCLCO d| UKMGB d| CDX d| YDXCP d| BWX d| IUL d| PUL d| CDX
    042
      
      
    a| pcc
    050
    0
    0
    a| QA76.63 b| .M554 2012
    082
    0
    0
    a| 005.1/15 2| 23
    100
    1
      
    a| Miller, Dale q| (Dale A.)
    245
    1
    0
    a| Programming with higher-order logic / c| Dale Miller, Gopalan Nadathur.
    260
      
      
    a| Cambridge ; a| New York : b| Cambridge University Press, c| 2012.
    300
      
      
    a| xiii, 306 p. : b| ill. ; c| 24 cm.
    504
      
      
    a| Includes bibliographical references (p. 289-299) and index.
    505
    0
      
    a| First-order terms and representations of data -- First-order horn clauses -- First-order hereditary Harrop formulas -- Typed [lambda] terms and formulas -- Using quantification at higher-order types -- Mechanisms for structuring large programs -- Computations over [lambda]-terms -- Unification of [lambda]-terms -- Implementing proof systems -- Computations over functional programs -- Encoding a process calculus language -- Appendix: The Teyjus system.
    520
      
      
    a| "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 [Lambda]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 [lambda]-terms and [pi]-calculus expressions can be encoded in [Lambda]Prolog"--Provided by publisher.
    650
      
    0
    a| Logic programming.
    650
      
    0
    a| Prolog (Computer program language)
    700
    1
      
    a| Nadathur, Gopalan.
    856
    4
    2
    3| Cover image u| http://proxy01.its.virginia.edu/login?url=http://assets.cambridge.org/97805218/79408/cover/9780521879408.jpg
    856
    4
    2
    3| Contributor biographical information u| http://catdir.loc.gov/catdir/enhancements/fy1210/2012016719-b.html
    856
    4
    2
    3| Publisher description u| http://catdir.loc.gov/catdir/enhancements/fy1210/2012016719-d.html
    856
    4
    1
    3| Table of contents only u| http://catdir.loc.gov/catdir/enhancements/fy1210/2012016719-t.html
    596
      
      
    a| 5
    999
      
      
    a| QA76.63 .M554 2012 w| LC i| X030844117 l| STACKS m| SCI-ENG t| BOOK

Availability

Google Preview

Library Location Map Availability Call Number
Brown Science and Engineering Stacks N/A Available