To construct the Truth table of `q<=> ( p ^^ notq)` , work from the inside going out. So we start with evaluating `not q` . Then `(p ^^ notq)` . Last is the `q<=> (p ^^ notq)` . ` `
For the third column below, `not q` means NOT q. So if q is True, `notq` will be false. And if q is false, then `not q` produces True.
For `(p^^notq)` , to evaluate this, consider the values in the first and third column. Note that the operation `^^` means AND. So, it will only produce a True value if both the first and third column are True.
For `q<=> (p^^notq)` , consider the second and the fourth column to evaluate it. Note that `<=>` means XNOR. XNOR produces True value if both operands are True or both operands are false. Hence, if the values in second and fourth columns are both True, then the resulting condition is True. Also, if both values in the second and fourth column is False, then the last column is True.
p q `notq` `(p ^^ notq)` `q<=> (p^^ notq)`
T T F F F
T F T T F
F T F F F
F F T F T