En primer lugar, yo simbolizaría la información dada como:
$[J \leftrightarrow (~\neg J \leftrightarrow \neg B)] \land [B \leftrightarrow \neg (B \leftrightarrow J)]$
Luego, existen algunos principios de equivalencia útiles para el bicondicional:
Conmutación Bicondicional
$P \leftrightarrow Q \Leftrightarrow Q \leftrightarrow P$
Asociación Bicondicional
$P \leftrightarrow (Q \leftrightarrow R) \Leftrightarrow (P \leftrightarrow Q) \leftrightarrow R$
Negación Bicondicional
$\neg (P \leftrightarrow Q) \Leftrightarrow \neg P \leftrightarrow Q$
$\neg (P \leftrightarrow Q) \Leftrightarrow P \leftrightarrow \neg Q$
$\neg P \leftrightarrow \neg Q \Leftrightarrow P \leftrightarrow Q$
Complemento Bicondicional
$P \leftrightarrow P \Leftrightarrow \top$
$P \leftrightarrow \neg P \Leftrightarrow \bot$
$P \leftrightarrow \top \Leftrightarrow P$
$P \leftrightarrow \bot \Leftrightarrow \neg P$
Con eso:
\begin{array}{lll} 1. & [J \leftrightarrow (~\neg J \leftrightarrow \neg B)] \land [B \leftrightarrow \neg (B \leftrightarrow J)] & Dado\\ 2. & [J \leftrightarrow (~\neg J \leftrightarrow \neg B)] \land [B \leftrightarrow (\neg B \leftrightarrow J)] & Negación Bicondicional 1\\ 3. & [(J \leftrightarrow ~\neg J) \leftrightarrow \neg B] \land [(B \leftrightarrow \neg B) \leftrightarrow J] & Asociación Bicondicional 2\\ 4. & [\bot \leftrightarrow \neg B] \land [(\bot \leftrightarrow J] & Complemento Bicondicional 3\\ 5. & B \land \neg J & Complemento Bicondicional 4\\ \end{array}
También hay que notar que una simbolización razonable de la declaración de Bill hubiera sido $B \leftrightarrow (\neg B \leftrightarrow J)$, en cuyo caso podría haber comenzado en la línea 2 y obtenido el resultado en tan solo $3$ pasos de inferencia.
EDITAR: siguiendo una sugerencia de Matt Daly:
Supongamos que también tenemos:
Sustitución Bicondicional
$S(P) \land (P \leftrightarrow Q) \Leftrightarrow S(Q) \land (P \leftrightarrow Q)$
donde $S(Q)$ es el resultado de reemplazar cualquier ocurrencia de $P$ con $Q$ en $S(P)$
Reducción Bicondicional
$P \land (P \leftrightarrow Q) \Leftrightarrow P \land Q$
$\neg P \land (P \leftrightarrow Q) \Leftrightarrow \neg P \land \neg Q$
y al simbolizar la declaración de Bill como $\neg (J \leftrightarrow B)$, obtenemos:
\begin{array}{lll} 1. & [J \leftrightarrow (\neg J \leftrightarrow \neg B)] \land [B \leftrightarrow \neg (J \leftrightarrow B)] & Dado\\ 2. & [J \leftrightarrow \neg (J \leftrightarrow \neg B)] \land [B \leftrightarrow (J \leftrightarrow \neg B)] & Negación Bicondicional 1\\ 3. & [J \leftrightarrow \neg B] \land [B \leftrightarrow (J \leftrightarrow \neg B)] & Sustitución Bicondicional 2\\ 4. & [J \leftrightarrow \neg B] \land B & Reducción Bicondicional 3\\ 5. & \neg J \land B & Reducción Bicondicional 4\\ \end{array}