This page currently contains interesting questions I have received from students in CMPSCI 601, together with my answers. These are questions related to the Homework #5 -- links to previous questions and answers are at the bottom of this page. weeks. Questions are in black, answers in blue. Most recently answered questions are listed first.
In exercise 13.29 we are asked to show that:
∀x (Small(x) -> Cube(x))
∃x ~Cube(x) -> Ex Small(x)
-----
∃x Cube(x)
However, this seems to be false if there are no objects at all! Tarski's World won't evaluate the sentences in an empty world, however... is there some requirement that any world have some object in it?
LPL's first order logic assumes that the universe
of a structure
is always non-empty. I'm not sure where they first say it, but they say
it again on page 498.
So, for example, if φ(x) is always true, then so is ∃xφ(x).
Here you want to say that there exists an object that either is a cube or
isn't a cube -- I believe that Fitch will give you this as an axiom.
I'm having trouble with Question 11(b), showing that if S is r.e., then S is Σ1. The definition of r.e. refers to recursive functions, but for Σ1 I need a primitive recursive function.
In 11(a) you probably used the Comp function to talk about K, and the Comp function is primitive recursive. (No matter how complicated a TM's computation is, it is still primitive recursive to input an alleged computation and determine whether it is legitimate.) The same Comp function can be used in most or all of the other problems. Think of Σ1 as being "a number exists such that some primitive recursive thing happens to that number and my input". In 11(a) the number that might or might not exist was a computation -- this happens in most or all of the other problems as well.
Is it implied in today's lecture that we aren't allowed to use the transitivity of reduction to conclude that LEVELLED-REACH is NL-complete? If not, what else should I be thinking about?
No, sorry if I gave that impression. If you
follow my hint and construct a reduction from REACH to LEVELLED-REACH,
then you need the transitivity to conclude that everything else in NP
reduces to LEVELLED-REACH. So you may assume without proof that
log-space reduction is transitive.
It's also possible to solve this problem without following my hint.
You have the proof in lecture that an arbitrary language in NL reduces
to REACH. If you can adapt this proof so that the arbitrary language
reduces to LEVELLED-REACH, you are done.
Note that with a log-space reduction, though, you cannot implement
breadth-first or depth-first search because these use linear space. The
reduction (if you use my hint) must take a graph G and create another graph
H that is levelled and two nodes x and y such that there is a path in G
from s to t iff there is a path in H from x to y. In general H will have
to be a different graph, because you can't in general make a graph levelled
by just adding some level numbers.
I'm having trouble reading the homework assignment because of the symbols, using either Mozilla or Netscape.
Unfortunately no technical advance comes without its costs. Thanks to a tip from an off-campus student, I'm now using the HTML entities correctly (at least for IE) by ending them with semicolons. Unfortunately, some (many?) browsers just print blank space when they see an entity in the source that they don't recognize. The best suggestion I can give is to print out my HTML source using the "View Source" button, and then write the correct symbols onto the hard-copy assignment sheet yourself.
In order to show that a language L is in co-r.e. is it sufficient to show that there is a Turing machine that rejects on inputs not in the language and runs forever on all other inputs? I like to think of the class co-r.e. this way, but I haven't seen any such definition of a "non-recognizer" in a book.
The standard way to show that L is in co-r.e. would
be to build a machine that accepts strings in L-bar and loops on strings
in L. This would be an ordinary recognizer for L-bar, proving that L-bar
is r.e. and thus that L is co-r.e. as desired. It's pretty clear that your
"co-recognizer" for L can be built iff this recognizer for L-bar can be
built, since you convert one to the other by swapping accepting and rejecting
states. So your method of showing L to be co-r.e. is just fine.
The way I actually think of the class co-r.e., if you're
interested, is as the class Π1 from Problem 11 on HW#5.
If you can rewrite "x is in A" as "(x,n) has some Bloop-testable property
for all n", then A is co-r.e., as will follow from that problem.
I had a question about part c of #11. If we want to say that a
set is harder than than re/co-re, do we need to define the corresponding
\Pi_k or \Sigma_k definition exactly, or can we just say that it is in
that region up top?
The correct answer would be of the form "I can put
it in Pi_4, but not in Sigma_3 or Pi_3". So I do care about where in the
not-r.e., not-co-r.e. range the language falls. The closer you get to
the best possible level for the langauge, the better your score, but you
don't have to prove that you have the best possible.
Homework #5, problem #11, part (c), includes the languages:
INFINITE = {n : W[n] is an infinite set of numbers}
COFINITE = {n : W[n] contains all but finitely many numbers}
Before doing the problem I wanted to make sure my rationale was correct. Are the following definitions correct?
FINITE = {n : W[n] is finite}
co-FINITE = N - {n : W[n] is finite} = {n : W[n] is infinite} = INFINITE
COFINITE = {n : N - W[n] is finite}
Yes, these are correct definitions.
When I tried to come up with set for W[n] that satisfy N - W[n] is finite, I only could come up with sets that somehow involved something of the form {n : n > c} for some c. Are there other subsets of N that are cofinite?
Yes, but they are similar. Consider {n: n is prime OR n > 1,000,000}. This is certainly cofinite but not of the form you gave. Every cofinite set must contain all numbers above some number c, but then it may also include some or all of the numbers less than c as well.
Also, isn't it such that for every n in COFINITE, W[n] is infinite, and hence n is in INFINITE? I guess they're not equal, though, since if W[n] generated the language of even natural numbers it would be in INFINITE, but then N - W[n] = language of odd natural numbers, which isn't finite and so it's not in COFINITE... Or am I completely lost?
Yes, it is true that the language COFINITE is properly contained in INFINITE, and that you have given an example of a number/machine that is in INFINITE but not in COFINITE.
Answers to Questions on the Midterm
Answers to Questions during HW#4 (through 26 Mar 2003)
Answers to Questions during HW#3 (through 17 Mar 2003)
Answers to Questions during HW#2 (through 3 Mar 2003)
Answers to Questions during HW#1 (through 12 Feb 2003)
Last modified 8 April 2003