There's more to this story that you're not telling us. We've all been through school. My initial guess is that your son has a history of assaultive behavior, and thus his story wasn't believed over that of the other boy.

One way or the other, socking somebody in the jaw isn't "self defense" for being punched in the arm. An appropriate reaction is to walk away, or get help from a teacher (not that a boy would necessarily want to get help from a teacher, but that's the expectation), or possibly even pushing the other kid away with no more force than necessary to get him to stop. You don't get to escalate the confrontation then call it "self-defense".