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.
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.