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

Theorem dpjidclOLD 16586
Description: The key property of projections: the sum of all the projections of  A is  A. (Contributed by Mario Carneiro, 26-Apr-2016.) Obsolete version of dpjidcl 16579 as of 14-Jul-2019. (New usage is discouraged.) (Proof modification is discouraged.)
Hypotheses
Ref Expression
dpjidclOLD.1  |-  ( ph  ->  G dom DProd  S )
dpjidclOLD.2  |-  ( ph  ->  dom  S  =  I )
dpjidclOLD.p  |-  P  =  ( GdProj S )
dpjidclOLD.3  |-  ( ph  ->  A  e.  ( G DProd 
S ) )
dpjidclOLD.0  |-  .0.  =  ( 0g `  G )
dpjidclOLD.w  |-  W  =  { h  e.  X_ i  e.  I  ( S `  i )  |  ( `' h " ( _V  \  {  .0.  } ) )  e. 
Fin }
Assertion
Ref Expression
dpjidclOLD  |-  ( ph  ->  ( ( x  e.  I  |->  ( ( P `
 x ) `  A ) )  e.  W  /\  A  =  ( G  gsumg  ( x  e.  I  |->  ( ( P `  x ) `  A
) ) ) ) )
Distinct variable groups:    x, h,  .0.    h, i, G, x    P, h, x    ph, i, x    h, I, i, x   
x, W    A, h, x    S, h, i, x
Allowed substitution hints:    ph( h)    A( i)    P( i)    W( h, i)    .0. ( i)

Proof of Theorem dpjidclOLD
Dummy variables  k 
f are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 dpjidclOLD.3 . . . 4  |-  ( ph  ->  A  e.  ( G DProd 
S ) )
2 dpjidclOLD.2 . . . . 5  |-  ( ph  ->  dom  S  =  I )
3 dpjidclOLD.0 . . . . . 6  |-  .0.  =  ( 0g `  G )
4 dpjidclOLD.w . . . . . 6  |-  W  =  { h  e.  X_ i  e.  I  ( S `  i )  |  ( `' h " ( _V  \  {  .0.  } ) )  e. 
Fin }
53, 4eldprdOLD 16510 . . . . 5  |-  ( dom 
S  =  I  -> 
( A  e.  ( G DProd  S )  <->  ( G dom DProd  S  /\  E. f  e.  W  A  =  ( G  gsumg  f ) ) ) )
62, 5syl 16 . . . 4  |-  ( ph  ->  ( A  e.  ( G DProd  S )  <->  ( G dom DProd  S  /\  E. f  e.  W  A  =  ( G  gsumg  f ) ) ) )
71, 6mpbid 210 . . 3  |-  ( ph  ->  ( G dom DProd  S  /\  E. f  e.  W  A  =  ( G  gsumg  f ) ) )
87simprd 463 . 2  |-  ( ph  ->  E. f  e.  W  A  =  ( G  gsumg  f ) )
9 dpjidclOLD.1 . . . . 5  |-  ( ph  ->  G dom DProd  S )
109adantr 465 . . . 4  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  G dom DProd  S )
112adantr 465 . . . 4  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  dom  S  =  I )
129ad2antrr 725 . . . . . 6  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  G dom DProd  S )
132ad2antrr 725 . . . . . 6  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  dom  S  =  I )
14 dpjidclOLD.p . . . . . 6  |-  P  =  ( GdProj S )
15 simpr 461 . . . . . 6  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  x  e.  I )
1612, 13, 14, 15dpjf 16578 . . . . 5  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( P `  x
) : ( G DProd 
S ) --> ( S `
 x ) )
