Er, I think there's several ways to answer this, but I'm going to give two thoughts that might help organize it for you.
First, there's a problem with the sentence you wrote about negation:
t is it possible to rigorously prove that negating a true implication always will result in another true implication?
The problem is that it's not clear what "negating a true implication" means here. Negating a true statement yields a false statement. If you look, ¬B → ¬A is not the "negation" of A → B. Given the relation A → B, there's at least three distinct possible operations:
- There's the converse: B → A
- There's the inverse: ¬A → ¬B
- There's the negation: ¬(A → B)
- There's the contrapositive: ¬B → ¬A
Second, each of these operations has a different relationship to the truth of A → B. Starting with the easiest:
- The negation is TRUE whenever A → B is FALSE and FALSE whenever A → B is TRUE.
The other operations are actually more complicated. It is not simply the case that they are opposites. Instead, we have to look at the effects of negating each piece independently. The easy way to do that is with a truth table that maps all the possibilities (it does so by considering every possible value for every variable. Given that we have two variables {A,B} with two possibilities each {T,F}, we have 4 rows):
A | B | ¬A | ¬B | A → B | ¬A → ¬B | ¬B → ¬A | ¬(A → B)
T T F F T T T F
T F F T F T F T
F T T F T F T F
F F T T T T T F
The columns for "A → B" and "¬B → ¬A" are perfectly identical. This means they are the same logically.
Returning to your question, any two logical operators with exactly the same truth table mean the same thing and can be traded. Thus, "contraposition" rather than being the negation of "implication" is implication -- just written in a different way.
Does it contain two negations? Yes, but they don't negate the whole.