Download Delftse Foundations of Computation pdf by Stefan Hugtenburg, Neil Yorke-Smith, Delftse Foundations of Computation is a textbook for a one quarter introductory course in theoretical computer science. It includes topics from propositional and predicate logic, proof techniques, set theory and also the theory of computation, along with practical applications to computer science. it's no prerequisites aside from a general familiarity with computer programming. Download the pdf from below to explore all topics and start learning.


BOOK CONTENTS-

1 Introduction


2 Logic
2.1 Propositional Logic
2.1.1 Propositions
2.1.2 Logical operators
2.1.3 Precedence rules
2.1.4 Logical equivalence
2.1.5 More logical operaters
2.1.6 Implications in English
2.1.7 More forms of implication
2.1.8 Exclusive or
2.1.9 Universal operators
2.1.10 Classifying propositions
2.2 Boolean Algebra
2.2.1 Basics of Boolean Algebra
2.2.2 Substitution laws
2.2.3 Simplifications
2.2.4 More rules of Boolean algebra
2.3 Application: Logic Circuits
2.3.1 Logic gates *
2.3.2 Combining gates to create circuits *
2.3.3 From circuits to propositions *
2.3.4 Disjunctive Normal Form
2.3.5 Binary addition *
2.4 Predicate Logic
2.4.1 Predicates
2.4.2 Quantifiers
2.4.3 Operators
2.4.4 Tarski’s world and formal structures
2.4.5 Logical equivalence
2.5 Deduction
2.5.1 Arguments
2.5.2 Valid arguments and proofs
2.5.3 Proofs in predicate logic


3 Proof
3.1 A Little Historical Background
3.2 Mathematical Proof
3.2.1 How to write a proof
3.2.2 Some terminology
3.2.3 Examples
3.3 Proof by Contradiction
3.4 Mathematical Induction
3.4.1 How to write a proof by induction
3.4.2 Examples
3.4.3 More examples
3.5 Strong Mathematical Induction
3.6 Application: Recursion and Induction
3.6.1 Recursive factorials
3.6.2 Towers of Hanoi
3.6.3 Binary trees *
3.7 Recursive Definitions
3.8 Invariants


4 Sets, Functions, and Relations
4.1 Basic Concepts
4.1.1 Elements of sets
4.1.2 Set-builder notation
4.1.3 Operations on sets
4.1.4 Visualising sets
4.1.5 Sets of sets
4.1.6 Mathematical induction revisited
4.1.7 Structural Induction
4.2 The Boolean Algebra of Sets
4.2.1 Set complement
4.2.2 Link between logic and set theory
4.3 Application: Programming with Sets *
4.3.1 Representing sets
4.3.2 Computing with sets
4.4 Functions
4.4.1 Formalising the notion of functions
4.4.2 Operations on functions
4.4.3 Properties of functions
4.4.4 First-class objects
4.5 Application: Programming with Functions *
4.5.1 Functions as first-class objects
4.6 Counting Past Infinity
4.6.1 Cardinality
4.6.2 Counting to infinity
4.6.3 Uncountable sets *
4.6.4 A final note on infinities *
4.7 Relations
4.7.1 Properties of relations
4.7.2 Equivalence relations
4.8 Application: Relational Databases *


5 Looking Beyond *
Selected Solutions
Further Reading
Index