let p, q be boolean object ; :: thesis: ('not' p) 'xor' (q => p) = (p '&' (p 'or' ('not' q))) 'or' (('not' p) '&' q)
( p = FALSE or p = TRUE ) by Def3;
hence ('not' p) 'xor' (q => p) = (p '&' (p 'or' ('not' q))) 'or' (('not' p) '&' q) ; :: thesis: verum