171ad2antrr 725 . . . . 5  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  A  e.  ( G DProd 
S ) )
1816, 17ffvelrnd 5865 . . . 4  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( ( P `  x ) `  A
)  e.  ( S `
 x ) )
19 simprl 755 . . . . . 6  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  f  e.  W
)
204, 10, 11, 19dprdffiOLD 16526 . . . . 5  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  ( `' f
" ( _V  \  {  .0.  } ) )  e.  Fin )
21 eldifi 3499 . . . . . . . 8  |-  ( x  e.  ( I  \ 
( `' f "
( _V  \  {  .0.  } ) ) )  ->  x  e.  I
)
22 eqid 2443 . . . . . . . . . 10  |-  ( proj1 `  G )  =  ( proj1 `  G )
2312, 13, 14, 22, 15dpjval 16577 . . . . . . . . 9  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( P `  x
)  =  ( ( S `  x ) ( proj1 `  G ) ( G DProd 
( S  |`  (
I  \  { x } ) ) ) ) )
2423fveq1d 5714 . . . . . . . 8  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( ( P `  x ) `  A
)  =  ( ( ( S `  x
) ( proj1 `  G ) ( G DProd 
( S  |`  (
I  \  { x } ) ) ) ) `  A ) )
2521, 24sylan2 474 . . . . . . 7  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  (
( P `  x
) `  A )  =  ( ( ( S `  x ) ( proj1 `  G ) ( G DProd 
( S  |`  (
I  \  { x } ) ) ) ) `  A ) )
26 simplrr 760 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  A  =  ( G  gsumg  f ) )
27 eqid 2443 . . . . . . . . . . 11  |-  ( Base `  G )  =  (
Base `  G )
28 eqid 2443 . . . . . . . . . . 11  |-  (Cntz `  G )  =  (Cntz `  G )
29 dprdgrp 16511 . . . . . . . . . . . . 13  |-  ( G dom DProd  S  ->  G  e. 
Grp )
30 grpmnd 15571 . . . . . . . . . . . . 13  |-  ( G  e.  Grp  ->  G  e.  Mnd )
3110, 29, 303syl 20 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  G  e.  Mnd )
3231adantr 465 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  G  e.  Mnd )
33 reldmdprd 16501 . . . . . . . . . . . . . . 15  |-  Rel  dom DProd
3433brrelex2i 4901 . . . . . . . . . . . . . 14  |-  ( G dom DProd  S  ->  S  e. 
_V )
35 dmexg 6530 . . . . . . . . . . . . . 14  |-  ( S  e.  _V  ->  dom  S  e.  _V )
3610, 34, 353syl 20 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  dom  S  e.  _V )
3711, 36eqeltrrd 2518 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  I  e.  _V )
3837adantr 465 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  I  e.  _V )
394, 10, 11, 19, 27dprdffOLD 16524 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  f : I --> ( Base `  G
) )
4039adantr 465 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  f : I --> ( Base `  G ) )
4119adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  f  e.  W )
424, 12, 13, 41, 28dprdfcntzOLD 16527 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ran  f  C_  (
(Cntz `  G ) `  ran  f ) )
4321, 42sylan2 474 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  ran  f  C_  ( (Cntz `  G ) `  ran  f ) )
44 snssi 4038 . . . . . . . . . . . . 13  |-  ( x  e.  ( I  \ 
( `' f "
( _V  \  {  .0.  } ) ) )  ->  { x }  C_  ( I  \  ( `' f " ( _V  \  {  .0.  }
) ) ) )
4544adantl 466 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  { x }  C_  ( I  \ 
( `' f "
( _V  \  {  .0.  } ) ) ) )
4645difss2d 3507 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  { x }  C_  I )
47 cnvimass 5210 . . . . . . . . . . . . . . 15  |-  ( `' f " ( _V 
\  {  .0.  }
) )  C_  dom  f
48 fdm 5584 . . . . . . . . . . . . . . . 16  |-  ( f : I --> ( Base `  G )  ->  dom  f  =  I )
4939, 48syl 16 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  dom  f  =  I )
5047, 49syl5sseq 3425 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  ( `' f
" ( _V  \  {  .0.  } ) ) 
C_  I )
5150adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  ( `' f " ( _V  \  {  .0.  }
) )  C_  I
)
52 ssconb 3510 . . . . . . . . . . . . 13  |-  ( ( { x }  C_  I  /\  ( `' f
" ( _V  \  {  .0.  } ) ) 
C_  I )  -> 
( { x }  C_  ( I  \  ( `' f " ( _V  \  {  .0.  }
) ) )  <->  ( `' f " ( _V  \  {  .0.  } ) ) 
C_  ( I  \  { x } ) ) )
5346, 51, 52syl2anc 661 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  ( { x }  C_  ( I  \  ( `' f " ( _V  \  {  .0.  }
) ) )  <->  ( `' f " ( _V  \  {  .0.  } ) ) 
C_  ( I  \  { x } ) ) )
5445, 53mpbid 210 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  ( `' f " ( _V  \  {  .0.  }
) )  C_  (
I  \  { x } ) )
5520adantr 465 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  ( `' f " ( _V  \  {  .0.  }
) )  e.  Fin )
5627, 3, 28, 32, 38, 40, 43, 54, 55gsumzresOLD 16413 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  ( G  gsumg  ( f  |`  (
I  \  { x } ) ) )  =  ( G  gsumg  f ) )
5726, 56eqtr4d 2478 . . . . . . . . 9  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  A  =  ( G  gsumg  ( f  |`  ( I  \  {
x } ) ) ) )
58 eqid 2443 . . . . . . . . . . 11  |-  { h  e.  X_ i  e.  ( I  \  { x } ) ( ( S  |`  ( I  \  { x } ) ) `  i )  |  ( `' h " ( _V  \  {  .0.  } ) )  e. 
Fin }  =  {
h  e.  X_ i  e.  ( I  \  {
x } ) ( ( S  |`  (
I  \  { x } ) ) `  i )  |  ( `' h " ( _V 
\  {  .0.  }
) )  e.  Fin }
59 difss 3504 . . . . . . . . . . . . . 14  |-  ( I 
\  { x }
)  C_  I
6059a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( I  \  {
x } )  C_  I )
6112, 13, 60dprdres 16547 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( G dom DProd  ( S  |`  ( I  \  {
x } ) )  /\  ( G DProd  ( S  |`  ( I  \  { x } ) ) )  C_  ( G DProd  S ) ) )
6261simpld 459 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  G dom DProd  ( S  |`  ( I  \  {
x } ) ) )
6312, 13dprdf2 16513 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  S : I --> (SubGrp `  G ) )
64 fssres 5599 . . . . . . . . . . . . 13  |-  ( ( S : I --> (SubGrp `  G )  /\  (
I  \  { x } )  C_  I
)  ->  ( S  |`  ( I  \  {
x } ) ) : ( I  \  { x } ) --> (SubGrp `  G )
)
6563, 59, 64sylancl 662 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( S  |`  (
I  \  { x } ) ) : ( I  \  {
x } ) --> (SubGrp `  G ) )
66 fdm 5584 . . . . . . . . . . . 12  |-  ( ( S  |`  ( I  \  { x } ) ) : ( I 
\  { x }
) --> (SubGrp `  G )  ->  dom  ( S  |`  ( I  \  { x } ) )  =  ( I  \  {
x } ) )
6765, 66syl 16 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  dom  ( S  |`  ( I  \  { x } ) )  =  ( I  \  {
x } ) )
6839adantr 465 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  f : I --> ( Base `  G ) )
6968feqmptd 5765 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  f  =  ( k  e.  I  |->  ( f `
 k ) ) )
