The Haskell road to logic, maths and programming:
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
London
King's College
2004
|
Schriftenreihe: | Texts in computing
4 |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | X, 426 S. graph. Darst. |
ISBN: | 0954300696 |
Internformat
MARC
LEADER | 00000nam a2200000 cb4500 | ||
---|---|---|---|
001 | BV019656476 | ||
003 | DE-604 | ||
005 | 20220923 | ||
007 | t | ||
008 | 050113s2004 d||| |||| 00||| eng d | ||
020 | |a 0954300696 |9 0-9543006-9-6 | ||
035 | |a (OCoLC)57230131 | ||
035 | |a (DE-599)BVBBV019656476 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-91G |a DE-188 | ||
050 | 0 | |a QA9 | |
082 | 0 | |a 005.115 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 600 |0 (DE-625)143681: |2 rvk | ||
084 | |a ST 125 |0 (DE-625)143586: |2 rvk | ||
100 | 1 | |a Doets, Kees |e Verfasser |4 aut | |
245 | 1 | 0 | |a The Haskell road to logic, maths and programming |c Kees Doets ; Jan van Eijck |
264 | 1 | |a London |b King's College |c 2004 | |
300 | |a X, 426 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 1 | |a Texts in computing |v 4 | |
650 | 7 | |a Functionele programmering |2 gtt | |
650 | 7 | |a Haskell (programmeertaal) |2 gtt | |
650 | 7 | |a Logica |2 gtt | |
650 | 7 | |a Wiskunde |2 gtt | |
650 | 4 | |a Logik | |
650 | 4 | |a Mathematik | |
650 | 4 | |a Logic programming | |
650 | 4 | |a Logic, Symbolic and mathematical | |
650 | 0 | 7 | |a Logik |0 (DE-588)4036202-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a HASKELL |0 (DE-588)4318275-6 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Logik |0 (DE-588)4036202-4 |D s |
689 | 0 | 1 | |a HASKELL |0 (DE-588)4318275-6 |D s |
689 | 0 | |8 1\p |5 DE-604 | |
700 | 1 | |a Eijck, Jan van |d 1951- |e Verfasser |0 (DE-588)112411223 |4 aut | |
830 | 0 | |a Texts in computing |v 4 |w (DE-604)BV019656459 |9 4 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=012984988&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-012984988 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804133034197254144 |
---|---|
adam_text | Contents
Preface v
1 Getting Started 1
1.1 Starting up the Haskell Interpreter................ 2
1.2 Implementing a Prime Number Test............... 3
1.3 Haskell Type Declarations..................... 8
1.4 Identifiers in Haskell........................ 11
1.5 Playing the Haskell Game .................... 12
1.6 Haskell Types............................ 17
1.7 The Prime Factorization Algorithm................ 19
1.8 The map and filter Functions................. 20
1.9 Haskell Equations and Equational Reasoning.......... 23
1.10 Further Reading.......................... 25
2 Talking about Mathematical Objects 27
2.1 Logical Connectives and their Meanings............. 28
2.2 Logical Validity and Related Notions.............. 38
2.3 Making Symbolic Form Explicit................. 49
2.4 Lambda Abstraction........................ 57
2.5 Definitions and Implementations................. 59
2.6 Abstract Formulas and Concrete Structures........... 60
2.7 Logical Handling of the Quantifiers............... 62
2.8 Quantifiers as Procedures..................... 67
2.9 Further Reading .......................... 69
3 The Use of Logic: Proof 71
3.1 Proof Style............................. 72
3.2 Proof Recipes............................ 75
3.3 Rules for the Connectives..................... 78
3.4 Rules for the Quantifiers..................... 89
CONTENTS
3.5 Summary of the Proof Recipes.................. 94
3.6 Some Strategic Guidelines..................... 97
3.7 Reasoning and Computation with Primes............ 101
3.8 Further Reading .......................... 110
Sets, Types and Lists 111
4.1 Let s Talk About Sets....................... 112
4.2 Paradoxes, Types and Type Classes............... 119
4.3 Special Sets............................. 123
4.4 Algebra of Sets .......................... 125
4.5 Pairs and Products......................... 133
4.6 Lists and List Operations..................... 136
4.7 List Comprehension and Database Query............ 141
4.8 Using Lists to Represent Sets .................. 146
4.9 A Data Type for Sets....................... 149
4.10 Further Reading .......................... 155
Relations 157
5.1 Relations as Sets of Ordered Pairs................ 157
5.2 Properties of Relations....................... 162
5.3 Implementing Relations as Sets of Pairs ............ 171
5.4 Implementing Relations as Functions............... 178
5.5 Equivalence Relations....................... 183
5.6 Equivalence Classes and Partitions................ 187
5.7 Integer Partitions.......................... 196
5.8 Further Reading .......................... 199
Functions 201
6.1 Basic Notions............................ 202
6.2 Surjections, Injections, Bijections................. 213
6.3 Function Composition....................... 217
6.4 Inverse Function.......................... 220
6.5 Partial Functions.......................... 224
6.6 Functions as Partitions....................... 226
6.7 Products............................... 228
6.8 Congruences ............................ 229
6.9 Further Reading .......................... 231
Induction and Recursion 233
7.1 Mathematical Induction...................... 233
7.2 Recursion over the Natural Numbers............... 239
7.3 The Nature of Recursive Definitions............... 245
CONTENTS iii
7.4 Induction and Recursion over Trees............... 249
7.5 Induction and Recursion over Lists ............... 258
7.6 Some Variations on the Tower of Hanoi............ 266
7.7 Other Data Structures....................... 274
7.8 Further Reading .......................... 277
8 Working with Numbers 279
8.1 Natural Numbers.......................... 279
8.2 GCD and the Fundamental Theorem of Arithmetic...... 283
8.3 Integers............................... 287
8.4 Implementing Integer Arithmetic................. 291
8.5 Rational Numbers......................... 293
8.6 Implementing Rational Arithmetic................ 299
8.7 Irrational Numbers......................... 303
8.8 The Mechanic s Rule ....................... 306
8.9 Reasoning about Reals....................... 308
8.10 Complex Numbers......................... 313
8.11 Further Reading .......................... 322
9 Polynomials 323
9.1 Difference Analysis of Polynomial Sequences.......... 323
9.2 Gaussian Elimination........................ 328
9.3 Polynomials and the Binomial Theorem............. 336
9.4 Polynomials for Combinatorial Reasoning............ 343
9.5 Further Reading .......................... 350
10 Corecursion 351
10.1 Corecursive Definitions ...................... 352
10.2 Processes and Labeled Transition Systems ........... 355
10.3 Proof by Approximation...................... 361
10.4 Proof by Coinduction....................... 368
10.5 Power Series and Generating Functions............. 373
10.6 Exponential Generating Functions ................ 384
10.7 Further Reading .......................... 387
11 Finite and Infinite Sets 389
11.1 More on Mathematical Induction................. 389
11.2 Equipollence............................ 396
11.3 Infinite Sets............................. 400
11.4 Cantor s World Implemented................... 406
11.5 Cardinal Numbers......................... 408
iv CONTENTS
The Greek Alphabet 411
References 412
Index 416
|
any_adam_object | 1 |
author | Doets, Kees Eijck, Jan van 1951- |
author_GND | (DE-588)112411223 |
author_facet | Doets, Kees Eijck, Jan van 1951- |
author_role | aut aut |
author_sort | Doets, Kees |
author_variant | k d kd j v e jv jve |
building | Verbundindex |
bvnumber | BV019656476 |
callnumber-first | Q - Science |
callnumber-label | QA9 |
callnumber-raw | QA9 |
callnumber-search | QA9 |
callnumber-sort | QA 19 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 250 ST 600 ST 125 |
ctrlnum | (OCoLC)57230131 (DE-599)BVBBV019656476 |
dewey-full | 005.115 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.115 |
dewey-search | 005.115 |
dewey-sort | 15.115 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01934nam a2200529 cb4500</leader><controlfield tag="001">BV019656476</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20220923 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">050113s2004 d||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0954300696</subfield><subfield code="9">0-9543006-9-6</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)57230131</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV019656476</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield><subfield code="a">DE-188</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA9</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.115</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 600</subfield><subfield code="0">(DE-625)143681:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 125</subfield><subfield code="0">(DE-625)143586:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Doets, Kees</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">The Haskell road to logic, maths and programming</subfield><subfield code="c">Kees Doets ; Jan van Eijck</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">London</subfield><subfield code="b">King's College</subfield><subfield code="c">2004</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">X, 426 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">Texts in computing</subfield><subfield code="v">4</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Functionele programmering</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Haskell (programmeertaal)</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Logica</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Wiskunde</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Logik</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Mathematik</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Logic programming</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Logic, Symbolic and mathematical</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Logik</subfield><subfield code="0">(DE-588)4036202-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">HASKELL</subfield><subfield code="0">(DE-588)4318275-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Logik</subfield><subfield code="0">(DE-588)4036202-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">HASKELL</subfield><subfield code="0">(DE-588)4318275-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Eijck, Jan van</subfield><subfield code="d">1951-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)112411223</subfield><subfield code="4">aut</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Texts in computing</subfield><subfield code="v">4</subfield><subfield code="w">(DE-604)BV019656459</subfield><subfield code="9">4</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=012984988&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-012984988</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV019656476 |
illustrated | Illustrated |
indexdate | 2024-07-09T20:02:18Z |
institution | BVB |
isbn | 0954300696 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-012984988 |
oclc_num | 57230131 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM DE-188 |
owner_facet | DE-91G DE-BY-TUM DE-188 |
physical | X, 426 S. graph. Darst. |
publishDate | 2004 |
publishDateSearch | 2004 |
publishDateSort | 2004 |
publisher | King's College |
record_format | marc |
series | Texts in computing |
series2 | Texts in computing |
spelling | Doets, Kees Verfasser aut The Haskell road to logic, maths and programming Kees Doets ; Jan van Eijck London King's College 2004 X, 426 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier Texts in computing 4 Functionele programmering gtt Haskell (programmeertaal) gtt Logica gtt Wiskunde gtt Logik Mathematik Logic programming Logic, Symbolic and mathematical Logik (DE-588)4036202-4 gnd rswk-swf HASKELL (DE-588)4318275-6 gnd rswk-swf Logik (DE-588)4036202-4 s HASKELL (DE-588)4318275-6 s 1\p DE-604 Eijck, Jan van 1951- Verfasser (DE-588)112411223 aut Texts in computing 4 (DE-604)BV019656459 4 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=012984988&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Doets, Kees Eijck, Jan van 1951- The Haskell road to logic, maths and programming Texts in computing Functionele programmering gtt Haskell (programmeertaal) gtt Logica gtt Wiskunde gtt Logik Mathematik Logic programming Logic, Symbolic and mathematical Logik (DE-588)4036202-4 gnd HASKELL (DE-588)4318275-6 gnd |
subject_GND | (DE-588)4036202-4 (DE-588)4318275-6 |
title | The Haskell road to logic, maths and programming |
title_auth | The Haskell road to logic, maths and programming |
title_exact_search | The Haskell road to logic, maths and programming |
title_full | The Haskell road to logic, maths and programming Kees Doets ; Jan van Eijck |
title_fullStr | The Haskell road to logic, maths and programming Kees Doets ; Jan van Eijck |
title_full_unstemmed | The Haskell road to logic, maths and programming Kees Doets ; Jan van Eijck |
title_short | The Haskell road to logic, maths and programming |
title_sort | the haskell road to logic maths and programming |
topic | Functionele programmering gtt Haskell (programmeertaal) gtt Logica gtt Wiskunde gtt Logik Mathematik Logic programming Logic, Symbolic and mathematical Logik (DE-588)4036202-4 gnd HASKELL (DE-588)4318275-6 gnd |
topic_facet | Functionele programmering Haskell (programmeertaal) Logica Wiskunde Logik Mathematik Logic programming Logic, Symbolic and mathematical HASKELL |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=012984988&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
volume_link | (DE-604)BV019656459 |
work_keys_str_mv | AT doetskees thehaskellroadtologicmathsandprogramming AT eijckjanvan thehaskellroadtologicmathsandprogramming |