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

Theorem lsmhash 16327
Description: The order of the direct product of groups. (Contributed by Mario Carneiro, 21-Apr-2016.)
Hypotheses
Ref Expression
lsmhash.p  |-  .(+)  =  (
LSSum `  G )
lsmhash.o  |-  .0.  =  ( 0g `  G )
lsmhash.z  |-  Z  =  (Cntz `  G )
lsmhash.t  |-  ( ph  ->  T  e.  (SubGrp `  G ) )
lsmhash.u  |-  ( ph  ->  U  e.  (SubGrp `  G ) )
lsmhash.i  |-  ( ph  ->  ( T  i^i  U
)  =  {  .0.  } )
lsmhash.s  |-  ( ph  ->  T  C_  ( Z `  U ) )
lsmhash.1  |-  ( ph  ->  T  e.  Fin )
lsmhash.2  |-  ( ph  ->  U  e.  Fin )
Assertion
Ref Expression
lsmhash  |-  ( ph  ->  ( # `  ( T  .(+)  U ) )  =  ( ( # `  T )  x.  ( # `
 U ) ) )

Proof of Theorem lsmhash
Dummy variables  x  y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ovex 6228 . . . . 5  |-  ( T 
.(+)  U )  e.  _V
21a1i 11 . . . 4  |-  ( ph  ->  ( T  .(+)  U )  e.  _V )
3 lsmhash.t . . . . 5  |-  ( ph  ->  T  e.  (SubGrp `  G ) )
4 lsmhash.u . . . . 5  |-  ( ph  ->  U  e.  (SubGrp `  G ) )
5 xpexg 6620 . . . . 5  |-  ( ( T  e.  (SubGrp `  G )  /\  U  e.  (SubGrp `  G )
)  ->  ( T  X.  U )  e.  _V )
63, 4, 5syl2anc 661 . . . 4  |-  ( ph  ->  ( T  X.  U
)  e.  _V )
7 eqid 2454 . . . . . . . 8  |-  ( +g  `  G )  =  ( +g  `  G )
8 lsmhash.p . . . . . . . 8  |-  .(+)  =  (
LSSum `  G )
9 lsmhash.o . . . . . . . 8  |-  .0.  =  ( 0g `  G )
10 lsmhash.z . . . . . . . 8  |-  Z  =  (Cntz `  G )
11 lsmhash.i . . . . . . . 8  |-  ( ph  ->  ( T  i^i  U
)  =  {  .0.  } )
12 lsmhash.s . . . . . . . 8  |-  ( ph  ->  T  C_  ( Z `  U ) )
13 eqid 2454 . . . . . . . 8  |-  ( proj1 `  G )  =  ( proj1 `  G )
147, 8, 9, 10, 3, 4, 11, 12, 13pj1f 16319 . . . . . . 7  |-  ( ph  ->  ( T ( proj1 `  G ) U ) : ( T  .(+)  U ) --> T )
1514ffvelrnda 5955 . . . . . 6  |-  ( (
ph  /\  x  e.  ( T  .(+)  U ) )  ->  ( ( T ( proj1 `  G ) U ) `
 x )  e.  T )
167, 8, 9, 10, 3, 4, 11, 12, 13pj2f 16320 . . . . . . 7  |-  ( ph  ->  ( U ( proj1 `  G ) T ) : ( T  .(+)  U ) --> U )
1716ffvelrnda 5955 . . . . . 6  |-  ( (
ph  /\  x  e.  ( T  .(+)  U ) )  ->  ( ( U ( proj1 `  G ) T ) `
 x )  e.  U )
18 opelxpi 4982 . . . . . 6  |-  ( ( ( ( T (
proj1 `  G
) U ) `  x )  e.  T  /\  ( ( U (
proj1 `  G
) T ) `  x )  e.  U
)  ->  <. ( ( T ( proj1 `  G ) U ) `
 x ) ,  ( ( U (
proj1 `  G
) T ) `  x ) >.  e.  ( T  X.  U ) )
1915, 17, 18syl2anc 661 . . . . 5  |-  ( (
ph  /\  x  e.  ( T  .(+)  U ) )  ->  <. ( ( T ( proj1 `  G ) U ) `
 x ) ,  ( ( U (
proj1 `  G
) T ) `  x ) >.  e.  ( T  X.  U ) )
2019ex 434 . . . 4  |-  ( ph  ->  ( x  e.  ( T  .(+)  U )  -> 
<. ( ( T (
proj1 `  G
) U ) `  x ) ,  ( ( U ( proj1 `  G ) T ) `  x
) >.  e.  ( T  X.  U ) ) )
213, 4jca 532 . . . . . 6  |-  ( ph  ->  ( T  e.  (SubGrp `  G )  /\  U  e.  (SubGrp `  G )
) )
22 xp1st 6719 . . . . . . 7  |-  ( y  e.  ( T  X.  U )  ->  ( 1st `  y )  e.  T )
23 xp2nd 6720 . . . . . . 7  |-  ( y  e.  ( T  X.  U )  ->  ( 2nd `  y )  e.  U )
2422, 23jca 532 . . . . . 6  |-  ( y  e.  ( T  X.  U )  ->  (
( 1st `  y
)  e.  T  /\  ( 2nd `  y )  e.  U ) )
257, 8lsmelvali 16274 . . . . . 6  |-  ( ( ( T  e.  (SubGrp `  G )  /\  U  e.  (SubGrp `  G )
)  /\  ( ( 1st `  y )  e.  T  /\  ( 2nd `  y )  e.  U
) )  ->  (
( 1st `  y
) ( +g  `  G
) ( 2nd `  y
) )  e.  ( T  .(+)  U )
)
2621, 24, 25syl2an 477 . . . . 5  |-  ( (
ph  /\  y  e.  ( T  X.  U
) )  ->  (
( 1st `  y
) ( +g  `  G
) ( 2nd `  y
) )  e.  ( T  .(+)  U )
)
2726ex 434 . . . 4  |-  ( ph  ->  ( y  e.  ( T  X.  U )  ->  ( ( 1st `  y ) ( +g  `  G ) ( 2nd `  y ) )  e.  ( T  .(+)  U ) ) )
283adantr 465 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  T  e.  (SubGrp `  G )
)
294adantr 465 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  U  e.  (SubGrp `  G )
)
3011adantr 465 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  ( T  i^i  U )  =  {  .0.  } )
3112adantr 465 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  T  C_  ( Z `  U
) )
32 simprl 755 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  x  e.  ( T  .(+)  U ) )
3322ad2antll 728 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  ( 1st `  y )  e.  T )
3423ad2antll 728 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  ( 2nd `  y )  e.  U )
357, 8, 9, 10, 28, 29, 30, 31, 13, 32, 33, 34pj1eq 16322 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  (
x  =  ( ( 1st `  y ) ( +g  `  G
) ( 2nd `  y
) )  <->  ( (
( T ( proj1 `  G ) U ) `  x
)  =  ( 1st `  y )  /\  (
( U ( proj1 `  G ) T ) `  x
)  =  ( 2nd `  y ) ) ) )
36 eqcom 2463 . . . . . . . 8  |-  ( ( ( T ( proj1 `  G ) U ) `  x
)  =  ( 1st `  y )  <->  ( 1st `  y )  =  ( ( T ( proj1 `  G ) U ) `  x
) )
37 eqcom 2463 . . . . . . . 8  |-  ( ( ( U ( proj1 `  G ) T ) `  x
)  =  ( 2nd `  y )  <->  ( 2nd `  y )  =  ( ( U ( proj1 `  G ) T ) `  x
) )
3836, 37anbi12i 697 . . . . . . 7  |-  ( ( ( ( T (
proj1 `  G
) U ) `  x )  =  ( 1st `  y )  /\  ( ( U ( proj1 `  G ) T ) `
 x )  =  ( 2nd `  y
) )  <->  ( ( 1st `  y )  =  ( ( T (
proj1 `  G
) U ) `  x )  /\  ( 2nd `  y )  =  ( ( U (
proj1 `  G
) T ) `  x ) ) )
3935, 38syl6bb 261 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  (
x  =  ( ( 1st `  y ) ( +g  `  G
) ( 2nd `  y
) )  <->  ( ( 1st `  y )  =  ( ( T (
proj1 `  G
) U ) `  x )  /\  ( 2nd `  y )  =  ( ( U (
proj1 `  G
) T ) `  x ) ) ) )
40 eqop 6729 . . . . . . 7  |-  ( y  e.  ( T  X.  U )  ->  (
y  =  <. (
( T ( proj1 `  G ) U ) `  x
) ,  ( ( U ( proj1 `  G ) T ) `
 x ) >.  <->  ( ( 1st `  y
)  =  ( ( T ( proj1 `  G ) U ) `
 x )  /\  ( 2nd `  y )  =  ( ( U ( proj1 `  G ) T ) `
 x ) ) ) )
4140ad2antll 728 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  (
y  =  <. (
( T ( proj1 `  G ) U ) `  x
) ,  ( ( U ( proj1 `  G ) T ) `
 x ) >.  <->  ( ( 1st `  y
)  =  ( ( T ( proj1 `  G ) U ) `
 x )  /\  ( 2nd `  y )  =  ( ( U ( proj1 `  G ) T ) `
 x ) ) ) )
4239, 41bitr4d 256 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) ) )  ->  (
x  =  ( ( 1st `  y ) ( +g  `  G
) ( 2nd `  y
) )  <->  y  =  <. ( ( T (
proj1 `  G
) U ) `  x ) ,  ( ( U ( proj1 `  G ) T ) `  x
) >. ) )
4342ex 434 . . . 4  |-  ( ph  ->  ( ( x  e.  ( T  .(+)  U )  /\  y  e.  ( T  X.  U ) )  ->  ( x  =  ( ( 1st `  y ) ( +g  `  G ) ( 2nd `  y ) )  <->  y  =  <. ( ( T (
proj1 `  G
) U ) `  x ) ,  ( ( U ( proj1 `  G ) T ) `  x
) >. ) ) )
442, 6, 20, 27, 43en3d 7459 . . 3  |-  ( ph  ->  ( T  .(+)  U ) 
~~  ( T  X.  U ) )
45 hasheni 12240 . . 3  |-  ( ( T  .(+)  U )  ~~  ( T  X.  U
)  ->  ( # `  ( T  .(+)  U ) )  =  ( # `  ( T  X.  U ) ) )
4644, 45syl 16 . 2  |-  ( ph  ->  ( # `  ( T  .(+)  U ) )  =  ( # `  ( T  X.  U ) ) )
47 lsmhash.1 . . 3  |-  ( ph  ->  T  e.  Fin )
48 lsmhash.2 . . 3  |-  ( ph  ->  U  e.  Fin )
49 hashxp 12318 . . 3  |-  ( ( T  e.  Fin  /\  U  e.  Fin )  ->  ( # `  ( T  X.  U ) )  =  ( ( # `  T )  x.  ( # `
 U ) ) )
5047, 48, 49syl2anc 661 . 2  |-  ( ph  ->  ( # `  ( T  X.  U ) )  =  ( ( # `  T )  x.  ( # `
 U ) ) )
5146, 50eqtrd 2495 1  |-  ( ph  ->  ( # `  ( T  .(+)  U ) )  =  ( ( # `  T )  x.  ( # `
 U ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1370    e. wcel 1758   _Vcvv 3078    i^i cin 3438    C_ wss 3439   {csn 3988   <.cop 3994   class class class wbr 4403    X. cxp 4949   ` cfv 5529  (class class class)co 6203   1stc1st 6688   2ndc2nd 6689    ~~ cen 7420   Fincfn 7423    x. cmul 9402   #chash 12224   +g cplusg 14361   0gc0g 14501  SubGrpcsubg 15798  Cntzccntz 15956   LSSumclsm 16258   proj1cpj1 16259
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1592  ax-4 1603  ax-5 1671  ax-6 1710  ax-7 1730  ax-8 1760  ax-9 1762  ax-10 1777  ax-11 1782  ax-12 1794  ax-13 1955  ax-ext 2432  ax-rep 4514  ax-sep 4524  ax-nul 4532  ax-pow 4581  ax-pr 4642  ax-un 6485  ax-cnex 9453  ax-resscn 9454  ax-1cn 9455  ax-icn 9456  ax-addcl 9457  ax-addrcl 9458  ax-mulcl 9459  ax-mulrcl 9460  ax-mulcom 9461  ax-addass 9462  ax-mulass 9463  ax-distr 9464  ax-i2m1 9465  ax-1ne0 9466  ax-1rid 9467  ax-rnegex 9468  ax-rrecex 9469  ax-cnre 9470  ax-pre-lttri 9471  ax-pre-lttrn 9472  ax-pre-ltadd 9473  ax-pre-mulgt0 9474
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1373  df-ex 1588  df-nf 1591  df-sb 1703  df-eu 2266  df-mo 2267  df-clab 2440  df-cleq 2446  df-clel 2449  df-nfc 2604  df-ne 2650  df-nel 2651  df-ral 2804  df-rex 2805  df-reu 2806  df-rmo 2807  df-rab 2808  df-v 3080  df-sbc 3295  df-csb 3399  df-dif 3442  df-un 3444  df-in 3446  df-ss 3453  df-pss 3455  df-nul 3749  df-if 3903  df-pw 3973  df-sn 3989  df-pr 3991  df-tp 3993  df-op 3995  df-uni 4203  df-int 4240  df-iun 4284  df-br 4404  df-opab 4462  df-mpt 4463  df-tr 4497  df-eprel 4743  df-id 4747  df-po 4752  df-so 4753  df-fr 4790  df-we 4792  df-ord 4833  df-on 4834  df-lim 4835  df-suc 4836  df-xp 4957  df-rel 4958  df-cnv 4959  df-co 4960  df-dm 4961  df-rn 4962  df-res 4963  df-ima 4964  df-iota 5492  df-fun 5531  df-fn 5532  df-f 5533  df-f1 5534  df-fo 5535  df-f1o 5536  df-fv 5537  df-riota 6164  df-ov 6206  df-oprab 6207  df-mpt2 6208  df-om 6590  df-1st 6690  df-2nd 6691  df-recs 6945  df-rdg 6979  df-1o 7033  df-oadd 7037  df-er 7214  df-en 7424  df-dom 7425  df-sdom 7426  df-fin 7427  df-card 8224  df-cda 8452  df-pnf 9535  df-mnf 9536  df-xr 9537  df-ltxr 9538  df-le 9539  df-sub 9712  df-neg 9713  df-nn 10438  df-2 10495  df-n0 10695  df-z 10762  df-uz 10977  df-fz 11559  df-hash 12225  df-ndx 14299  df-slot 14300  df-base 14301  df-sets 14302  df-ress 14303  df-plusg 14374  df-0g 14503  df-mnd 15538  df-grp 15668  df-minusg 15669  df-sbg 15670  df-subg 15801  df-cntz 15958  df-lsm 16260  df-pj1 16261
This theorem is referenced by:  ablfacrp2  16700  ablfac1eulem  16705  ablfac1eu  16706  pgpfaclem2  16715
  Copyright terms: Public domain W3C validator