7069reseq1d 5130 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( f  |`  (
I  \  { x } ) )  =  ( ( k  e.  I  |->  ( f `  k ) )  |`  ( I  \  { x } ) ) )
71 resmpt 5177 . . . . . . . . . . . . . 14  |-  ( ( I  \  { x } )  C_  I  ->  ( ( k  e.  I  |->  ( f `  k ) )  |`  ( I  \  { x } ) )  =  ( k  e.  ( I  \  { x } )  |->  ( f `
 k ) ) )
7259, 71ax-mp 5 . . . . . . . . . . . . 13  |-  ( ( k  e.  I  |->  ( f `  k ) )  |`  ( I  \  { x } ) )  =  ( k  e.  ( I  \  { x } ) 
|->  ( f `  k
) )
7370, 72syl6eq 2491 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( f  |`  (
I  \  { x } ) )  =  ( k  e.  ( I  \  { x } )  |->  ( f `
 k ) ) )
74 eldifi 3499 . . . . . . . . . . . . . . 15  |-  ( k  e.  ( I  \  { x } )  ->  k  e.  I
)
754, 12, 13, 41dprdfclOLD 16525 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I
)  /\  k  e.  I )  ->  (
f `  k )  e.  ( S `  k
) )
7674, 75sylan2 474 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I
)  /\  k  e.  ( I  \  { x } ) )  -> 
( f `  k
)  e.  ( S `
 k ) )
77 fvres 5725 . . . . . . . . . . . . . . 15  |-  ( k  e.  ( I  \  { x } )  ->  ( ( S  |`  ( I  \  {
x } ) ) `
 k )  =  ( S `  k
) )
7877adantl 466 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I
)  /\  k  e.  ( I  \  { x } ) )  -> 
( ( S  |`  ( I  \  { x } ) ) `  k )  =  ( S `  k ) )
7976, 78eleqtrrd 2520 . . . . . . . . . . . . 13  |-  ( ( ( ( ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I
)  /\  k  e.  ( I  \  { x } ) )  -> 
( f `  k
)  e.  ( ( S  |`  ( I  \  { x } ) ) `  k ) )
8020adantr 465 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( `' f "
( _V  \  {  .0.  } ) )  e. 
Fin )
81 ssdif 3512 . . . . . . . . . . . . . . . . . 18  |-  ( ( I  \  { x } )  C_  I  ->  ( ( I  \  { x } ) 
\  ( `' f
" ( _V  \  {  .0.  } ) ) )  C_  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )
8259, 81ax-mp 5 . . . . . . . . . . . . . . . . 17  |-  ( ( I  \  { x } )  \  ( `' f " ( _V  \  {  .0.  }
) ) )  C_  ( I  \  ( `' f " ( _V  \  {  .0.  }
) ) )
8382sseli 3373 . . . . . . . . . . . . . . . 16  |-  ( k  e.  ( ( I 
\  { x }
)  \  ( `' f " ( _V  \  {  .0.  } ) ) )  ->  k  e.  ( I  \  ( `' f " ( _V  \  {  .0.  }
) ) ) )
84 ssid 3396 . . . . . . . . . . . . . . . . . 18  |-  ( `' f " ( _V 
\  {  .0.  }
) )  C_  ( `' f " ( _V  \  {  .0.  }
) )
8584a1i 11 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( `' f "
( _V  \  {  .0.  } ) )  C_  ( `' f " ( _V  \  {  .0.  }
) ) )
8668, 85suppssrOLD 5858 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I
)  /\  k  e.  ( I  \  ( `' f " ( _V  \  {  .0.  }
) ) ) )  ->  ( f `  k )  =  .0.  )
8783, 86sylan2 474 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I
)  /\  k  e.  ( ( I  \  { x } ) 
\  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  (
f `  k )  =  .0.  )
8887suppss2OLD 6336 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( `' ( k  e.  ( I  \  { x } ) 
|->  ( f `  k
) ) " ( _V  \  {  .0.  }
) )  C_  ( `' f " ( _V  \  {  .0.  }
) ) )
89 ssfi 7554 . . . . . . . . . . . . . 14  |-  ( ( ( `' f "
( _V  \  {  .0.  } ) )  e. 
Fin  /\  ( `' ( k  e.  ( I  \  { x } )  |->  ( f `
 k ) )
" ( _V  \  {  .0.  } ) ) 
C_  ( `' f
" ( _V  \  {  .0.  } ) ) )  ->  ( `' ( k  e.  ( I  \  { x } )  |->  ( f `
 k ) )
