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)
right but without deriving NOT we can't say it functionally complete...
we can derive OR and AND without using external 1 but for NOT we have to use external 1.