Step |
Hyp |
Ref |
Expression |
1 |
|
oveq1 |
|- ( x = 1 -> ( x + B ) = ( 1 + B ) ) |
2 |
|
oveq2 |
|- ( x = 1 -> ( B + x ) = ( B + 1 ) ) |
3 |
1 2
|
eqeq12d |
|- ( x = 1 -> ( ( x + B ) = ( B + x ) <-> ( 1 + B ) = ( B + 1 ) ) ) |
4 |
3
|
imbi2d |
|- ( x = 1 -> ( ( B e. NN -> ( x + B ) = ( B + x ) ) <-> ( B e. NN -> ( 1 + B ) = ( B + 1 ) ) ) ) |
5 |
|
oveq1 |
|- ( x = y -> ( x + B ) = ( y + B ) ) |
6 |
|
oveq2 |
|- ( x = y -> ( B + x ) = ( B + y ) ) |
7 |
5 6
|
eqeq12d |
|- ( x = y -> ( ( x + B ) = ( B + x ) <-> ( y + B ) = ( B + y ) ) ) |
8 |
7
|
imbi2d |
|- ( x = y -> ( ( B e. NN -> ( x + B ) = ( B + x ) ) <-> ( B e. NN -> ( y + B ) = ( B + y ) ) ) ) |
9 |
|
oveq1 |
|- ( x = ( y + 1 ) -> ( x + B ) = ( ( y + 1 ) + B ) ) |
10 |
|
oveq2 |
|- ( x = ( y + 1 ) -> ( B + x ) = ( B + ( y + 1 ) ) ) |
11 |
9 10
|
eqeq12d |
|- ( x = ( y + 1 ) -> ( ( x + B ) = ( B + x ) <-> ( ( y + 1 ) + B ) = ( B + ( y + 1 ) ) ) ) |
12 |
11
|
imbi2d |
|- ( x = ( y + 1 ) -> ( ( B e. NN -> ( x + B ) = ( B + x ) ) <-> ( B e. NN -> ( ( y + 1 ) + B ) = ( B + ( y + 1 ) ) ) ) ) |
13 |
|
oveq1 |
|- ( x = A -> ( x + B ) = ( A + B ) ) |
14 |
|
oveq2 |
|- ( x = A -> ( B + x ) = ( B + A ) ) |
15 |
13 14
|
eqeq12d |
|- ( x = A -> ( ( x + B ) = ( B + x ) <-> ( A + B ) = ( B + A ) ) ) |
16 |
15
|
imbi2d |
|- ( x = A -> ( ( B e. NN -> ( x + B ) = ( B + x ) ) <-> ( B e. NN -> ( A + B ) = ( B + A ) ) ) ) |
17 |
|
nnadd1com |
|- ( B e. NN -> ( B + 1 ) = ( 1 + B ) ) |
18 |
17
|
eqcomd |
|- ( B e. NN -> ( 1 + B ) = ( B + 1 ) ) |
19 |
|
oveq1 |
|- ( ( y + B ) = ( B + y ) -> ( ( y + B ) + 1 ) = ( ( B + y ) + 1 ) ) |
20 |
17
|
oveq2d |
|- ( B e. NN -> ( y + ( B + 1 ) ) = ( y + ( 1 + B ) ) ) |
21 |
20
|
adantl |
|- ( ( y e. NN /\ B e. NN ) -> ( y + ( B + 1 ) ) = ( y + ( 1 + B ) ) ) |
22 |
|
nncn |
|- ( y e. NN -> y e. CC ) |
23 |
22
|
adantr |
|- ( ( y e. NN /\ B e. NN ) -> y e. CC ) |
24 |
|
nncn |
|- ( B e. NN -> B e. CC ) |
25 |
24
|
adantl |
|- ( ( y e. NN /\ B e. NN ) -> B e. CC ) |
26 |
|
1cnd |
|- ( ( y e. NN /\ B e. NN ) -> 1 e. CC ) |
27 |
23 25 26
|
addassd |
|- ( ( y e. NN /\ B e. NN ) -> ( ( y + B ) + 1 ) = ( y + ( B + 1 ) ) ) |
28 |
23 26 25
|
addassd |
|- ( ( y e. NN /\ B e. NN ) -> ( ( y + 1 ) + B ) = ( y + ( 1 + B ) ) ) |
29 |
21 27 28
|
3eqtr4d |
|- ( ( y e. NN /\ B e. NN ) -> ( ( y + B ) + 1 ) = ( ( y + 1 ) + B ) ) |
30 |
25 23 26
|
addassd |
|- ( ( y e. NN /\ B e. NN ) -> ( ( B + y ) + 1 ) = ( B + ( y + 1 ) ) ) |
31 |
29 30
|
eqeq12d |
|- ( ( y e. NN /\ B e. NN ) -> ( ( ( y + B ) + 1 ) = ( ( B + y ) + 1 ) <-> ( ( y + 1 ) + B ) = ( B + ( y + 1 ) ) ) ) |
32 |
19 31
|
syl5ib |
|- ( ( y e. NN /\ B e. NN ) -> ( ( y + B ) = ( B + y ) -> ( ( y + 1 ) + B ) = ( B + ( y + 1 ) ) ) ) |
33 |
32
|
ex |
|- ( y e. NN -> ( B e. NN -> ( ( y + B ) = ( B + y ) -> ( ( y + 1 ) + B ) = ( B + ( y + 1 ) ) ) ) ) |
34 |
33
|
a2d |
|- ( y e. NN -> ( ( B e. NN -> ( y + B ) = ( B + y ) ) -> ( B e. NN -> ( ( y + 1 ) + B ) = ( B + ( y + 1 ) ) ) ) ) |
35 |
4 8 12 16 18 34
|
nnind |
|- ( A e. NN -> ( B e. NN -> ( A + B ) = ( B + A ) ) ) |
36 |
35
|
imp |
|- ( ( A e. NN /\ B e. NN ) -> ( A + B ) = ( B + A ) ) |