3 year old lying for no reason (not make believe)

Why is my kid lying, and how do I get him to stop? It is mostly about potty training things as far as I can tell, but occasionally I catch him lying about other things. He will be obviously wet or stinky and I will ask him if he is wet or stinky, he will almost 100% of the time lie. I'll then have him check and give him a chance to tell the truth, he will check and 90% of the time will still lie. Then I remind him that I am about to check to see if he is telling the truth and that he will not be in trouble for having an accident, but will be in trouble for lying, and he will still lie to me. I confront him, and ask him if he knew he was lying, he says yes, I ask him why he chose to lie, and he says he doesn't know why. We talk a lot about why lying is wrong, but it doesn't seem to make a difference. What do I do to help him with being honest?