Step |
Hyp |
Ref |
Expression |
1 |
|
grpsubadd.b |
|- B = ( Base ` G ) |
2 |
|
grpsubadd.p |
|- .+ = ( +g ` G ) |
3 |
|
grpsubadd.m |
|- .- = ( -g ` G ) |
4 |
|
eqid |
|- ( invg ` G ) = ( invg ` G ) |
5 |
1 2 4 3
|
grpsubval |
|- ( ( X e. B /\ Y e. B ) -> ( X .- Y ) = ( X .+ ( ( invg ` G ) ` Y ) ) ) |
6 |
5
|
3adant3 |
|- ( ( X e. B /\ Y e. B /\ Z e. B ) -> ( X .- Y ) = ( X .+ ( ( invg ` G ) ` Y ) ) ) |
7 |
6
|
adantl |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( X .- Y ) = ( X .+ ( ( invg ` G ) ` Y ) ) ) |
8 |
7
|
eqeq1d |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( X .- Y ) = Z <-> ( X .+ ( ( invg ` G ) ` Y ) ) = Z ) ) |
9 |
|
simpl |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> G e. Grp ) |
10 |
|
simpr1 |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> X e. B ) |
11 |
1 4
|
grpinvcl |
|- ( ( G e. Grp /\ Y e. B ) -> ( ( invg ` G ) ` Y ) e. B ) |
12 |
11
|
3ad2antr2 |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( invg ` G ) ` Y ) e. B ) |
13 |
1 2
|
grpcl |
|- ( ( G e. Grp /\ X e. B /\ ( ( invg ` G ) ` Y ) e. B ) -> ( X .+ ( ( invg ` G ) ` Y ) ) e. B ) |
14 |
9 10 12 13
|
syl3anc |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( X .+ ( ( invg ` G ) ` Y ) ) e. B ) |
15 |
|
simpr3 |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> Z e. B ) |
16 |
|
simpr2 |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> Y e. B ) |
17 |
1 2
|
grprcan |
|- ( ( G e. Grp /\ ( ( X .+ ( ( invg ` G ) ` Y ) ) e. B /\ Z e. B /\ Y e. B ) ) -> ( ( ( X .+ ( ( invg ` G ) ` Y ) ) .+ Y ) = ( Z .+ Y ) <-> ( X .+ ( ( invg ` G ) ` Y ) ) = Z ) ) |
18 |
9 14 15 16 17
|
syl13anc |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( ( X .+ ( ( invg ` G ) ` Y ) ) .+ Y ) = ( Z .+ Y ) <-> ( X .+ ( ( invg ` G ) ` Y ) ) = Z ) ) |
19 |
1 2
|
grpass |
|- ( ( G e. Grp /\ ( X e. B /\ ( ( invg ` G ) ` Y ) e. B /\ Y e. B ) ) -> ( ( X .+ ( ( invg ` G ) ` Y ) ) .+ Y ) = ( X .+ ( ( ( invg ` G ) ` Y ) .+ Y ) ) ) |
20 |
9 10 12 16 19
|
syl13anc |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( X .+ ( ( invg ` G ) ` Y ) ) .+ Y ) = ( X .+ ( ( ( invg ` G ) ` Y ) .+ Y ) ) ) |
21 |
|
eqid |
|- ( 0g ` G ) = ( 0g ` G ) |
22 |
1 2 21 4
|
grplinv |
|- ( ( G e. Grp /\ Y e. B ) -> ( ( ( invg ` G ) ` Y ) .+ Y ) = ( 0g ` G ) ) |
23 |
22
|
3ad2antr2 |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( ( invg ` G ) ` Y ) .+ Y ) = ( 0g ` G ) ) |
24 |
23
|
oveq2d |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( X .+ ( ( ( invg ` G ) ` Y ) .+ Y ) ) = ( X .+ ( 0g ` G ) ) ) |
25 |
1 2 21
|
grprid |
|- ( ( G e. Grp /\ X e. B ) -> ( X .+ ( 0g ` G ) ) = X ) |
26 |
25
|
3ad2antr1 |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( X .+ ( 0g ` G ) ) = X ) |
27 |
20 24 26
|
3eqtrd |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( X .+ ( ( invg ` G ) ` Y ) ) .+ Y ) = X ) |
28 |
27
|
eqeq1d |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( ( X .+ ( ( invg ` G ) ` Y ) ) .+ Y ) = ( Z .+ Y ) <-> X = ( Z .+ Y ) ) ) |
29 |
8 18 28
|
3bitr2d |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( X .- Y ) = Z <-> X = ( Z .+ Y ) ) ) |
30 |
|
eqcom |
|- ( X = ( Z .+ Y ) <-> ( Z .+ Y ) = X ) |
31 |
29 30
|
bitrdi |
|- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( X .- Y ) = Z <-> ( Z .+ Y ) = X ) ) |