Metamath Proof Explorer


Theorem 2zrngmmgm

Description: R is a (multiplicative) magma. (Contributed by AV, 11-Feb-2020)

Ref Expression
Hypotheses 2zrng.e 𝐸 = { 𝑧 ∈ ℤ ∣ ∃ 𝑥 ∈ ℤ 𝑧 = ( 2 · 𝑥 ) }
2zrngbas.r 𝑅 = ( ℂflds 𝐸 )
2zrngmmgm.1 𝑀 = ( mulGrp ‘ 𝑅 )
Assertion 2zrngmmgm 𝑀 ∈ Mgm

Proof

Step Hyp Ref Expression
1 2zrng.e 𝐸 = { 𝑧 ∈ ℤ ∣ ∃ 𝑥 ∈ ℤ 𝑧 = ( 2 · 𝑥 ) }
2 2zrngbas.r 𝑅 = ( ℂflds 𝐸 )
3 2zrngmmgm.1 𝑀 = ( mulGrp ‘ 𝑅 )
4 eqeq1 ( 𝑧 = 𝑎 → ( 𝑧 = ( 2 · 𝑥 ) ↔ 𝑎 = ( 2 · 𝑥 ) ) )
5 4 rexbidv ( 𝑧 = 𝑎 → ( ∃ 𝑥 ∈ ℤ 𝑧 = ( 2 · 𝑥 ) ↔ ∃ 𝑥 ∈ ℤ 𝑎 = ( 2 · 𝑥 ) ) )
6 5 1 elrab2 ( 𝑎𝐸 ↔ ( 𝑎 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑎 = ( 2 · 𝑥 ) ) )
7 eqeq1 ( 𝑧 = 𝑏 → ( 𝑧 = ( 2 · 𝑥 ) ↔ 𝑏 = ( 2 · 𝑥 ) ) )
8 7 rexbidv ( 𝑧 = 𝑏 → ( ∃ 𝑥 ∈ ℤ 𝑧 = ( 2 · 𝑥 ) ↔ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) )
9 8 1 elrab2 ( 𝑏𝐸 ↔ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) )
10 zmulcl ( ( 𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ ) → ( 𝑎 · 𝑏 ) ∈ ℤ )
11 10 ad2ant2r ( ( ( 𝑎 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑎 = ( 2 · 𝑥 ) ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → ( 𝑎 · 𝑏 ) ∈ ℤ )
12 nfv 𝑥 𝑎 ∈ ℤ
13 nfv 𝑥 𝑏 ∈ ℤ
14 nfre1 𝑥𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 )
15 13 14 nfan 𝑥 ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) )
16 nfv 𝑥𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 )
17 15 16 nfim 𝑥 ( ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) → ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) )
18 12 17 nfim 𝑥 ( 𝑎 ∈ ℤ → ( ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) → ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) ) )
19 simpll ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) → 𝑥 ∈ ℤ )
20 simpl ( ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) → 𝑏 ∈ ℤ )
21 zmulcl ( ( 𝑥 ∈ ℤ ∧ 𝑏 ∈ ℤ ) → ( 𝑥 · 𝑏 ) ∈ ℤ )
22 19 20 21 syl2an ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → ( 𝑥 · 𝑏 ) ∈ ℤ )
23 oveq2 ( 𝑦 = ( 𝑥 · 𝑏 ) → ( 2 · 𝑦 ) = ( 2 · ( 𝑥 · 𝑏 ) ) )
24 23 eqeq2d ( 𝑦 = ( 𝑥 · 𝑏 ) → ( ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) ↔ ( 𝑎 · 𝑏 ) = ( 2 · ( 𝑥 · 𝑏 ) ) ) )
25 24 adantl ( ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) ∧ 𝑦 = ( 𝑥 · 𝑏 ) ) → ( ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) ↔ ( 𝑎 · 𝑏 ) = ( 2 · ( 𝑥 · 𝑏 ) ) ) )
26 oveq1 ( 𝑎 = ( 2 · 𝑥 ) → ( 𝑎 · 𝑏 ) = ( ( 2 · 𝑥 ) · 𝑏 ) )
27 26 ad3antlr ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → ( 𝑎 · 𝑏 ) = ( ( 2 · 𝑥 ) · 𝑏 ) )
28 2cnd ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → 2 ∈ ℂ )
29 zcn ( 𝑥 ∈ ℤ → 𝑥 ∈ ℂ )
30 29 ad3antrrr ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → 𝑥 ∈ ℂ )
31 zcn ( 𝑏 ∈ ℤ → 𝑏 ∈ ℂ )
32 31 adantr ( ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) → 𝑏 ∈ ℂ )
33 32 adantl ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → 𝑏 ∈ ℂ )
34 28 30 33 mulassd ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → ( ( 2 · 𝑥 ) · 𝑏 ) = ( 2 · ( 𝑥 · 𝑏 ) ) )
35 27 34 eqtrd ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → ( 𝑎 · 𝑏 ) = ( 2 · ( 𝑥 · 𝑏 ) ) )
36 22 25 35 rspcedvd ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑎 = ( 2 · 𝑥 ) ) ∧ 𝑎 ∈ ℤ ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) )
37 36 exp41 ( 𝑥 ∈ ℤ → ( 𝑎 = ( 2 · 𝑥 ) → ( 𝑎 ∈ ℤ → ( ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) → ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) ) ) ) )
38 18 37 rexlimi ( ∃ 𝑥 ∈ ℤ 𝑎 = ( 2 · 𝑥 ) → ( 𝑎 ∈ ℤ → ( ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) → ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) ) ) )
39 38 impcom ( ( 𝑎 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑎 = ( 2 · 𝑥 ) ) → ( ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) → ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) ) )
40 39 imp ( ( ( 𝑎 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑎 = ( 2 · 𝑥 ) ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) )
41 eqeq1 ( 𝑧 = ( 𝑎 · 𝑏 ) → ( 𝑧 = ( 2 · 𝑥 ) ↔ ( 𝑎 · 𝑏 ) = ( 2 · 𝑥 ) ) )
42 41 rexbidv ( 𝑧 = ( 𝑎 · 𝑏 ) → ( ∃ 𝑥 ∈ ℤ 𝑧 = ( 2 · 𝑥 ) ↔ ∃ 𝑥 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑥 ) ) )
43 42 1 elrab2 ( ( 𝑎 · 𝑏 ) ∈ 𝐸 ↔ ( ( 𝑎 · 𝑏 ) ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑥 ) ) )
44 oveq2 ( 𝑥 = 𝑦 → ( 2 · 𝑥 ) = ( 2 · 𝑦 ) )
45 44 eqeq2d ( 𝑥 = 𝑦 → ( ( 𝑎 · 𝑏 ) = ( 2 · 𝑥 ) ↔ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) ) )
46 45 cbvrexvw ( ∃ 𝑥 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑥 ) ↔ ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) )
47 46 anbi2i ( ( ( 𝑎 · 𝑏 ) ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑥 ) ) ↔ ( ( 𝑎 · 𝑏 ) ∈ ℤ ∧ ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) ) )
48 43 47 bitri ( ( 𝑎 · 𝑏 ) ∈ 𝐸 ↔ ( ( 𝑎 · 𝑏 ) ∈ ℤ ∧ ∃ 𝑦 ∈ ℤ ( 𝑎 · 𝑏 ) = ( 2 · 𝑦 ) ) )
49 11 40 48 sylanbrc ( ( ( 𝑎 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑎 = ( 2 · 𝑥 ) ) ∧ ( 𝑏 ∈ ℤ ∧ ∃ 𝑥 ∈ ℤ 𝑏 = ( 2 · 𝑥 ) ) ) → ( 𝑎 · 𝑏 ) ∈ 𝐸 )
50 6 9 49 syl2anb ( ( 𝑎𝐸𝑏𝐸 ) → ( 𝑎 · 𝑏 ) ∈ 𝐸 )
51 50 rgen2 𝑎𝐸𝑏𝐸 ( 𝑎 · 𝑏 ) ∈ 𝐸
52 1 0even 0 ∈ 𝐸
53 1 2 2zrngbas 𝐸 = ( Base ‘ 𝑅 )
54 3 53 mgpbas 𝐸 = ( Base ‘ 𝑀 )
55 1 2 2zrngmul · = ( .r𝑅 )
56 3 55 mgpplusg · = ( +g𝑀 )
57 54 56 ismgmn0 ( 0 ∈ 𝐸 → ( 𝑀 ∈ Mgm ↔ ∀ 𝑎𝐸𝑏𝐸 ( 𝑎 · 𝑏 ) ∈ 𝐸 ) )
58 52 57 ax-mp ( 𝑀 ∈ Mgm ↔ ∀ 𝑎𝐸𝑏𝐸 ( 𝑎 · 𝑏 ) ∈ 𝐸 )
59 51 58 mpbir 𝑀 ∈ Mgm