MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  lsmhash Structured version   Visualization version   GIF version

Theorem lsmhash 18823
Description: The order of the direct product of groups. (Contributed by Mario Carneiro, 21-Apr-2016.)
Hypotheses
Ref Expression
lsmhash.p = (LSSum‘𝐺)
lsmhash.o 0 = (0g𝐺)
lsmhash.z 𝑍 = (Cntz‘𝐺)
lsmhash.t (𝜑𝑇 ∈ (SubGrp‘𝐺))
lsmhash.u (𝜑𝑈 ∈ (SubGrp‘𝐺))
lsmhash.i (𝜑 → (𝑇𝑈) = { 0 })
lsmhash.s (𝜑𝑇 ⊆ (𝑍𝑈))
lsmhash.1 (𝜑𝑇 ∈ Fin)
lsmhash.2 (𝜑𝑈 ∈ Fin)
Assertion
Ref Expression
lsmhash (𝜑 → (♯‘(𝑇 𝑈)) = ((♯‘𝑇) · (♯‘𝑈)))

Proof of Theorem lsmhash
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ovexd 7170 . . . 4 (𝜑 → (𝑇 𝑈) ∈ V)
2 lsmhash.t . . . . 5 (𝜑𝑇 ∈ (SubGrp‘𝐺))
3 lsmhash.u . . . . 5 (𝜑𝑈 ∈ (SubGrp‘𝐺))
42, 3xpexd 7454 . . . 4 (𝜑 → (𝑇 × 𝑈) ∈ V)
5 eqid 2798 . . . . . . . 8 (+g𝐺) = (+g𝐺)
6 lsmhash.p . . . . . . . 8 = (LSSum‘𝐺)
7 lsmhash.o . . . . . . . 8 0 = (0g𝐺)
8 lsmhash.z . . . . . . . 8 𝑍 = (Cntz‘𝐺)
9 lsmhash.i . . . . . . . 8 (𝜑 → (𝑇𝑈) = { 0 })
10 lsmhash.s . . . . . . . 8 (𝜑𝑇 ⊆ (𝑍𝑈))
11 eqid 2798 . . . . . . . 8 (proj1𝐺) = (proj1𝐺)
125, 6, 7, 8, 2, 3, 9, 10, 11pj1f 18815 . . . . . . 7 (𝜑 → (𝑇(proj1𝐺)𝑈):(𝑇 𝑈)⟶𝑇)
1312ffvelrnda 6828 . . . . . 6 ((𝜑𝑥 ∈ (𝑇 𝑈)) → ((𝑇(proj1𝐺)𝑈)‘𝑥) ∈ 𝑇)
145, 6, 7, 8, 2, 3, 9, 10, 11pj2f 18816 . . . . . . 7 (𝜑 → (𝑈(proj1𝐺)𝑇):(𝑇 𝑈)⟶𝑈)
1514ffvelrnda 6828 . . . . . 6 ((𝜑𝑥 ∈ (𝑇 𝑈)) → ((𝑈(proj1𝐺)𝑇)‘𝑥) ∈ 𝑈)
1613, 15opelxpd 5557 . . . . 5 ((𝜑𝑥 ∈ (𝑇 𝑈)) → ⟨((𝑇(proj1𝐺)𝑈)‘𝑥), ((𝑈(proj1𝐺)𝑇)‘𝑥)⟩ ∈ (𝑇 × 𝑈))
1716ex 416 . . . 4 (𝜑 → (𝑥 ∈ (𝑇 𝑈) → ⟨((𝑇(proj1𝐺)𝑈)‘𝑥), ((𝑈(proj1𝐺)𝑇)‘𝑥)⟩ ∈ (𝑇 × 𝑈)))
182, 3jca 515 . . . . . 6 (𝜑 → (𝑇 ∈ (SubGrp‘𝐺) ∧ 𝑈 ∈ (SubGrp‘𝐺)))
19 xp1st 7703 . . . . . . 7 (𝑦 ∈ (𝑇 × 𝑈) → (1st𝑦) ∈ 𝑇)
20 xp2nd 7704 . . . . . . 7 (𝑦 ∈ (𝑇 × 𝑈) → (2nd𝑦) ∈ 𝑈)
2119, 20jca 515 . . . . . 6 (𝑦 ∈ (𝑇 × 𝑈) → ((1st𝑦) ∈ 𝑇 ∧ (2nd𝑦) ∈ 𝑈))
225, 6lsmelvali 18767 . . . . . 6 (((𝑇 ∈ (SubGrp‘𝐺) ∧ 𝑈 ∈ (SubGrp‘𝐺)) ∧ ((1st𝑦) ∈ 𝑇 ∧ (2nd𝑦) ∈ 𝑈)) → ((1st𝑦)(+g𝐺)(2nd𝑦)) ∈ (𝑇 𝑈))
2318, 21, 22syl2an 598 . . . . 5 ((𝜑𝑦 ∈ (𝑇 × 𝑈)) → ((1st𝑦)(+g𝐺)(2nd𝑦)) ∈ (𝑇 𝑈))
2423ex 416 . . . 4 (𝜑 → (𝑦 ∈ (𝑇 × 𝑈) → ((1st𝑦)(+g𝐺)(2nd𝑦)) ∈ (𝑇 𝑈)))
252adantr 484 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑇 ∈ (SubGrp‘𝐺))
263adantr 484 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑈 ∈ (SubGrp‘𝐺))
279adantr 484 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑇𝑈) = { 0 })
2810adantr 484 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑇 ⊆ (𝑍𝑈))
29 simprl 770 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑥 ∈ (𝑇 𝑈))
3019ad2antll 728 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (1st𝑦) ∈ 𝑇)
3120ad2antll 728 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (2nd𝑦) ∈ 𝑈)
325, 6, 7, 8, 25, 26, 27, 28, 11, 29, 30, 31pj1eq 18818 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑥 = ((1st𝑦)(+g𝐺)(2nd𝑦)) ↔ (((𝑇(proj1𝐺)𝑈)‘𝑥) = (1st𝑦) ∧ ((𝑈(proj1𝐺)𝑇)‘𝑥) = (2nd𝑦))))
33 eqcom 2805 . . . . . . . 8 (((𝑇(proj1𝐺)𝑈)‘𝑥) = (1st𝑦) ↔ (1st𝑦) = ((𝑇(proj1𝐺)𝑈)‘𝑥))
34 eqcom 2805 . . . . . . . 8 (((𝑈(proj1𝐺)𝑇)‘𝑥) = (2nd𝑦) ↔ (2nd𝑦) = ((𝑈(proj1𝐺)𝑇)‘𝑥))
3533, 34anbi12i 629 . . . . . . 7 ((((𝑇(proj1𝐺)𝑈)‘𝑥) = (1st𝑦) ∧ ((𝑈(proj1𝐺)𝑇)‘𝑥) = (2nd𝑦)) ↔ ((1st𝑦) = ((𝑇(proj1𝐺)𝑈)‘𝑥) ∧ (2nd𝑦) = ((𝑈(proj1𝐺)𝑇)‘𝑥)))
3632, 35syl6bb 290 . . . . . 6 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑥 = ((1st𝑦)(+g𝐺)(2nd𝑦)) ↔ ((1st𝑦) = ((𝑇(proj1𝐺)𝑈)‘𝑥) ∧ (2nd𝑦) = ((𝑈(proj1𝐺)𝑇)‘𝑥))))
37 eqop 7713 . . . . . . 7 (𝑦 ∈ (𝑇 × 𝑈) → (𝑦 = ⟨((𝑇(proj1𝐺)𝑈)‘𝑥), ((𝑈(proj1𝐺)𝑇)‘𝑥)⟩ ↔ ((1st𝑦) = ((𝑇(proj1𝐺)𝑈)‘𝑥) ∧ (2nd𝑦) = ((𝑈(proj1𝐺)𝑇)‘𝑥))))
3837ad2antll 728 . . . . . 6 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑦 = ⟨((𝑇(proj1𝐺)𝑈)‘𝑥), ((𝑈(proj1𝐺)𝑇)‘𝑥)⟩ ↔ ((1st𝑦) = ((𝑇(proj1𝐺)𝑈)‘𝑥) ∧ (2nd𝑦) = ((𝑈(proj1𝐺)𝑇)‘𝑥))))
3936, 38bitr4d 285 . . . . 5 ((𝜑 ∧ (𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑥 = ((1st𝑦)(+g𝐺)(2nd𝑦)) ↔ 𝑦 = ⟨((𝑇(proj1𝐺)𝑈)‘𝑥), ((𝑈(proj1𝐺)𝑇)‘𝑥)⟩))
4039ex 416 . . . 4 (𝜑 → ((𝑥 ∈ (𝑇 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈)) → (𝑥 = ((1st𝑦)(+g𝐺)(2nd𝑦)) ↔ 𝑦 = ⟨((𝑇(proj1𝐺)𝑈)‘𝑥), ((𝑈(proj1𝐺)𝑇)‘𝑥)⟩)))
411, 4, 17, 24, 40en3d 8529 . . 3 (𝜑 → (𝑇 𝑈) ≈ (𝑇 × 𝑈))
42 hasheni 13704 . . 3 ((𝑇 𝑈) ≈ (𝑇 × 𝑈) → (♯‘(𝑇 𝑈)) = (♯‘(𝑇 × 𝑈)))
4341, 42syl 17 . 2 (𝜑 → (♯‘(𝑇 𝑈)) = (♯‘(𝑇 × 𝑈)))
44 lsmhash.1 . . 3 (𝜑𝑇 ∈ Fin)
45 lsmhash.2 . . 3 (𝜑𝑈 ∈ Fin)
46 hashxp 13791 . . 3 ((𝑇 ∈ Fin ∧ 𝑈 ∈ Fin) → (♯‘(𝑇 × 𝑈)) = ((♯‘𝑇) · (♯‘𝑈)))
4744, 45, 46syl2anc 587 . 2 (𝜑 → (♯‘(𝑇 × 𝑈)) = ((♯‘𝑇) · (♯‘𝑈)))
4843, 47eqtrd 2833 1 (𝜑 → (♯‘(𝑇 𝑈)) = ((♯‘𝑇) · (♯‘𝑈)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399   = wceq 1538  wcel 2111  cin 3880  wss 3881  {csn 4525  cop 4531   class class class wbr 5030   × cxp 5517  cfv 6324  (class class class)co 7135  1st c1st 7669  2nd c2nd 7670  cen 8489  Fincfn 8492   · cmul 10531  chash 13686  +gcplusg 16557  0gc0g 16705  SubGrpcsubg 18265  Cntzccntz 18437  LSSumclsm 18751  proj1cpj1 18752
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-rep 5154  ax-sep 5167  ax-nul 5174  ax-pow 5231  ax-pr 5295  ax-un 7441  ax-cnex 10582  ax-resscn 10583  ax-1cn 10584  ax-icn 10585  ax-addcl 10586  ax-addrcl 10587  ax-mulcl 10588  ax-mulrcl 10589  ax-mulcom 10590  ax-addass 10591  ax-mulass 10592  ax-distr 10593  ax-i2m1 10594  ax-1ne0 10595  ax-1rid 10596  ax-rnegex 10597  ax-rrecex 10598  ax-cnre 10599  ax-pre-lttri 10600  ax-pre-lttrn 10601  ax-pre-ltadd 10602  ax-pre-mulgt0 10603
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-nel 3092  df-ral 3111  df-rex 3112  df-reu 3113  df-rmo 3114  df-rab 3115  df-v 3443  df-sbc 3721  df-csb 3829  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-pss 3900  df-nul 4244  df-if 4426  df-pw 4499  df-sn 4526  df-pr 4528  df-tp 4530  df-op 4532  df-uni 4801  df-int 4839  df-iun 4883  df-br 5031  df-opab 5093  df-mpt 5111  df-tr 5137  df-id 5425  df-eprel 5430  df-po 5438  df-so 5439  df-fr 5478  df-we 5480  df-xp 5525  df-rel 5526  df-cnv 5527  df-co 5528  df-dm 5529  df-rn 5530  df-res 5531  df-ima 5532  df-pred 6116  df-ord 6162  df-on 6163  df-lim 6164  df-suc 6165  df-iota 6283  df-fun 6326  df-fn 6327  df-f 6328  df-f1 6329  df-fo 6330  df-f1o 6331  df-fv 6332  df-riota 7093  df-ov 7138  df-oprab 7139  df-mpo 7140  df-om 7561  df-1st 7671  df-2nd 7672  df-wrecs 7930  df-recs 7991  df-rdg 8029  df-1o 8085  df-oadd 8089  df-er 8272  df-en 8493  df-dom 8494  df-sdom 8495  df-fin 8496  df-dju 9314  df-card 9352  df-pnf 10666  df-mnf 10667  df-xr 10668  df-ltxr 10669  df-le 10670  df-sub 10861  df-neg 10862  df-nn 11626  df-2 11688  df-n0 11886  df-z 11970  df-uz 12232  df-fz 12886  df-hash 13687  df-ndx 16478  df-slot 16479  df-base 16481  df-sets 16482  df-ress 16483  df-plusg 16570  df-0g 16707  df-mgm 17844  df-sgrp 17893  df-mnd 17904  df-grp 18098  df-minusg 18099  df-sbg 18100  df-subg 18268  df-cntz 18439  df-lsm 18753  df-pj1 18754
This theorem is referenced by:  ablfacrp2  19182  ablfac1eulem  19187  ablfac1eu  19188  pgpfaclem2  19197
  Copyright terms: Public domain W3C validator