Hi everyone,
Fistfiz: Yes, I think your formal logic work is correct. Actually, yes it is correct. My third demonstration, though correct, is a little incomplete. However, your post completes it. Luckily, I ended up using the same approach as you by using the 3rd demonstration with my second demonstration to make a complete proof. I'll post my solution below:
AA = A
det(AA) = det(A)
det(A) * det(A) - det(A) = 0
det(A) * [det(A) - 1] = 0
This implies that det(A) = 0 or det(A) = 1. We can accept the first case. As for the second case, it implies that A is invertible.
AA = A
A^(-1) AA = A^(-1) A
A = I
But one of our preconditions was that A != I, therefore we can ignore the second case because det(A) = 1 and AA = A <==> A = I. This concludes that if A != I, then det(A) must equal 0.
This is equivalent to what you wrote I think, just differently worded and without the use of formal logic.