Sometimes using WolframAlpha to solve or simplify a part of a problem and then use that result to construct a simpler problem to get the final solution will work.
By simplifying (A IMPLIES B) AND (B IMPLIES A) to A<=>B this
One way to find explicit sets that give True, without showing all others, is to convert to an “exclusive sum-of-products” form. It will give an exclusive Or of conjunctions.
BooleanConvert[expr, "ESOP"]
(* Out[975]= (aa && bb && dd && ff && gg && hh) \[Xor] (! aa && ! bb &&
dd && ff && gg && hh) \[Xor] (aa && bb && ! cc && ! dd && ! ee &&
gg && hh) \[Xor] (aa &&
bb && ! cc && ! dd && ! ee && ! ff && ! gg) \[Xor] (! aa && !
bb && ! cc && ! dd && ! ee && gg &&
hh) \[Xor] (! aa && ! bb && ! cc && ! dd && ! ee && ! ff && !
gg) \[Xor] (aa && bb && ! cc && ! dd && ee && ff && gg &&
hh) \[Xor] (! aa && ! bb && ! cc && ! dd && ee && ff && gg && hh) *)
By counting the number of atoms in each conjunction one can see how many cases give True (it is 2^(8-#atoms)). The totl for the above is indeed 18.