THis might be out of reach for Wolfram|Alpha in terms of figuring out what is wanted. In Mathematica it can be done as below.
expr = And[Implies[aa, bb], Implies[bb, aa], Implies[cc, dd],
Implies[dd, ff], Implies[ee, ff], Implies[ff, gg], Implies[gg, hh]];
SatisfiabilityCount[expr]
(* Out[974]= 18 *)
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.