Summarize:

Do not make his being wrong about his intelligence or other aspect of his character. This will be more likely to put him on the defensive; if you isolate his specific action or thought (whatever he is wrong about) from his character, he will more easily see the err of his ways as his identity and self-esteem is not so wrapped up in the exchange. For example, rather than saying something that makes a character judgment like "you've definitely not been paying attention or there is something wrong with your memory because I did the dishes last" say something that focuses more precisely on the specific wrongness, like "I believe you're actually wrong about who did the dishes last time." People will be more inclined to believe you that they are wrong if you offer an alternative that is right. If you just point out that they are wrong but do not follow up beyond that, without any alternative, they will be more likely to stick to their guns. Speak with authority but also remain modest in your conversation. Again, the main idea here is that you do not want him to get on the defensive. Do not be aggressive, let him know softly by saying something like "I think you may be mistaken here" rather than "you are absolutely dead wrong on that"; the former is more abrasive and will more likely lead to an automatic aggressive response by him, such as refusing to take your position seriously. The angrier or more exasperated you seem, the more power he will have. Stay calm and if he just won't accept the facts, consider walking away. It's often not worth a fight to prove someone wrong. Be comfortable knowing that you are right and that in some cases it doesn't matter what anyone else thinks. Try sandwiching his being wrong between two positive qualities about him, or weaving in other things he was right about. With this technique, he may not feel too negatively about your correcting his being wrong. Take an example where your roommate is wrong about his belief that he did the dishes last, and it is a frequent enough occurrence that you decide to bring it up. You might say something along the lines of "When you do the dishes they always come out nice and clean but I think you're wrong that you did them last. I remember doing them yesterday while you were playing that sweet song on the guitar. Do you remember that?" Be sure to drive home the point that the real reason for the conversation is to let him know that he was wrong about something. Do not spend too much of the conversation on what he did well, otherwise he may focus too much on that or not get the take home message you intend to leave him with; this will undermine the use of the sandwich technique. However, avoid being condescending, too. It is a fine line to walk; you will be less likely to be perceived as being condescending if the 'bread' layers of your sandwich are genuine.
Point to behavior, not character. Show how to be right. Ease him into it. Don't get worked up. Try the sandwich technique.