The correct sentence is “He has already gone to school.” It’s in present perfect tense.
Let's consider the grammar points governing the sentence.
First, both “has” and “have” are auxiliary verbs; they've got no difference in their meanings and both of them are used to make present perfect tense. The difference lies only in their usage.
It’s a grammar rule that “has” always follows a subject that’s third-person singular, including he, she, it or any singular or uncountable noun. On the other hand, “have” is used only with a plural noun or pronoun, with the exception of “I” and “you.”
Here, the subject is “He,” which is third-person singular. So, it has to be followed by “has” and not “have.”
Second, in forming present perfect tense, both “has” and “have” are always followed by the past participle form of a verb. “Went” is the past form of the verb “go.” So, the question of using “went” after “He has already” doesn't arise at all. It has to be “gone.”
Besides, it must be remembered that one of the most important differences between simple past tense and present perfect tense is that we don’t specify the time of an action with present perfect tense; whereas with past simple, it's always indicated. When it’s not specified using any time expression, it’s assumed that the listener knows the time of the action or can make it out from the context.
Here, in the given sentence, the time of the action "go" is not indicated. Moreover, the emphasis is on the result of the action rather than on the action itself. Therefore, it would be grammatically incorrect to say "He already went to school." Instead, we should say, "He has already gone to school."
This is a good question and one that is important. Let me give you the correct sentence first and then give to you an explanation.
"He has already gone to school."
The reason why "has" is correct and "have" is incorrect is because the subject is singular. A singular subject needs a singular verb. If the verb were "they," then "have" would be the correct form of the verb.
The word, "gone" is the participle and it is used with the auxiliary word, "has" to create a perfect tense. The verb, "went" is just a simple past tense. Of course, the sentence could be written as "He went to school," but because the word "has" is present, you need the word, "gone," to complete the verbal idea.
The correct answer is “he has already gone to school.” Let us see why this is the case.
First, we cannot use “have” with “he.” “Have” is a verb that is only used when the subject is plural. “Has” is a very that is used with a subject that is singular. We could say “they have already gone” because “they” is plural, but we cannot say “he have already gone” because “he” is singular. Therefore, we must use “he has” in this sentence.
Second, we cannot use “went” in this sentence because it is simply a past tense verb. We cannot put the auxiliary verb “has” with a past tense verb. Instead, we have to put it with verb that is in its past participle form. “Gone” is in its past participle form so we must use it in this sentence.