" ( _V  \  {  .0.  } ) )  e.  Fin )
9080, 88, 89syl2anc 661 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( `' ( k  e.  ( I  \  { x } ) 
|->  ( f `  k
) ) " ( _V  \  {  .0.  }
) )  e.  Fin )
9158, 62, 67, 79, 90dprdwdOLD 16523 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( k  e.  ( I  \  { x } )  |->  ( f `
 k ) )  e.  { h  e.  X_ i  e.  (
I  \  { x } ) ( ( S  |`  ( I  \  { x } ) ) `  i )  |  ( `' h " ( _V  \  {  .0.  } ) )  e. 
Fin } )
9273, 91eqeltrd 2517 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( f  |`  (
I  \  { x } ) )  e. 
{ h  e.  X_ i  e.  ( I  \  { x } ) ( ( S  |`  ( I  \  { x } ) ) `  i )  |  ( `' h " ( _V 
\  {  .0.  }
) )  e.  Fin } )
933, 58, 62, 67, 92eldprdiOLD 16537 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( G  gsumg  ( f  |`  (
I  \  { x } ) ) )  e.  ( G DProd  ( S  |`  ( I  \  { x } ) ) ) )
9421, 93sylan2 474 . . . . . . . . 9  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  ( G  gsumg  ( f  |`  (
I  \  { x } ) ) )  e.  ( G DProd  ( S  |`  ( I  \  { x } ) ) ) )
9557, 94eqeltrd 2517 . . . . . . . 8  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  A  e.  ( G DProd  ( S  |`  ( I  \  {
x } ) ) ) )
96 eqid 2443 . . . . . . . . . 10  |-  ( +g  `  G )  =  ( +g  `  G )
97 eqid 2443 . . . . . . . . . 10  |-  ( LSSum `  G )  =  (
LSSum `  G )
9863, 15ffvelrnd 5865 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( S `  x
)  e.  (SubGrp `  G ) )
99 dprdsubg 16543 . . . . . . . . . . 11  |-  ( G dom DProd  ( S  |`  ( I  \  { x } ) )  -> 
( G DProd  ( S  |`  ( I  \  {
x } ) ) )  e.  (SubGrp `  G ) )
10062, 99syl 16 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( G DProd  ( S  |`  ( I  \  {
x } ) ) )  e.  (SubGrp `  G ) )
10112, 13, 15, 3dpjdisj 16574 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( ( S `  x )  i^i  ( G DProd  ( S  |`  (
I  \  { x } ) ) ) )  =  {  .0.  } )
10212, 13, 15, 28dpjcntz 16573 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( S `  x
)  C_  ( (Cntz `  G ) `  ( G DProd  ( S  |`  (
I  \  { x } ) ) ) ) )
10396, 97, 3, 28, 98, 100, 101, 102, 22pj1rid 16220 . . . . . . . . 9  |-  ( ( ( ( ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I
)  /\  A  e.  ( G DProd  ( S  |`  ( I  \  {
x } ) ) ) )  ->  (
( ( S `  x ) ( proj1 `  G )
( G DProd  ( S  |`  ( I  \  {
x } ) ) ) ) `  A
)  =  .0.  )
10421, 103sylanl2 651 . . . . . . . 8  |-  ( ( ( ( ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f " ( _V 
\  {  .0.  }
) ) ) )  /\  A  e.  ( G DProd  ( S  |`  ( I  \  { x } ) ) ) )  ->  ( (
( S `  x
) ( proj1 `  G ) ( G DProd 
( S  |`  (
I  \  { x } ) ) ) ) `  A )  =  .0.  )
10595, 104mpdan 668 . . . . . . 7  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  (
( ( S `  x ) ( proj1 `  G )
( G DProd  ( S  |`  ( I  \  {
x } ) ) ) ) `  A
)  =  .0.  )
10625, 105eqtrd 2475 . . . . . 6  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  ( I  \  ( `' f
" ( _V  \  {  .0.  } ) ) ) )  ->  (
( P `  x
) `  A )  =  .0.  )
107106suppss2OLD 6336 . . . . 5  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  ( `' ( x  e.  I  |->  ( ( P `  x
) `  A )
) " ( _V 
\  {  .0.  }
) )  C_  ( `' f " ( _V  \  {  .0.  }
) ) )
108 ssfi 7554 . . . . 5  |-  ( ( ( `' f "
( _V  \  {  .0.  } ) )  e. 
Fin  /\  ( `' ( x  e.  I  |->  ( ( P `  x ) `  A
) ) " ( _V  \  {  .0.  }
) )  C_  ( `' f " ( _V  \  {  .0.  }
) ) )  -> 
( `' ( x  e.  I  |->  ( ( P `  x ) `
 A ) )
