Q: My 4-year-old has just started lying. If we ask him if he did something he will say "no," even when it is obvious to all that he did it. (Eg. peeling paint off our porch in a destructive manner.) How do I deal with this?
A: Never ask a child a question you know the answer to. You're opening up an invitation to him to lie to you. If you already know the answer, you don't need to ask the question. Asking the question makes him think that you don't know the answer. He is going to try to get out of getting in trouble by feigning innocence. Don't give him this opportunity. Instead, deal with the actual issue - the destructive act.
Instead of asking him "Did you peel the paint off the porch," tell your son that we don't destroy property. It's not allowed. And if we have destroyed property, we have to help fix it. Include him in the solution. Show him that there are ramifications to his actions and that it's not worth his while to destroy property because there will be a consequence - he will have to fix it.
For an everyday example, instead of asking a child "Did you brush your teeth" when you already know he didn't, you can say something more constructive like "It's time to brush your teeth." This way the real issue - the tooth-brushing - gets addressed and there is no opportunity for your child to lie. Lying just takes the focus off the actual issue - brushing his teeth - and starts up a whole new conversation, further delaying bed time.
Lying can (and will) be addressed another time. For now, instead of giving your child that opening to start a conversation about lying (when, let's face it, all you want is for him to get into bed), bypass the lying issue completely by dealing with the real issue and not asking questions you already know the answer to.