Probably the brace } means logical AND (^). Then, step by step, transform the left part of the implication:

[¬(a ^ ¬b)] ^ [¬b] = { ¬(X^Y) = (¬X)V(¬Y) } [¬a V b] ^ [¬b] = { (X V Y) ^ Z = (X^Z) V (Y^Z) } [¬a ^ ¬b] V [b ^ ¬b] = { X ^ ¬X, X AND not X is always false } [¬a ^ ¬b] V [false] = { (X V false) equals X} ¬a ^ ¬b.

Is this implies ¬a? ¬a ^ ¬b ==> ¬a?

The only situation when X ==> Y is false is when X is true but Y is false. Here, if the right side ¬a is false, then the left side (¬a ^ ¬b) = (false ^ ¬b) = false.

So, yes, ¬a ^ ¬b ==> ¬a and therefore the proof is complete.

--------------- (more formally, we can use (X ==> Y) = (¬X V Y) for the last step, so (¬a ^ ¬b ==> ¬a) = (¬(¬a ^ ¬b) V ¬a) = (a V b V ¬a) = (b V a V ¬a) = (b V true) = true. )