Metamath Proof Explorer


Theorem abladdsub4

Description: Abelian group addition/subtraction law. (Contributed by NM, 31-Mar-2014)

Ref Expression
Hypotheses ablsubadd.b 𝐵 = ( Base ‘ 𝐺 )
ablsubadd.p + = ( +g𝐺 )
ablsubadd.m = ( -g𝐺 )
Assertion abladdsub4 ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 𝑋 + 𝑌 ) = ( 𝑍 + 𝑊 ) ↔ ( 𝑋 𝑍 ) = ( 𝑊 𝑌 ) ) )

Proof

Step Hyp Ref Expression
1 ablsubadd.b 𝐵 = ( Base ‘ 𝐺 )
2 ablsubadd.p + = ( +g𝐺 )
3 ablsubadd.m = ( -g𝐺 )
4 ablgrp ( 𝐺 ∈ Abel → 𝐺 ∈ Grp )
5 4 3ad2ant1 ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → 𝐺 ∈ Grp )
6 simp2l ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → 𝑋𝐵 )
7 simp2r ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → 𝑌𝐵 )
8 1 2 grpcl ( ( 𝐺 ∈ Grp ∧ 𝑋𝐵𝑌𝐵 ) → ( 𝑋 + 𝑌 ) ∈ 𝐵 )
9 5 6 7 8 syl3anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( 𝑋 + 𝑌 ) ∈ 𝐵 )
10 simp3l ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → 𝑍𝐵 )
11 simp3r ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → 𝑊𝐵 )
12 1 2 grpcl ( ( 𝐺 ∈ Grp ∧ 𝑍𝐵𝑊𝐵 ) → ( 𝑍 + 𝑊 ) ∈ 𝐵 )
13 5 10 11 12 syl3anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( 𝑍 + 𝑊 ) ∈ 𝐵 )
14 1 2 grpcl ( ( 𝐺 ∈ Grp ∧ 𝑍𝐵𝑌𝐵 ) → ( 𝑍 + 𝑌 ) ∈ 𝐵 )
15 5 10 7 14 syl3anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( 𝑍 + 𝑌 ) ∈ 𝐵 )
16 1 3 grpsubrcan ( ( 𝐺 ∈ Grp ∧ ( ( 𝑋 + 𝑌 ) ∈ 𝐵 ∧ ( 𝑍 + 𝑊 ) ∈ 𝐵 ∧ ( 𝑍 + 𝑌 ) ∈ 𝐵 ) ) → ( ( ( 𝑋 + 𝑌 ) ( 𝑍 + 𝑌 ) ) = ( ( 𝑍 + 𝑊 ) ( 𝑍 + 𝑌 ) ) ↔ ( 𝑋 + 𝑌 ) = ( 𝑍 + 𝑊 ) ) )
17 5 9 13 15 16 syl13anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( ( 𝑋 + 𝑌 ) ( 𝑍 + 𝑌 ) ) = ( ( 𝑍 + 𝑊 ) ( 𝑍 + 𝑌 ) ) ↔ ( 𝑋 + 𝑌 ) = ( 𝑍 + 𝑊 ) ) )
18 simp1 ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → 𝐺 ∈ Abel )
19 1 2 3 ablsub4 ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑌𝐵 ) ) → ( ( 𝑋 + 𝑌 ) ( 𝑍 + 𝑌 ) ) = ( ( 𝑋 𝑍 ) + ( 𝑌 𝑌 ) ) )
20 18 6 7 10 7 19 syl122anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 𝑋 + 𝑌 ) ( 𝑍 + 𝑌 ) ) = ( ( 𝑋 𝑍 ) + ( 𝑌 𝑌 ) ) )
21 eqid ( 0g𝐺 ) = ( 0g𝐺 )
22 1 21 3 grpsubid ( ( 𝐺 ∈ Grp ∧ 𝑌𝐵 ) → ( 𝑌 𝑌 ) = ( 0g𝐺 ) )
23 5 7 22 syl2anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( 𝑌 𝑌 ) = ( 0g𝐺 ) )
24 23 oveq2d ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 𝑋 𝑍 ) + ( 𝑌 𝑌 ) ) = ( ( 𝑋 𝑍 ) + ( 0g𝐺 ) ) )
25 1 3 grpsubcl ( ( 𝐺 ∈ Grp ∧ 𝑋𝐵𝑍𝐵 ) → ( 𝑋 𝑍 ) ∈ 𝐵 )
26 5 6 10 25 syl3anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( 𝑋 𝑍 ) ∈ 𝐵 )
27 1 2 21 grprid ( ( 𝐺 ∈ Grp ∧ ( 𝑋 𝑍 ) ∈ 𝐵 ) → ( ( 𝑋 𝑍 ) + ( 0g𝐺 ) ) = ( 𝑋 𝑍 ) )
28 5 26 27 syl2anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 𝑋 𝑍 ) + ( 0g𝐺 ) ) = ( 𝑋 𝑍 ) )
29 20 24 28 3eqtrd ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 𝑋 + 𝑌 ) ( 𝑍 + 𝑌 ) ) = ( 𝑋 𝑍 ) )
30 1 2 3 ablsub4 ( ( 𝐺 ∈ Abel ∧ ( 𝑍𝐵𝑊𝐵 ) ∧ ( 𝑍𝐵𝑌𝐵 ) ) → ( ( 𝑍 + 𝑊 ) ( 𝑍 + 𝑌 ) ) = ( ( 𝑍 𝑍 ) + ( 𝑊 𝑌 ) ) )
31 18 10 11 10 7 30 syl122anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 𝑍 + 𝑊 ) ( 𝑍 + 𝑌 ) ) = ( ( 𝑍 𝑍 ) + ( 𝑊 𝑌 ) ) )
32 1 21 3 grpsubid ( ( 𝐺 ∈ Grp ∧ 𝑍𝐵 ) → ( 𝑍 𝑍 ) = ( 0g𝐺 ) )
33 5 10 32 syl2anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( 𝑍 𝑍 ) = ( 0g𝐺 ) )
34 33 oveq1d ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 𝑍 𝑍 ) + ( 𝑊 𝑌 ) ) = ( ( 0g𝐺 ) + ( 𝑊 𝑌 ) ) )
35 1 3 grpsubcl ( ( 𝐺 ∈ Grp ∧ 𝑊𝐵𝑌𝐵 ) → ( 𝑊 𝑌 ) ∈ 𝐵 )
36 5 11 7 35 syl3anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( 𝑊 𝑌 ) ∈ 𝐵 )
37 1 2 21 grplid ( ( 𝐺 ∈ Grp ∧ ( 𝑊 𝑌 ) ∈ 𝐵 ) → ( ( 0g𝐺 ) + ( 𝑊 𝑌 ) ) = ( 𝑊 𝑌 ) )
38 5 36 37 syl2anc ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 0g𝐺 ) + ( 𝑊 𝑌 ) ) = ( 𝑊 𝑌 ) )
39 31 34 38 3eqtrd ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 𝑍 + 𝑊 ) ( 𝑍 + 𝑌 ) ) = ( 𝑊 𝑌 ) )
40 29 39 eqeq12d ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( ( 𝑋 + 𝑌 ) ( 𝑍 + 𝑌 ) ) = ( ( 𝑍 + 𝑊 ) ( 𝑍 + 𝑌 ) ) ↔ ( 𝑋 𝑍 ) = ( 𝑊 𝑌 ) ) )
41 17 40 bitr3d ( ( 𝐺 ∈ Abel ∧ ( 𝑋𝐵𝑌𝐵 ) ∧ ( 𝑍𝐵𝑊𝐵 ) ) → ( ( 𝑋 + 𝑌 ) = ( 𝑍 + 𝑊 ) ↔ ( 𝑋 𝑍 ) = ( 𝑊 𝑌 ) ) )