LEADER 04211nam 2200481 450 001 996464514903316 005 20231110213039.0 010 $a3-030-80507-7 035 $a(CKB)5340000000068516 035 $a(MiAaPQ)EBC6789946 035 $a(Au-PeEL)EBL6789946 035 $a(OCoLC)1280458632 035 $a(PPN)258297735 035 $a(EXLCZ)995340000000068516 100 $a20220715d2021 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aThinking programs $elogical modeling and reasoning about languages, data, computations, and executions /$fWolfgang Schreiner 210 1$aCham, Switzerland :$cSpringer,$d[2021] 210 4$dİ2021 215 $a1 online resource (660 pages) 225 1 $aTexts and Monographs in Symbolic Computation 311 $a3-030-80506-9 320 $aIncludes bibliographical references and index. 327 $aIntro -- Foreword -- Preface -- Motivation -- Content -- Software -- Teaching and Further Study -- Web Page and Exercises -- Acknowledgments -- Contents -- Logic for Programming: A Perspective -- Logic and Language -- Logic and Mathematics -- Logic with Computers -- Logic for Computer Science -- Logic and Software Development -- Further Reading -- Part IThe Foundations -- 1 Syntax and Semantics -- 1.1 Abstract Syntax -- 1.2 Structural Induction -- 1.3 Semantics -- 1.4 Type Systems -- 1.5 The Semantics of Typed Languages -- 2 The Language of Logic -- 2.1 First-Order Logic -- 2.2 Informal Interpretation -- 2.3 Well-Formed Terms and Formulas -- 2.4 Propositional Logic -- 2.5 Free and Bound Variables -- 2.6 Formal Semantics -- 2.7 Validity, Logical Consequence, and Logical Equivalence -- 3 The Art of Reasoning -- 3.1 Reasoning and Proofs -- 3.2 Inference Rules and Proof Trees -- 3.3 Reasoning in First Order Logic -- 3.4 Reasoning by Induction -- 4 Building Models -- 4.1 Axioms and Definitions -- 4.2 The Theory of Sets -- 4.3 Products and Sums -- 4.4 Set-Theoretic Functions and Relations -- 4.5 More Type Constructions -- 4.6 Implicit Definitions and Function Specifications -- Exercises -- Further Reading -- 5 Recursion -- 5.1 Recursive Definitions -- 5.2 Primitive Recursion -- 5.3 Least and Greatest Fixed Points -- 5.4 Defining Continuous Functions -- 5.5 Inductive and Coinductive Relation Definitions -- 5.6 Rule-Oriented Inductive and Coinductive Relation Definitions -- 5.7 Inductive and Coinductive Function Definitions -- 5.8 Inductive and Coinductive Proofs -- Part IIThe Higher Planes -- 6 Abstract Data Types -- 6.1 Introduction -- 6.2 Declarations, Signatures, and Presentations -- 6.3 Algebras, Homomorphisms, and Abstract Data Types -- 6.4 Loose Specifications -- 6.5 Generated and Free Specifications -- 6.6 Cogenerated and Cofree Specifications. 327 $a6.7 Specifying in the Large -- 6.8 Reasoning About Specifications -- 7 Programming Languages -- 7.1 Programs and Commands -- 7.2 A Denotational Semantics -- 7.3 An Operational Semantics -- 7.4 The Correctness of Translations -- 7.5 Procedures -- Further Reading -- 8 Computer Programs -- 8.1 Specifying Problems -- 8.2 Verifying Programs -- 8.3 Predicate Transformers and Commands as Relations -- 8.4 Non-abortion and Termination -- 8.5 Loop Invariants and Termination Measures -- 8.6 The Refinement of Commands -- 8.7 Reasoning About Procedures -- Further Reading -- 9 Concurrent Systems -- 9.1 Labeled Transition Systems -- 9.2 Modeling Shared Systems -- 9.3 Modeling Distributed Systems -- 9.4 Specifying System Properties -- 9.5 Verifying Invariance -- 9.6 Verifying Response -- 9.7 The Refinement of Systems -- References -- Index. 410 0$aTexts and Monographs in Symbolic Computation 606 $aLogic, Symbolic and mathematical 606 $aComputer science$xMathematics 615 0$aLogic, Symbolic and mathematical. 615 0$aComputer science$xMathematics. 676 $a005.1015113 700 $aSchreiner$b Wolfgang$f1967-$01236216 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a996464514903316 996 $aThinking programs$92900276 997 $aUNISA