CMPSCI 250 Discussion #3: Practicing Proofs

David Mix Barrington

20/22 Febraury 2006

  1. ∀x: Pal(x)↔Pal(xR)

    There are two good ways to prove this:

    The first is an equational sequence.

    1. "Pal(x)" is equivalent to "x=xR" by the definition of Pal.
    2. This is equivalent to "xR" by a property of equality.
    3. This is "xR=(xR)R" by Fact I.
    4. This is "Pal(xR)" by the definition of Pal.

    The second uses two deductive sequences:

    1. Assume Pal(x)
    2. This means x = xR
    3. Since x and xR are the same string, we get Pal(xR) by substitution.
    4. We have proved Pal(x) → Pal(xR).
    5. Now assume Pal(xR).
    6. This means xR = (xR)R.
    7. This means xR = x by Fact I.
    8. This is equivalent to x = xR by a property of equality.
    9. This is Pal(x) by the definition.
    10. We have proved Pal(xR) → Pal(x).
    11. By Equivalence and Implication, we have proved Pal(x) ↔ Pal(xR).
  2. ∃u:∀v:∃w:(v = (uw)R).

    1. Let u be λ, the empty string.
    2. Let v be arbitrary.
    3. Let w be vR.
    4. By a property of λ, λw = w.
    5. So (uw)R = wR.
    6. And wR = (vR)R = v by Fact I.
    7. So v = (uw)R.
    8. Since we found a w, ∃w:v = (uw)R.
    9. Since v was arbitrary, ∀v:∃w:v = (uw)R.
    10. Since we found a u, ∃u:∀v:∃w:v = (uw)R.
  3. Assuming ∀u:∃v:(uv∈L) and ∃a:∀y:∀z:(yaz≠y), prove ¬∃w:∀x:[(x∈L)→∃y:(w=xy))].

    We first transform the conclusion by pushing the ¬ down as far as possible. We do this so that the conclusion will begin with a quantifier, and we then know which quantifier rule to try. The transformed version is:


    1. Let w be an arbitrary string.
    2. Let a be the string given by the second premise, so that ∀i:∀j:(iaj≠i), renaming the bound variables for clarity.
    3. Specialize the first premise with u = wa, so we have ∃v:(wav∈L).
    4. Let v be the string given by step 3.
    5. Let x be wav.
    6. Note that by step 3, x∈L.
    7. Specialize step 2 with i = wa and j = y, so wavy≠y
    8. This is equivalent to w≠xy.
    9. By conjunction, (x∈L)∧(w≠xy).
    10. Since we found an x, ∃x:[(x∈L)∧(w≠xy)].
    11. Since w was arbitrary, ∀w:∃x:[(x∈L)∧(w≠xy)], which is what we want to prove.

    Is this conclusion true without the first assumption? (The second assumption is true for strings over any nonempty alphabet.)

    No, it is not necessarily true. Without the first assumption, we don't know anything about L. If L were the empty set, for example, we could never find an x such that x∈L, and so we could never make the conclusion true. But for some other L it could still work.

Last modified 22 February 2006