|
|
|
|
LEADER |
00000cam a2200000 a 4500 |
001 |
EBSCO_ocn796804053 |
003 |
OCoLC |
005 |
20231017213018.0 |
006 |
m o d |
007 |
cr cnu---unuuu |
008 |
120626s2012 enk ob 001 0 eng d |
040 |
|
|
|a N$T
|b eng
|e pn
|c N$T
|d IDEBK
|d EBLCP
|d MERUC
|d TXA
|d CDX
|d OCLCO
|d UKMGB
|d OCLCQ
|d OCLCF
|d OCLCQ
|d COO
|d DEBSZ
|d OCLCQ
|d ESU
|d UUM
|d CEF
|d AU@
|d OCLCQ
|d UKAHL
|d OCLCQ
|d S8J
|d OCLCQ
|d K6U
|d LUN
|d OCLCQ
|d OCLCO
|d OCLCQ
|d OCLCO
|d OCLCQ
|d OCLCO
|
066 |
|
|
|c (S
|
016 |
7 |
|
|a 016107922
|2 Uk
|
019 |
|
|
|a 795895708
|a 798612931
|a 817090795
|a 1167498897
|
020 |
|
|
|a 9781139518420
|q (electronic bk.)
|
020 |
|
|
|a 1139518429
|q (electronic bk.)
|
020 |
|
|
|a 9781139516570
|q (electronic bk.)
|
020 |
|
|
|a 1139516574
|q (electronic bk.)
|
020 |
|
|
|a 1280775084
|
020 |
|
|
|a 9781280775086
|
020 |
|
|
|a 9781139514927
|
020 |
|
|
|a 113951492X
|
020 |
|
|
|z 9780521879408
|
020 |
|
|
|z 052187940X
|
020 |
|
|
|a 9781139021326
|q (ebook)
|
020 |
|
|
|a 113902132X
|
024 |
8 |
|
|a 9786613685476
|
029 |
1 |
|
|a DEBSZ
|b 431152152
|
029 |
1 |
|
|a NLGGC
|b 343622815
|
029 |
1 |
|
|a DKDLA
|b 820120-katalog:9910052622305765
|
035 |
|
|
|a (OCoLC)796804053
|z (OCoLC)795895708
|z (OCoLC)798612931
|z (OCoLC)817090795
|z (OCoLC)1167498897
|
037 |
|
|
|a 368547
|b MIL
|
050 |
|
4 |
|a QA76.63
|b .M554 2012eb
|
072 |
|
7 |
|a COM
|x 051390
|2 bisacsh
|
072 |
|
7 |
|a COM
|x 051230
|2 bisacsh
|
072 |
|
7 |
|a COM
|x 051440
|2 bisacsh
|
072 |
|
7 |
|a UYA
|2 bicssc
|
072 |
|
7 |
|a COM
|2 eflch
|
082 |
0 |
4 |
|a 005.1/15
|2 23
|
084 |
|
|
|a COM051010
|2 bisacsh
|
049 |
|
|
|a UAMI
|
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 :
|b Cambridge University Press,
|c 2012.
|
300 |
|
|
|a 1 online resource
|
336 |
|
|
|a text
|b txt
|2 rdacontent
|
337 |
|
|
|a computer
|b c
|2 rdamedia
|
338 |
|
|
|a online resource
|b cr
|2 rdacarrier
|
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"--
|c Provided by publisher
|
504 |
|
|
|a Includes bibliographical references and index.
|
505 |
0 |
|
|a Introduction -- 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.
|
588 |
0 |
|
|a Print version record.
|
590 |
|
|
|a eBooks on EBSCOhost
|b EBSCO eBook Subscription Academic Collection - Worldwide
|
650 |
|
0 |
|a Logic programming.
|
650 |
|
0 |
|a Prolog (Computer program language)
|
650 |
|
4 |
|a Logic programming.
|
650 |
|
4 |
|a Prolog (Computer program language)
|
650 |
|
6 |
|a Programmation logique.
|
650 |
|
6 |
|a Prolog (Langage de programmation)
|
650 |
|
7 |
|a COMPUTERS
|x Programming Languages
|x General.
|2 bisacsh
|
650 |
|
7 |
|a COMPUTERS
|x Programming
|x Open Source.
|2 bisacsh
|
650 |
|
7 |
|a COMPUTERS
|x Software Development & Engineering
|x General.
|2 bisacsh
|
650 |
|
7 |
|a COMPUTERS
|x Software Development & Engineering
|x Tools.
|2 bisacsh
|
650 |
|
7 |
|a Logic programming
|2 fast
|
650 |
|
7 |
|a Prolog (Computer program language)
|2 fast
|
700 |
1 |
|
|a Nadathur, Gopalan.
|
776 |
0 |
8 |
|i Print version:
|a Miller, Dale (Dale A.).
|t Programming with higher-order logic.
|d Cambridge : Cambridge University Press, 2012
|z 9780521879408
|w (DLC) 2012016719
|w (OCoLC)774491609
|
856 |
4 |
0 |
|u https://ebsco.uam.elogim.com/login.aspx?direct=true&scope=site&db=nlebk&AN=458666
|z Texto completo
|
880 |
0 |
|
|6 505-00/(S
|a Cover -- Programming with Higher-Order Logic -- Title -- Copyright -- Contents -- Preface -- Introduction -- I.1 Connections between logic and computation -- I.2 Logical primitives and programming expressivity -- I.3 The meaning of higher-order logic -- I.4 Presentation style -- I.5 Prerequisites -- I.6 Organization of the book -- 1: First-Order Terms and Representations of Data -- 1.1 Sorts and type constructors -- 1.2 Type expressions -- 1.3 Typed first-order terms -- 1.4 Representing symbolic objects -- 1.5 Unification of typed first-order terms -- 1.6 Bibliographic notes -- 2 First-Order Horn Clauses -- 2.1 First-order formulas -- 2.2 Logic programming and search semantics -- 2.3 Horn clauses and their computational interpretation -- 2.4 Programming with first-order Horn clauses -- 2.4.1 Concrete syntax for program clauses -- 2.4.2 Interacting with the λProlog system -- The read phase -- The prove phase -- The print phase -- Multiple solutions -- 2.4.3 Reachability in a finite-state machine -- 2.4.4 Defining relations over recursively structured data -- 2.4.5 Programming over abstract syntax representations -- 2.5 Pragmatic aspects of computing with Horn clauses -- 2.6 The relationship with logical notions -- 2.6.1 The cut rule and cut-elimination -- 2.6.2 Different presentations of fohc -- 2.7 The meaning and use of types -- 2.7.1 Types and the categorization of expressions -- 2.7.2 Polymorphic typing -- 2.7.3 Type checking and type inference -- 2.7.4 Types and run-time computations -- 2.8 Bibliographic notes -- 3: First-Order Hereditary Harrop Formulas -- 3.1 The syntax of goals and program clauses -- 3.2 Implicational goals -- 3.2.1 Inferences among propositional clauses -- 3.2.2 Hypothetical reasoning -- 3.3 Universally quantified goals -- 3.3.1 Substitution and quantification -- 3.3.2 Quantification can link goals and clauses.
|
880 |
8 |
|
|6 505-00/(S
|a 3.4 The relationship with logical notions -- 3.4.1 Classical versus intuitionistic logic -- 3.4.2 Intuitionistic versus minimal logic -- 3.4.3 Notable subsets of fohh -- 3.5 Bibliographic notes -- 4: Typed λ-Terms and Formulas -- 4.1 Syntax for λ-terms and formulas -- 4.2 The rules of λ-conversion -- 4.3 Some properties of λ-conversion -- 4.4 Unification problems as quantified equalities -- 4.4.1 Simplifying quantifier prefixes -- 4.4.2 Unifiers, solutions, and empty types -- 4.4.3 Examples of unification problems and their solutions -- 4.5 Solving unification problems -- 4.6 Some hard unification problems -- 4.6.1 Solving Post correspondence problems -- 4.6.2 Solving Diophantine equations -- 4.7 Bibliographic notes -- 5 Using Quantification at Higher-Order Types -- 5.1 Atomic formulas in higher-order logic programs -- 5.1.1 Flexible atoms as heads of clauses -- 5.1.2 Logical symbols within atomic formulas -- 5.2 Higher-order logic programming languages -- 5.2.1 Higher-order Horn clauses -- 5.2.2 Higher-order hereditary Harrop formulas -- 5.2.3 Extended higher-order hereditary Harrop formulas -- 5.3 Examples of higher-order programming -- 5.4 Flexible atoms as goals -- 5.5 Reasoning about higher-order programs -- 5.6 Defining some of the logical constants -- 5.7 The conditional and negation-as-failure -- 5.8 Using λ-terms as functions -- 5.8.1 Some basic computations with functional expressions -- 5.8.2 Functional difference lists -- 5.9 Higher-order unification is not a panacea -- 5.10 Comparison with functional programming -- 5.11 Bibliographic notes -- 6: Mechanisms for Structuring Large Programs -- 6.1 Desiderata for modular programming -- 6.2 A modules language -- 6.3 Matching signatures and modules -- 6.4 The logical interpretation of modules -- 6.4.1 Existential quantification in program clauses -- 6.4.2 A module as a logical formula.
|
880 |
8 |
|
|6 505-00/(S
|a 6.4.3 Interpreting queries against modules -- 6.4.4 Module accumulation as scoped inlining of code -- 6.5 Some programming aspects of the modules language -- 6.5.1 Hiding and abstract datatypes -- 6.5.2 Code extensibility and modular composition -- 6.5.3 Signature accumulation and parametrization of modules -- 6.5.4 Higher-order programming and predicate visibility -- 6.6 Implementation considerations -- 6.7 Bibliographic notes -- 7: Computations over λ-Terms -- 7.1 Representing objects with binding structure -- 7.1.1 Encoding logical formulas with quantifiers -- 7.1.2 Encoding untyped λ-terms -- 7.1.3 Properties of the encoding of binding -- 7.2 Realizing object-level substitution -- 7.3 Mobility of binders -- 7.4 Computing with untyped λ-terms -- 7.4.1 Computing normal forms -- 7.4.2 Reduction based on paths through terms -- 7.4.3 Type inference -- 7.4.4 Translating to and from de Bruijn syntax -- 7.5 Computations over first-order formulas -- 7.6 Specifying object-level substitution -- 7.7 The λ-tree approach to abstract syntax -- 7.8 The Lλ subset of λProlog -- 7.9 Bibliographic notes -- 8: Unification of λ-terms -- 8.1 Properties of the higher-order unification problem -- 8.2 A procedure for checking for unifiability -- 8.2.1 Simplification of rigid-rigid equations -- 8.2.2 Substitutions for equations between flexible and rigid terms -- 8.2.3 The iterative transformation of unification problems -- 8.2.4 Unification problems with only flexible-flexible equations -- 8.2.5 Nontermination of reductions -- 8.2.6 Matching trees -- 8.3 Higher-order pattern unification -- 8.4 Pragmatic aspects of higher-order unification -- 8.5 Bibliographic notes -- 9: Implementing Proof Systems -- 9.1 Deduction in propositional intuitionistic logic -- 9.2 Encoding natural deduction for intuitionistic logic -- 9.3 A theorem prover for classical logic.
|
880 |
8 |
|
|6 505-00/(S
|a 9.4 A general architecture for theorem provers -- 9.4.1 Goals and tactics -- 9.4.2 Combining tactics into proof strategies -- 9.5 Bibliographic notes -- 10: Computations over Functional Programs -- 10.1 The miniFP programming language -- 10.2 Specifying evaluation for miniFP programs -- 10.2.1 A big-step-style specification -- 10.2.2 A specification using evaluation contexts -- 10.3 Manipulating functional programs -- 10.3.1 Partial evaluation of miniFP programs -- 10.3.2 Transformation to continuation passing style -- 10.4 Bibliographic notes -- 11: Encoding a Process Calculus Language -- 11.1 Representing the expressions of the π-calculus -- 11.2 Specifying one-step transitions -- 11.3 Animating π-calculus expressions -- 11.4 May- versus must-judgments -- 11.5 Mapping the λ-calculus into the π-calculus -- 11.6 Bibliographic notes -- Appendix: The Teyjus system -- A.1 An overview of the Teyjus system -- A.2 Interacting with the Teyjus system -- A.3 Using modules within the Teyjus system -- A.4 Special features of the Teyjus system -- A.4.1 Built-in types and predicates -- A.4.2 Deviations from the language assumed in this book -- Bibliography -- Index.
|
938 |
|
|
|a Askews and Holts Library Services
|b ASKH
|n AH24076458
|
938 |
|
|
|a Askews and Holts Library Services
|b ASKH
|n AH37563167
|
938 |
|
|
|a Askews and Holts Library Services
|b ASKH
|n AH33350540
|
938 |
|
|
|a Coutts Information Services
|b COUT
|n 22677167
|c 37.50 GBP
|
938 |
|
|
|a ProQuest Ebook Central
|b EBLB
|n EBL944707
|
938 |
|
|
|a EBSCOhost
|b EBSC
|n 458666
|
938 |
|
|
|a ProQuest MyiLibrary Digital eBook Collection
|b IDEB
|n 368547
|
994 |
|
|
|a 92
|b IZTAP
|