03373nam a22004575i 4500001001800000003000900018005001700027007001500044008004100059020003700100024003500137050001700172072001600189072002300205072001500228100008000243245007100323250001800394264007200412300004500484336002600529337002600555338003600581347002400617505015300641520163500794650002902429650004202458650002402500650006602524650005802590650004302648710003402691773002602725776003602751776003602787856004602823912001402869912001502883999001702898978-981-97-2432-1DE-He21320251030112623.0cr nn 008mamaa240711s2024 si | s |||| 0|eng d a97898197243219978-981-97-2432-17 a10.1007/978-981-97-2432-12doi 4aQA75.5-76.95 7aUYA2bicssc 7aCOM0140002bisacsh 7aUYA2thema1 aLiu, Xinyu.eauthor.4aut4http://id.loc.gov/vocabulary/relators/aut98036310aMathematics in Programmingh[electronic resource] /cby Xinyu Liu. a1st ed. 2024. 1aSingapore :bSpringer Nature Singapore :bImprint: Springer,c2024. aXII, 383 p. 197 illus.bonline resource. atextbtxt2rdacontent acomputerbc2rdamedia aonline resourcebcr2rdacarrier atext filebPDF2rda0 aChapter 1 Numbers -- Chapter 2 Recursion -- Chapter 3 Symmetry -- Chapter 4 Category -- Chapter 5 Fusion -- Chapter 6 Infinity -- Chapter 7 Paradox. aThe book presents the mathematical view and tools of computer programming with broad and friendly context. It explains the basic concepts such as recursion, computation model, types, data, and etc. The book serves as an introductory and reference guide to the engineers, students, researchers, and professionals who are interested in functional programming, type system, and computer programming languages. The book covers seven topics. Firstly, it lays out the number system based on Peano Axioms and demonstrates the isomorphic computer data structures. Then, it introduces Lambda calculus as a computing model and recursion, an important programming structure, with the Y-combinator. It next presents the basic abstract algebra, including group and fields, and provides a friendly introduction to Galois theory. After that, it uses category theory as a tool to explain several concepts in computer programming, including the type system, polymorphism, null handler, and recursive data types, then followed by an application of program optimization. In the last two chapters, the author shows how to program with the concept of infinity through stream and lazy evaluation, and then explains the naïve set theory and transfinite numbers, from which the logic paradox arises. Finally, it introduces four historical views of mathematical foundation, as well as Gödel’s incompleteness theorems developed in 1930s, and how they define the boundaries of computer programming. Additionally, the book provides biographies, stories, and anecdotes of 25 mathematicians, along with over 130 exercises and their corresponding answers. 0aComputer science.958552 0aComputer sciencexMathematics.964041 0aMathematics.96552314aComputer Science Logic and Foundations of Programming.96817324aMathematical Applications in Computer Science.96551824aMathematics in Popular Science.9752522 aSpringerLink (Online service)0 tSpringer Nature eBook08iPrinted edition:z978981972431408iPrinted edition:z978981972433840uhttps://doi.org/10.1007/978-981-97-2432-1 aZDB-2-SCS aZDB-2-SXCS c61505d61505