The definition of the opposite #-x# of a number #x# is the number that added to #x# gives #0#. This is *whatever the number* #x# is.

In particular #-ab# is the number that added to #ab# gives #0#.

a). Now consider #(-a)*b#, and add:

#(-a) * b + ab = ((-a) + a) * b#, by the distributive property.

But #(-a)+ a=0# by definition, so we have #0*b#, and then #0*b=0#.

So we see that #(-a) * b + ab = 0#, and then #(-a) * b =- ab#

b). Also, since #1+(-1)=0# by definition, this tells us that #1# is the opposite of #-1#, that is #1 = -(-1)#

Now, to the question itself:

#(-1) * (-1) = - (1*(-1))# because of the proof in a). And again

#(-1) * (-1) =- (1*(-1))=-(-(1*1))#. Because of the proof in b), we now have

#(-1) * (-1) =-(-1) = 1#

QED

Remark: I have assumed that we know #0*b=0#. This can also be proven