Since Not is not a binary function i think it is not required to derive it.
If external 1 is not supplied then also we can get A+B by using two half adders where the inputs of the 2nd half adder will be the Sum S1 and the Carry C1 of the 1st half adder.
So S2=S1⊕ C1=(A ⊕ B) ⊕ (AB) = A+B.
(A ⊕ B) ⊕ (AB)
=(AB'+A'B)(AB)' + (A'B'+AB)(AB)
= (AB'+A'B)(A'+B')+ (0+AB)
=(0+A'B+AB'+0)+AB
= A'B+AB'+AB
= B(A'+A)+AB'
=B+AB'
=A+B