Step |
Hyp |
Ref |
Expression |
1 |
|
ablsubadd.b |
|- B = ( Base ` G ) |
2 |
|
ablsubadd.p |
|- .+ = ( +g ` G ) |
3 |
|
ablsubadd.m |
|- .- = ( -g ` G ) |
4 |
|
ablsubsub.g |
|- ( ph -> G e. Abel ) |
5 |
|
ablsubsub.x |
|- ( ph -> X e. B ) |
6 |
|
ablsubsub.y |
|- ( ph -> Y e. B ) |
7 |
|
ablsubsub.z |
|- ( ph -> Z e. B ) |
8 |
|
ablgrp |
|- ( G e. Abel -> G e. Grp ) |
9 |
4 8
|
syl |
|- ( ph -> G e. Grp ) |
10 |
1 3
|
grpsubcl |
|- ( ( G e. Grp /\ X e. B /\ Y e. B ) -> ( X .- Y ) e. B ) |
11 |
9 5 6 10
|
syl3anc |
|- ( ph -> ( X .- Y ) e. B ) |
12 |
|
eqid |
|- ( invg ` G ) = ( invg ` G ) |
13 |
1 2 12 3
|
grpsubval |
|- ( ( ( X .- Y ) e. B /\ Z e. B ) -> ( ( X .- Y ) .- Z ) = ( ( X .- Y ) .+ ( ( invg ` G ) ` Z ) ) ) |
14 |
11 7 13
|
syl2anc |
|- ( ph -> ( ( X .- Y ) .- Z ) = ( ( X .- Y ) .+ ( ( invg ` G ) ` Z ) ) ) |
15 |
1 12
|
grpinvcl |
|- ( ( G e. Grp /\ Z e. B ) -> ( ( invg ` G ) ` Z ) e. B ) |
16 |
9 7 15
|
syl2anc |
|- ( ph -> ( ( invg ` G ) ` Z ) e. B ) |
17 |
1 2 3 4 5 6 16
|
ablsubsub |
|- ( ph -> ( X .- ( Y .- ( ( invg ` G ) ` Z ) ) ) = ( ( X .- Y ) .+ ( ( invg ` G ) ` Z ) ) ) |
18 |
1 2 3 12 9 6 7
|
grpsubinv |
|- ( ph -> ( Y .- ( ( invg ` G ) ` Z ) ) = ( Y .+ Z ) ) |
19 |
18
|
oveq2d |
|- ( ph -> ( X .- ( Y .- ( ( invg ` G ) ` Z ) ) ) = ( X .- ( Y .+ Z ) ) ) |
20 |
14 17 19
|
3eqtr2d |
|- ( ph -> ( ( X .- Y ) .- Z ) = ( X .- ( Y .+ Z ) ) ) |