ebook img

Fundamental Proof Methods in Computer Science: A Computer-Based Approach PDF

1223 Pages·2017·8.994 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Fundamental Proof Methods in Computer Science: A Computer-Based Approach

10569 Book 2017/7/6 12:42 Page i #1 Fundamental Proof Methods in Computer Science 10569 Book 2017/7/6 12:42 Page ii #2 10569 Book 2017/7/6 12:42 Page iii #3 Fundamental Proof Methods in Computer Science A Computer-Based Approach KonstantineArkoudasand DavidMusser TheMITPress Cambridge,Massachusetts London,England 10569 Book 2017/7/6 12:42 Page iv #4 ©2017MassachusettsInstituteofTechnology Allrightsreserved.Nopartofthisbookmaybereproducedinanyformorbyanyelectronicormechanicalmeans (includingphotocopying,recording,orinformationstorageandretrieval)withoutpermissioninwritingfromthe publisher. ThisbookwastypesetinLATEXbytheauthors.PrintedandboundintheUnitedStatesofAmerica. LibraryofCongressCataloging-in-PublicationData Names:Arkoudas,Konstantine,author. Musser,DavidR.,author. | Title:Fundamentalproofmethodsincomputerscience:acomputer-based approach/KonstantineArkoudasandDavidMusser. Description:Cambridge,MA:MITPress,[2017] Includesbibliographical | referencesandindex. Identifiers:LCCN2016020047 ISBN9780262035538(hardcover:alk.paper) | Subjects:LCSH:Computerscience–Mathematics. Prooftheory. | Classification:LCCQA76.9.M35A742017 DDC004.01/51–dc23LCrecordavailableat | https://lccn.loc.gov/2016020047 10 9 8 7 6 5 4 3 2 1 10569 Book 2017/7/6 12:42 Page v #5 Contents Preface xv I INTRODUCTION 1 1 AnOverviewofFundamentalProofMethods 3 1.1 Equalitychaining 3 1.2 Induction 8 1.3 Caseanalysis 10 1.4 Proofbycontradiction 12 1.5 Abstraction/specialization 13 1.6 Theusualcase:Proofmethodsincombination 15 1.7 Automatedproof 15 1.8 Structureofthebook 16 2 IntroductiontoAthena 19 2.1 InteractingwithAthena 22 2.2 Domainsandfunctionsymbols 23 2.3 Terms 27 2.4 Sentences 34 2.5 Definitions 40 2.6 Assumptionbases 42 2.7 Datatypes 44 2.8 Polymorphism 50 2.8.1 Polymorphicdomainsandsortidentity 50 2.8.2 Polymorphicfunctionsymbols 52 2.8.3 Polymorphicdatatypes 57 2.8.4 Integersandreals 59 2.9 Meta-identifiers 61 2.10 Expressionsanddeductions 62 2.10.1 Compositions 65 2.10.2 Nestedmethodcalls 68 2.10.3 Letexpressionsanddeductions 69 2.10.4 Conclusion-annotateddeductions 70 2.10.5 Conditionalexpressionsanddeductions 71 2.10.6 Pattern-matchingexpressionsanddeductions 72 2.10.7 Backtrackingexpressionsanddeductions 73 2.10.8 Definingproceduresandmethods 74 2.11 Moreonpatternmatching 78 10569 Book 2017/7/6 12:42 Page vi #6 vi Contents 2.12 Directives 85 2.13 Overloading 86 2.14 Programming 89 2.14.1 Characters 90 2.14.2 Strings 90 2.14.3 Cellsandvectors 90 2.14.4 Tablesandmaps 91 2.14.5 Whileloops 93 2.14.6 Expressionsequences 93 2.14.7 Recursion 93 2.14.8 Substitutions 94 2.15 Aconsequenceofstaticscoping 98 2.16 Miscellanea 99 2.17 Summaryandnotationalconventions 103 2.18 Exercises 105 II FUNDAMENTALPROOFMETHODS 111 3 ProvingEqualities 113 3.1 Numericequations 113 3.2 Equalitychainingpreview 116 3.3 Termsandsentencesastrees 117 3.4 Thelogicbehindequalitychaining 120 3.5 Moreexamplesofequalitychaining 128 3.6 Amoresubstantialproofexample 130 3.7 Abetterproof 134 3.8 Theprincipleofmathematicalinduction 135 3.8.1 Differentwaysofunderstandingmathematicalinduction 139 3.9 Listequations 140 3.9.1 Polymorphicdatatypes 147 3.10 Evaluationofgroundterms 150 3.11 Top-downproofdevelopment 152 3.12 ⋆Inputexpansionandoutputtransformation 158 3.12.1 Converters 158 3.12.2 Inputexpansion 162 3.12.3 Outputtransformation 165 3.12.4 Combininginputexpansionandoutputtransformationwithoverloading 166 3.12.5 Usingdeclarewithauxiliaryinformation 167 10569 Book 2017/7/6 12:42 Page vii #7 Contents vii 3.13 ⋆Conjecturefalsification 168 3.14 ⋆Conditionalrewritingandadditionalchainingfeatures 172 3.15 ⋆Properfunctiondefinitions 179 3.16 Summary 185 3.17 Additionalexercises 186 3.18 Chapternotes 189 4 SententialLogic 191 4.1 WorkingwiththeBooleanconstants 191 4.2 Workingwithconjunctions 192 4.2.1 Usingconjunctions 192 4.2.2 Derivingconjunctions 193 4.3 Workingwithconditionals 194 4.3.1 Usingconditionals 194 4.3.2 Derivingconditionals:hypotheticalreasoning 195 4.4 Workingwithdisjunctions 199 4.4.1 Usingdisjunctions:reasoningbycases 199 4.4.2 Derivingdisjunctions 201 4.5 Workingwithnegations 202 4.5.1 Usingnegations 202 4.5.2 Derivingnegations:reasoningbycontradiction 202 4.6 Workingwithbiconditionals 206 4.6.1 Usingbiconditionals 206 4.6.2 Derivingbiconditionals 207 4.7 Forcingaproof 207 4.8 Puttingitalltogether 209 4.9 Alibraryofusefulmethodsforsententialreasoning 211 4.10 Recursiveproofmethods 226 4.11 Dealingwithlargeconjunctionsanddisjunctions 236 4.12 Sententiallogicsemantics 238 4.13 SATsolving 246 4.14 Proofheuristicsforsententiallogic 272 4.14.1 Backwardtactics 274 4.14.2 Forwardtactics 276 4.14.3 Replacementtactics 282 4.14.4 Strategiesfordeployingthetactics 282 4.15 ⋆Atheoremproverforsententiallogic 294 4.16 Additionalexercises 304 10569 Book 2017/7/6 12:42 Page viii #8 viii Contents 4.17 Chapternotes 315 5 First-OrderLogic 319 5.1 Workingwithuniversalquantifications 323 5.1.1 Usinguniversalquantifications 323 5.1.2 Derivinguniversalquantifications 326 5.2 Workingwithexistentialquantifications 331 5.2.1 Derivingexistentialquantifications 331 5.2.2 Usingexistentialquantifications 332 5.3 Someexamples 338 5.4 Methodsforquantifierreasoning 342 5.5 Proofheuristicsforfirst-orderlogic 353 5.5.1 Backwardtacticsforquantifiers 354 5.5.2 Forwardtacticsforquantifiers 355 5.5.3 Proofstrategyforfirst-orderlogic 371 5.6 First-orderlogicsemantics 372 5.7 Additionalexercises 385 5.8 Chapternotes 393 6 ImplicationChaining 395 6.1 Implicationchains 395 6.2 Usingsentencesasjustifiers 402 6.2.1 Nestedrules 407 6.3 Implicationchainingthroughsententialstructure 409 6.4 Usingchainswithchain-last 411 6.5 Backwardchainsandchain-first 413 6.6 Equivalencechains 415 6.7 Mixingequational,implication,andequivalencesteps 417 6.8 Chainnesting 421 6.9 Exercises 423 III PROOFSABOUTFUNDAMENTALDATATYPES 427 7 OrganizingTheoryDevelopmentwithAthenaModules 429 7.1 Introducingamodule 429 7.2 Naturalnumbersusingmodules 431 7.3 Extendingamodule 433 7.4 Modulesforfunctionsymbols 434 7.5 Additionalmodulefeatures 435 10569 Book 2017/7/6 12:42 Page ix #9 Contents ix 7.6 Additionalmoduleprocedures 436 7.7 Anoteonindentation 437 8 NaturalNumberOrderings 439 8.1 Propertiesofnaturalnumberorderingfunctions 439 8.1.1 Trichotomyproperties 443 8.1.2 Transitiveandasymmetricproperties 444 8.1.3 Less-equalproperties 447 8.1.4 Combiningorderingandarithmetic 450 8.2 Naturalnumbersubtraction 451 8.3 Orderedlists 459 8.4 Binarysearchtrees 463 8.5 Summaryandaconnectingtheorem 469 8.6 Additionalexercises 472 8.7 Chapternotes 473 9 IntegerRepresentationsandProofMappings 475 9.1 Declarationsandaxioms 475 9.2 Firstproofsofintegerproperties 477 9.3 Anotherintegerrepresentation 478 9.4 Mappingsbetweenthesignedandpairrepresentations 480 9.5 Additivehomomorphismproperty 481 9.6 Associativityandcommutativityofintegeraddition 483 9.7 Powerseries 484 9.8 Summaryandlookingahead 487 9.9 Additionalexercises 488 10 FundamentalDiscreteStructures 491 10.1 Orderedpairs 493 10.1.1 Representationandnotation 493 10.1.2 Resultsandmethods 494 10.2 Options 497 10.2.1 Representationandnotation 497 10.2.2 Someusefulresults 498 10.3 Sets,relations,andfunctions 499 10.3.1 Representationandnotation 499 10.3.2 Setmembership,thesubsetrelation,andsetidentity 501 10.3.3 Setoperations 508 10.3.4 Cartesianproducts 518

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.