Homework

The goal of the homework is for you to think deeply about the material. This thinking process is where most of your learning occurs.

It is not harmful to work with others, provided that doing so does not short-circuit your deep thinking process: When others tell you the answer, they steal your learning opportunity. My advice: Only ask when you are stuck. Never ask "What is the answer to this problem?" Avoid asking "How do you do this problem?" Try to formulate your question so that the answer only gets you unstuck. It does not give away the whole problem.

Similarly, if asked to answer a question about a problem, try to answer with minimal extra information about solving the problem. Although it may feel good to show the asker how much you know, it is in the asker's interest that you refrain: It is a charitable act to not say too much.

Submit only those problems that are noted in bold. Beyond providing a correct solution, endeavor to be clear and precise. Achieving a proof that is clear, precise, and correct is similar to achieving a program that is clear, precise, and correct: Some features of the solution that are necessary may seem tedious. We accept that about computer programs. Please apply the same standard to your proofs. Take satisfaction in the process of increasing the precision or clarity of your proof. Like a beautiful poem, musical composition, or computer program, a beautiful proof requires work, and rarely is the first thing we write down. An explanation, computer program, or proof that is clear, precise, correct, and surprisingly succinct is elegant.

Submission process

Create a Sharelatex project that will be the repository of all your homework submissions. The project should be private, except that you must share it with Pete. Here is a template.

Section #Section NameProblems
1.1Propositional Logic24, 26, 34, 40, 42, 44, and 50.
1.2Applications of Propositional Logic12, 14, 30, 36, 38, 40, and 42.
1.3Propositional Equivalences42, 44, 52, 54, 62(c), 64, and 66.
1.4Predicates and Quantifiers36, 42, 54, 58, 60, and 62.
1.5Nested Quantifiers38, 40, 42, 44, 50, and 52.
1.6Rules of Inference16, 20, 28, 30, 32, and 34.
1.7Introduction to Proofs18, 24, 26, 30, 38, and 42.
1.8Proof Methods & Strategy24, 36, 38, 42, 44, and 46.
2.1Sets24, 36, 40, 42, 44, 46, and 47.
2.2Set Operations18(e), 40, 42, 50, 58, 60, and 62.
2.3Functions44, 56, 60, 68 (note 1 below), 70, and 72.
3.1Algorithms56, 58, 60, 62, and 64
3.2The Growth of Functions48, 52, and 54.
3.3Complexity of Algorithms36, 38, 40, 42, 44, and 46
4.1Divisibility & Modular Arithmetic36, 38, 40, 42, 44, and 46.
5.1Mathematical Induction60, 62, 64, 70, 74, 78.
5.2Strong Induction & Well-Ordering12, 26, 28, 34, and 42.
5.3Recursive Definitions & Structural Induction26, 32, 44, 46, 62, and 64.
5.4Recursive Algorithms14, 24, 26, 28, and 42.
9.1Relations & Their Properties40, 42, 50, 54, and 56.
9.3Representing Relations12, 14, 30, 32, 34, and 36.
9.5Equivalence Relations46, 54, 56, 58, 62, and 66.
9.6Partial Orderings42, 48, 50, 52, 56, and 60.
6.1The Basics of Counting62, 64, 66, 68, 70, 72, and 74.
6.2The Pigeonhole Principle34, 36, 38, 40, 42, and 46.
6.3Permutations & Combinations32, 34, 36, 38, 42, and 44.
6.4Binomial Coefficients22, 26, 28, 32, 36, and 38.
6.5Generalized Permutations & Combinations28, 34, 48, 58, 60, and 63.
8.1Applications of Recurrence Relations26, 28, 32, 50, 52, and 56.
8.3Divide-&-Conquer Algorithms & Recurrence Relations18, 24, 26, 30, 32, and 36.
8.5Inclusion-Exclusion12, 14, 16, 18, 20, and 22.

Exercise notes

  1. There is a typographical error in exercise 68, part f: The 2nd term in the definition of f(x) should be the ceiling of x/2.
  2. Challenge problems

    Basics of Counting

    The White-Blue Peg Game

    On the real line, place n white pegs at positions 1, 2, ..., n and n blue pegs at positions -1, -2, ..., -n (0 is open). Whites move only to the left, blues to the right. The following moves are possible:

    • Unit move: When beside an open position, a peg may move 1 unit to occupy that position (provided it is in the required direction).
    • Jump move: If a peg of one color is in front of a peg of the other color that is followed by an open position (in the required direction), a peg may jump 2 units to the open position (the jumped peg is not removed).

    By a sequence of these 2 types of moves (not necessarrily alternating between white and blue pegs), one seeks to interchange the positions of the white and blue pegs.

    1. Play this game for n = 3 and n = 4.
    2. Show that, in general, n2 + 2n moves are required to complete the game.