One of the main properties of auxiliary verbs is that they can exhibit code (show code). What this means is that we can use just the auxiliary verb to represent the whole of the rest of the verb phrase. The listener must be able to tell what this missing information is. Usually it has already been talked about, but it might be clear from the physical situation.
There are two main groups of auxiliary verbs. The first includes BE, HAVE and the dummy auxiliary DO. The second group, known as modal verbs has nine central members (depending on how you count them). These are:
- CAN, COULD, MAY, MIGHT, SHALL, SHOULD, WILL, WOULD and MUST
If there is more than one auxiliary in a verb phrase, then we can choose which auxiliary we want to exhibit code. Look at the following example:
A. Has your elephant been eating my plants?
B. She might have been eating your plants.
Here speaker B's answer is very long. We don't need to use the whole phrase "might have been eating your plants", because speaker A will be able to understand what we are talking about. There are three auxiliary verbs in B's reply. We can use any of them to represent the rest of the verb phrase:
- She might have been. [
eating your plants ]
- She might have. [
been eating your plants ]
- She might. [
have been eating your plants ]
The Original Poster's Question
1) Is the difference between a vector and an axis that a vector has a direction while an axis
doesn't have?
2) Is the difference between a vector and an axis that a vector has a direction while an axis
doesn't?
The last clause in (1), an axis doesn't have, has one clear auxiliary, the verb doesn't. The verb have is a bit problematic to analyse. In the clause the vector has direction the verb has is a main verb indicating possession. However, we often use have like an auxiliary verb even when we are using it to indicate possession. Consider the following example:
- Bob has a car, but Mary hasn't.
So in the first clause we would analyse has as a main verb, but in the second hasn't should be regarded as an auxiliary. It is exhibiting code and it is contracted with not. In sentence (1) have is exhibiting code, so we probably want to think of it as an auxiliary there too.
Both of the Original Poster's examples are grammatical, in the sense that they would be said at some point by native speakers. However, the shorter one is probably better. This is not because the have is redundant in example (1). We have seen further above that it is not a problem how many auxiliaries we use. I think that sentence (1) is probably a bit awkward because it uses have as an auxiliary here along with the auxiliary do. Normally, we only use do when there is no other auxiliary available. So using do as an auxiliary and then having have as an auxiliary as well is a bit strange-sounding. We might even prefer:
3) Is the difference between a vector and an axis that a vector has a direction while an axis hasn't.
In this sentence we are using hasn't as an auxiliary a bit like in the Bob and Mary example.
In short (2) and (3) are probably the best choices, but (1) isn't ungrammatical.