"He wasn't a stranger because I have met him before."
What's wrong with this sentences?
The sentence is structured as a logical proposition (e.g. A is true "because" B is true), but the logic is invalid because of the inconsistent tenses.
"He wasn't a stranger" means that at some time in the past (say T1) he was not a stranger. "I have met him before" refers to a different time when I met him (say T2). T1 and T2 can be different times. If T2 was after T1, then the logical inference is invalid. For example:
Long story short - The sentence is wrong because it is illogical.
The verb tenses do not agree. "He was not" requires "I had met". Or, you could use "He is not" with "I have met".
Both tenses need to be in agreement. However, if speaking this to a native English speaker, they will definitely understand what you mean, and they may not even notice the incorrect grammar. In my region of the United States, many people would not even realize that the sentence had anything wrong (in conversation- they might notice if it was written).
Actually, I tend to think of the issue with this sentence as a logical one, rather than grammatical (although of course most grammatical rules are meant to be logical). In fact, there is no grammatical rule that two independent clauses in a compound sentence (of which this is an example) need to have the same tense. Because they are exactly that: independent.
The more fundamental issue here is this: how can you say that the man was not a stranger simply because you have met him before? It is very possible that you had not met him at the time of seeing him even though you have met him since then, in which case he would have still been a stranger at that point. So having met the person at the current time is not sufficient condition to say that he was not a stranger at all points in your past. So it is really a logical problem as well as a grammatical one.
The correct form of this sentence would be: "He wasn't a stranger because I had met him before", so that there is verb-tense agreement. "He isn't a stranger because I have met him before". However, this changes the sentence from past tense to present. I hope this helps!
The sentence can be corrected to:
"He isn't a stranger because I've met him before." or "He is not a stranger because I have met him before."
Points to note: 1. Usage of contractions, such as "isn't", "wouldn't", should be consistent throughout a sentence. It sounds awkward otherwise. 2. The author of the sentence has met the person before, so right now, the person is no longer a stranger. Therefore the author ought to use present tense to describe the person's status. You could see it this way: The person was a stranger, and is no longer a stranger.
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?