Ask him to leave
While there are ways to create a social contract within a group, your problems sound severe. In many ways, it sounds like your objectives for playing and his objectives are quite different. When that happens, the best thing to do is to ask him to leave.
My recommendation would be to phrase the request around the core of: "I'm sorry, but I have a hard time running games for you. While I appreciate your skill in the rules, I feel that your presence at the table is too intimidating for me and will have to ask you to leave the game."
Passive-aggressive interactions like "forgetting" to mention games tend to sour relationships far beyond what a quick break will do.
If you don't feel comfortable asking him to leave, work out a social contract with accepted rules for behaviour at the table. This should be a written down contract and everyone playing should participate in its making. Either he follows the contract you all agreed to or, once again, you ask him to leave.
Poison players are not worth interacting with; they make a fun game into a chore.
Roles Can Be A Bummer
Making actions/options not available to people can force people out of the magic circle pretty quickly. Sure, roles can help people feel special, but it can go overboard. This does not mean that the rogue shouldn't be stealthy, or that the cleric can't be tank-y, but not being able to use or do something because of an arbitrary class restriction breaks the circle, which means less fun for everyone.
Sometimes, multiple people actually can do the same thing, and that should happen sometimes. If every task you throw at the player characters cannot be accomplished except for 1 person's specialization, it may be a harder adventure than these players (as a group) are fit for. Not that there can't be a situation where you need a particular player to do a something, but that it shouldn't happen all the time.
Perhaps It is a Matter of Perception
So maybe this player is simply just does not imagine the same thing you do. You can try to reinforce what you envision by describing what is going on. Is she/he making informed choices? Does she/he realize what the gravity of the situation, or how her/his character has certain strengths?
Does this player realize the cleric is running around in thick armor, while that player's character is running around in normal clothes? For example, if I think the cleric is running around in normal clothes, and goes into combat and comes out unscathed, I could run in my normal clothes, and also come out unscathed.
If this is the problem, you simply need to be more descriptive! Describe how the cleric is wearing armor, or how the rogue is especially cat-like, and how this player's character is not.
For Games Which Depend On Roles
It may be time to have your other players step up. Have the cleric yell at the other character to stay back, or that the cleric "has this." Alternatively, the cleric may ask "PEASE SUMMON THIS TO HELP ME!" as he charges in.
If the rogue attempts to sneak around, the rogue can give specific instructions; "Can you make a distraction over there?" "Wait here, and if I'm not back in 15 minutes, go get the others to rescue me." Or even: "this looks super dangerous. I don't think you'll make it. We don't want to get ourselves killed, yeah?"
In short, give him tasks, or have the other players give him tasks to help with things. Talking is a free action in combat; use it. This is especially good for players who may be experiencing some mental handicap; it gives them something concrete to act on. It allows them to contribute (which feels great and is fun) without going through negative experiences.
Finally, a player or the DM can specifically highlight when certain actions will require a specific specialization, and who has that training. If it becomes obvious that a task is dangerous and requires training, then most people leave it to the person with the training. The DM can further forbid people without specialization from trying, stating that it's obviously too hard. This is more "hand-holdy" than some people like it, but sometimes people just need their hands held.
Talk About It
Talk with the player about the roles. What is her/his character good at? What should she/he focus on? These other characters have something special about them, what is she/he special at?
Talk about how their character is so good at magic/whatever else, and how they should try to make their magic/whatever else be the solution for the current situation. (After all, we're solving these situations using our strengths, use your strengths to help solve it!)
Tough Love
Finally, you may have to resort to letting the consequences of this player's action happen. Let the events, despite other character's best efforts, happen. Talk about how that character was not focusing on what they were good at, or how their play-style does not match up well with the class they chose. Make a new character that does okay at everything, such as most games' version of a "bard." Note: this does not mean make a character who is rule-breaking and superior to all the others, but one that stands a decent chance at performing many things, and isn't a large risk to the success of most tasks.
Best Answer
“This behavior is ruining the game for me.”
This sounds very not fun. Your friend needs to understand this. This is an out-of-game conversation that needs to be had. You need to cordially explain to your friend that you are not okay with player-vs-player combat and that it is ruining the game for you. Generally, nobody should assume the table is okay with PVP, this is something that should be discussed and consented to out of game.
It’s better not to play than to waste your time not having fun. If your friend doesn’t care enough to change their behavior after you have explained to them kindly that their behavior is ruining the game for you, you may need to find another group.