When I explain this to new computing science students, I approach it from the negations of these statements: ¬(B → S) ≡ B ∧ ¬S. I prove both directions of this equivalence.
Proof of (⟹→): Suppose that the material conditional B → S were false. Then:
- If S, clearly, nothing can be false about the conditional: we are not talking about causation but- the only way it can be falsified is if S does not hold logical implication(this is logical implication, not causation). Hence, ¬S holds.
- If ¬B, then the conditional B → S is meaningless - how could we say it were false? Therefore, B holds.
Proof of (⟸←): Suppose that B ∧ ¬S. Then B is true, but S is false. So the conditional B → S is false.
If ¬(B → S) ≡ B ∧ ¬S holds, then also B → S ≡ ¬B ∨ S. The disjunction here corresponds to the two bullet points above.