" ( _V  \  {  .0.  } ) )  e.  Fin )
10920, 107, 108syl2anc 661 . . . 4  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  ( `' ( x  e.  I  |->  ( ( P `  x
) `  A )
) " ( _V 
\  {  .0.  }
) )  e.  Fin )
1104, 10, 11, 18, 109dprdwdOLD 16523 . . 3  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  ( x  e.  I  |->  ( ( P `
 x ) `  A ) )  e.  W )
111 simprr 756 . . . 4  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  A  =  ( G  gsumg  f ) )
11239feqmptd 5765 . . . . . 6  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  f  =  ( x  e.  I  |->  ( f `  x ) ) )
113 simplrr 760 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  A  =  ( G 
gsumg  f ) )
11412, 29, 303syl 20 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  G  e.  Mnd )
11512, 34, 353syl 20 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  dom  S  e.  _V )
11613, 115eqeltrrd 2518 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  I  e.  _V )
1174, 12, 13, 41dprdffiOLD 16526 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( `' f "
( _V  \  {  .0.  } ) )  e. 
Fin )
118 disjdif 3772 . . . . . . . . . . . . 13  |-  ( { x }  i^i  (
I  \  { x } ) )  =  (/)
119118a1i 11 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( { x }  i^i  ( I  \  {
x } ) )  =  (/) )
120 undif2 3776 . . . . . . . . . . . . 13  |-  ( { x }  u.  (
I  \  { x } ) )  =  ( { x }  u.  I )
12115snssd 4039 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  { x }  C_  I )
122 ssequn1 3547 . . . . . . . . . . . . . 14  |-  ( { x }  C_  I  <->  ( { x }  u.  I )  =  I )
123121, 122sylib 196 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( { x }  u.  I )  =  I )
124120, 123syl5req 2488 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  I  =  ( { x }  u.  (
I  \  { x } ) ) )
12527, 3, 96, 28, 114, 116, 68, 42, 117, 119, 124gsumzsplitOLD 16440 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( G  gsumg  f )  =  ( ( G  gsumg  ( f  |`  { x } ) ) ( +g  `  G ) ( G  gsumg  ( f  |`  (
I  \  { x } ) ) ) ) )
12668, 121feqresmpt 5766 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( f  |`  { x } )  =  ( k  e.  { x }  |->  ( f `  k ) ) )
127126oveq2d 6128 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( G  gsumg  ( f  |`  { x } ) )  =  ( G  gsumg  ( k  e.  {
x }  |->  ( f `
 k ) ) ) )
