[UMN logo]

CSCI 8980, Computation and Deduction
Fall 2004, Homework 3
Comments on Grading


General Remarks

This assignment was graded out of 12 points. The first problem carried 10 points and the second 2. The average on this homework was 9.71 and the standard deviation was 1.58.


Problem I

Part 1 of this problem is straightforward. The only thing that needed a little bit of work here is the fact that one of the three cases of axioms in LK+ need the formula on the left and the right to be atoms. I think only one person considered this fact explicitly.

For part 2, you need to be a little careful for the cases of all-R and exists-L. The point is that if the constant used in these cases is the same as the c that we are now considering replacing a with, then these rules could not be used unchanged. However, you can use the induction hypothesis to show you could pick some other constant and then use the hypothesis again to show that you can replace all occurrences of a with a c. Finally, you can use the all-R or the some-R to get proof of the desired sequent.

In part 3, many of you first considered by cases the formula in the end sequent and then considered one or two cases for the last rule used in the given proof. The latter was a little unsatisfactory and also unnecessary. It would have been enough to split up the argument simply into two broad cases: a one upper sequent or a two upper sequents rule as the last rule. The basic structure of the argument would be the same regardless of what the specific last rule was. I had meant you to consider the specific choices of exists-L and imply-L only for the formula in the end sequent. Also this part of the problem is what required the restriction on the form of axioms.

In part 4, the main difficulty is that &Gamma or &Delta may have more than one copy of the principal formula of the last rule whereas this formula may appear only once in Γ' or Δ' respv. To get around this problem, you have to use part 3 of the problem. Some of you simply hand-waved on this matter. It was not necessary and also not satisfactory since all the machinery for a correct argument is present in the previous parts of the problem.

Nothing much to be said about the last part.


Problems 2

Pretty much every one of you "guessed" wrong for the order of equation processing that gives the best behaviour. We had talked about the cost of substitution in class and I had explicitly said that you should think of this as a unit operation. We also talked about the reason for this. Essentially, we use a graph representation of terms so that every place that a variable x occurs is represented simply as a pointer to a cell corresponding to x. Then, when we bind x we just set the value in this cell and we are done.

If you missed this discussion, you may have figured that there wasn't a difference between the different orders of processing the equations. However, several of you said that if you process the equations starting from the one for x2 and then proceeding towards xn you would get linear behaviour whereas the other order would give you exponential behaviour. This was surprising. You seem to have forgotten the point stressed in class that occurs-check is a central part of unification.

The order that really gives linear behaviour, assuming that substitution itself is a unit operation, is the one that proceeds from the equation for xn down towards the one for x2. If this is not clear at this point, post a question to the HyperNews page for the homework.


Last updated on Dec 4, 2004 by gopalan@cs.umn.edu.