Questions are in black, answers in blue
In Problem 2.3.3, what's a "proper subset"? And how should I parenthesize "∀a:∀b:P(a)→Q(b)"?
Set A is a proper subset of set B if A is a subset of B but A is not equal
to B. Equivalently, all elements of A are in B but at least one element of
B is not in A. This definition got left out of Section 1.1, sorry.
Usually, unless there are other parentheses involved, the scope of a
quantifier extends to the end of the statement. So this statement would
be correctly parenthesized as
"∀a:∀b:[P(a)→Q(b)]".
In Problem 2.6.2, I don't agree with the symbolic translation of "None of my ideas about Bath-Buns are worth writing down" as "∀x:B(x)→WWD(x)". I think it should be "∀x:B(x)→¬WWD(x)". Am I right, and if so which version is meant in the problem?
You are right, because "None of my ideas about Bath-Buns are worth writing down" means "For any of my ideas, if they are about Bath-Buns, they are not worth writing down." This is what your symbolic statement says, not what mine says. Heinlein's English text is what is meant. My symbolic translation of the second premise is wrong and should be corrected as you say, by inserting a ¬ before "WWD(x)".
In answer to question #2 below you said that n in Problem 1.10.4 was a natural. But aren't we writing real Java here, rather than your pseudo-Java?
Quite right, in real Java n should be an int or a long. Either real or Pseudo-Java code is acceptable for this problem.
Can you help me with the types in Problem 2.1.3? What are A and B in terms of Java?
Good question, this could have been clearer.
Let's say that there are Java classes Also, I didn't say how your method gets the array L. Since it's
already a static method, let's say that it gets a third argument whose
type is AElement
and
BElement
representing elements of the sets A and B
respectively. Since these are objects rather than primitives, you should
test them for equality with .equals
rather than ==
.
So the return type of getFirst()
is AElement
and
the return type of getSecond
is BElement
.
Pair []
or "array of Pairs".
In Problem 1.10.4 (a), is the variable "n" an integer or a string?
It is a natural. I tend to use the same letters for the same types, so i, j, k, and n are usually naturals, u, v, and w usually strings, and so on. But see the answer to Question #4 above.
I don't know where to start with 1.10.4, can you give me any hints?
Remember that a Java array A has elements indexed starting with A[0] and going through A[A.length - 1]. The number of elements is A.length, which does not have parentheses. Here you're given an array of ints and asked whether the array has the property that the elements increase by one each time. So on "[3,4,5,6,7]" you would return "true", and on [3,4,4,5,6] you would return "false". Your method takes the array as input and returns a boolean.
Last modified 22 September 2004