# Half-SAT intractability proof

I've been struggling lately with a problem that was in my last complex algorithms exam, and I can't find a solution. The problem is as follows:

Half-SAT is a problem where C is a CNF boolean formula with n variables and m clauses, where m is even. We have to determine if there exists an interpretation that satisfies exactly half of the clauses. Prove Half-SAT intractability with a reduction from SAT.

Clues: A formula can have duplicated clauses It's possible to write clauses that are always true.

I'd be very grateful if you could give me any clue on how to approach this problem.

• What did you try? Where did you get stuck? We're happy to help you understand the concepts but just solving exercises for you is unlikely to achieve that. The site tends to work better if you can identify a concept you're having trouble understanding. See here for a relevant discussion. – D.W. Aug 28 '15 at 16:35
• I googled reductions from any problem to any other just to get used to reductions, I read chapters 9.5-9.8 from "The Algorithm Design Manual" of Skiena as my teacher recommended, looked for courses on coursera or anywhere I could find and searched long about any similar problem. The problem was that I had my mind working on the clauses composition and I couldn't think of anything new, I needed a new approach on the problem and my mind was stuck. Yuval Filmus answered, but if you have any book/lecture recommended to help me in the future, I'd be very grateful. – valarion Aug 28 '15 at 18:45

The clue that you got is a bit strange, since true clauses are not enough. Here is one possible solution. Given a CNF formula with $m$ clauses, let $a$ be a new variable, add the clause $a \lor \lnot a$, and add $m+1$ copies of the clause $a$. I claim that if this formula is half-satisfiable then the original formula is satisfiable.
Indeed, an assignment in which $a$ is true satisfies at least $m+2$ out of the $2m+4$ clauses, which is more than half the clauses. Therefore any assignment half-satisfying the new formula must assign false to $a$, leading to the conclusion that the $m$ original clauses must all be satisfied.