12868, 15ffvelrnd 5865 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( f `  x
)  e.  ( Base `  G ) )
129 fveq2 5712 . . . . . . . . . . . . . . 15  |-  ( k  =  x  ->  (
f `  k )  =  ( f `  x ) )
13027, 129gsumsn 16471 . . . . . . . . . . . . . 14  |-  ( ( G  e.  Mnd  /\  x  e.  I  /\  ( f `  x
)  e.  ( Base `  G ) )  -> 
( G  gsumg  ( k  e.  {
x }  |->  ( f `
 k ) ) )  =  ( f `
 x ) )
131114, 15, 128, 130syl3anc 1218 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( G  gsumg  ( k  e.  {
x }  |->  ( f `
 k ) ) )  =  ( f `
 x ) )
132127, 131eqtrd 2475 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( G  gsumg  ( f  |`  { x } ) )  =  ( f `  x
) )
133132oveq1d 6127 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( ( G  gsumg  ( f  |`  { x } ) ) ( +g  `  G
) ( G  gsumg  ( f  |`  ( I  \  {
x } ) ) ) )  =  ( ( f `  x
) ( +g  `  G
) ( G  gsumg  ( f  |`  ( I  \  {
x } ) ) ) ) )
134113, 125, 1333eqtrd 2479 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  A  =  ( ( f `  x ) ( +g  `  G
) ( G  gsumg  ( f  |`  ( I  \  {
x } ) ) ) ) )
13512, 13, 15, 97dpjlsm 16575 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( G DProd  S )  =  ( ( S `
 x ) (
LSSum `  G ) ( G DProd  ( S  |`  ( I  \  { x } ) ) ) ) )
13617, 135eleqtrd 2519 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  A  e.  ( ( S `  x ) ( LSSum `  G )
( G DProd  ( S  |`  ( I  \  {
x } ) ) ) ) )
1374, 10, 11, 19dprdfclOLD 16525 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( f `  x
)  e.  ( S `
 x ) )
13896, 97, 3, 28, 98, 100, 101, 102, 22, 136, 137, 93pj1eq 16218 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( A  =  ( ( f `  x
) ( +g  `  G
) ( G  gsumg  ( f  |`  ( I  \  {
x } ) ) ) )  <->  ( (
( ( S `  x ) ( proj1 `  G )
( G DProd  ( S  |`  ( I  \  {
x } ) ) ) ) `  A
)  =  ( f `
 x )  /\  ( ( ( G DProd 
( S  |`  (
I  \  { x } ) ) ) ( proj1 `  G ) ( S `
 x ) ) `
 A )  =  ( G  gsumg  ( f  |`  (
I  \  { x } ) ) ) ) ) )
139134, 138mpbid 210 . . . . . . . . 9  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( ( ( ( S `  x ) ( proj1 `  G ) ( G DProd 
( S  |`  (
I  \  { x } ) ) ) ) `  A )  =  ( f `  x )  /\  (
( ( G DProd  ( S  |`  ( I  \  { x } ) ) ) ( proj1 `  G )
( S `  x
) ) `  A
)  =  ( G 
gsumg  ( f  |`  (
I  \  { x } ) ) ) ) )
140139simpld 459 . . . . . . . 8  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( ( ( S `
 x ) (
proj1 `  G
) ( G DProd  ( S  |`  ( I  \  { x } ) ) ) ) `  A )  =  ( f `  x ) )
14124, 140eqtrd 2475 . . . . . . 7  |-  ( ( ( ph  /\  (
f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  /\  x  e.  I )  ->  ( ( P `  x ) `  A
)  =  ( f `
 x ) )
142141mpteq2dva 4399 . . . . . 6  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  ( x  e.  I  |->  ( ( P `
 x ) `  A ) )  =  ( x  e.  I  |->  ( f `  x
) ) )
143112, 142eqtr4d 2478 . . . . 5  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  f  =  ( x  e.  I  |->  ( ( P `  x
) `  A )
) )
144143oveq2d 6128 . . . 4  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  ( G  gsumg  f )  =  ( G  gsumg  ( x  e.  I  |->  ( ( P `  x ) `
 A ) ) ) )
145111, 144eqtrd 2475 . . 3  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  A  =  ( G  gsumg  ( x  e.  I  |->  ( ( P `  x ) `  A
) ) ) )
146110, 145jca 532 . 2  |-  ( (
ph  /\  ( f  e.  W  /\  A  =  ( G  gsumg  f ) ) )  ->  ( ( x  e.  I  |->  ( ( P `  x ) `
 A ) )  e.  W  /\  A  =  ( G  gsumg  ( x  e.  I  |->  ( ( P `  x ) `
 A ) ) ) ) )
1478, 146rexlimddv 2866 1  |-  ( ph  ->  ( ( x  e.  I  |->  ( ( P `
 x ) `  A ) )  e.  W  /\  A  =  ( G  gsumg  ( x  e.  I  |->  ( ( P `  x ) `  A
) ) ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1369    e. wcel 1756   E.wrex 2737   {crab 2740   _Vcvv 2993    \ cdif 3346    u. cun 3347    i^i cin 3348    C_ wss 3349   (/)c0 3658   {csn 3898   class class class wbr 4313    e. cmpt 4371   `'ccnv 4860   dom cdm 4861   ran crn 4862    |` cres 4863   "cima 4864   -->wf 5435   ` cfv 5439  (class class class)co 6112   X_cixp 7284   Fincfn 7331   Basecbs 14195   +g cplusg 14259   0gc0g 14399    gsumg cgsu 14400   Mndcmnd 15430   Grpcgrp 15431  SubGrpcsubg 15696  Cntzccntz 15854   LSSumclsm 16154   proj1cpj1 16155   DProd cdprd 16497  dProjcdpj 16498
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2423  ax-rep 4424  ax-sep 4434  ax-nul 4442  ax-pow 4491  ax-pr 4552  ax-un 6393  ax-inf2 7868  ax-cnex 9359  ax-resscn 9360  ax-1cn 9361  ax-icn 9362  ax-addcl 9363  ax-addrcl 9364  ax-mulcl 9365  ax-mulrcl 9366  ax-mulcom 9367  ax-addass 9368  ax-mulass 9369  ax-distr 9370  ax-i2m1 9371  ax-1ne0 9372  ax-1rid 9373  ax-rnegex 9374  ax-rrecex 9375  ax-cnre 9376  ax-pre-lttri 9377  ax-pre-lttrn 9378  ax-pre-ltadd 9379  ax-pre-mulgt0 9380
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2430  df-cleq 2436  df-clel 2439  df-nfc 2577  df-ne 2622  df-nel 2623  df-ral 2741  df-rex 2742  df-reu 2743  df-rmo 2744  df-rab 2745  df-v 2995  df-sbc 3208  df-csb 3310  df-dif 3352  df-un 3354  df-in 3356  df-ss 3363  df-pss 3365  df-nul 3659  df-if 3813  df-pw 3883  df-sn 3899  df-pr 3901  df-tp 3903  df-op 3905  df-uni 4113  df-int 4150  df-iun 4194  df-iin 4195  df-br 4314  df-opab 4372  df-mpt 4373  df-tr 4407  df-eprel 4653  df-id 4657  df-po 4662  df-so 4663  df-fr 4700  df-se 4701  df-we 4702  df-ord 4743  df-on 4744  df-lim 4745  df-suc 4746  df-xp 4867  df-rel 4868  df-cnv 4869  df-co 4870  df-dm 4871  df-rn 4872  df-res 4873  df-ima 4874  df-iota 5402  df-fun 5441  df-fn 5442  df-f 5443  df-f1 5444  df-fo 5445  df-f1o 5446  df-fv 5447  df-isom 5448  df-riota 6073  df-ov 6115  df-oprab 6116  df-mpt2 6117  df-of 6341  df-om 6498  df-1st 6598  df-2nd 6599  df-supp 6712  df-tpos 6766  df-recs 6853  df-rdg 6887  df-1o 6941  df-oadd 6945  df-er 7122  df-map 7237  df-ixp 7285  df-en 7332  df-dom 7333  df-sdom 7334  df-fin 7335  df-fsupp 7642  df-oi 7745  df-card 8130  df-pnf 9441  df-mnf 9442  df-xr 9443  df-ltxr 9444  df-le 9445  df-sub 9618  df-neg 9619  df-nn 10344  df-2 10401  df-n0 10601  df-z 10668  df-uz 10883  df-fz 11459  df-fzo 11570  df-seq 11828  df-hash 12125  df-ndx 14198  df-slot 14199  df-base 14200  df-sets 14201  df-ress 14202  df-plusg 14272  df-0g 14401  df-gsum 14402  df-mre 14545  df-mrc 14546  df-acs 14548  df-mnd 15436  df-mhm 15485  df-submnd 15486  df-grp 15566  df-minusg 15567  df-sbg 15568  df-mulg 15569  df-subg 15699  df-ghm 15766  df-gim 15808  df-cntz 15856  df-oppg 15882  df-lsm 16156  df-pj1 16157  df-cmn 16300  df-dprd 16499  df-dpj 16500
This theorem is referenced by:  dpjeqOLD  16587
  Copyright terms: Public domain W3C validator