Users' Mathboxes Mathbox for Norm Megill < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  cdleme30a Unicode version

Theorem cdleme30a 29718
Description: Part of proof of Lemma E in [Crawley] p. 113. (Contributed by NM, 9-Feb-2013.)
Hypotheses
Ref Expression
cdleme30.b  |-  B  =  ( Base `  K
)
cdleme30.l  |-  .<_  =  ( le `  K )
cdleme30.j  |-  .\/  =  ( join `  K )
cdleme30.m  |-  ./\  =  ( meet `  K )
cdleme30.a  |-  A  =  ( Atoms `  K )
cdleme30.h  |-  H  =  ( LHyp `  K
)
Assertion
Ref Expression
cdleme30a  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .\/  ( Y  ./\  W ) )  =  Y )

Proof of Theorem cdleme30a
StepHypRef Expression
1 simp1l 984 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  K  e.  HL )
2 hllat 28704 . . . 4  |-  ( K  e.  HL  ->  K  e.  Lat )
31, 2syl 17 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  K  e.  Lat )
4 simp21 993 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  s  e.  A
)
5 cdleme30.b . . . . 5  |-  B  =  ( Base `  K
)
6 cdleme30.a . . . . 5  |-  A  =  ( Atoms `  K )
75, 6atbase 28630 . . . 4  |-  ( s  e.  A  ->  s  e.  B )
84, 7syl 17 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  s  e.  B
)
9 simp23 995 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  Y  e.  B
)
10 simp1r 985 . . . . 5  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  W  e.  H
)
11 cdleme30.h . . . . . 6  |-  H  =  ( LHyp `  K
)
125, 11lhpbase 29338 . . . . 5  |-  ( W  e.  H  ->  W  e.  B )
1310, 12syl 17 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  W  e.  B
)
14 cdleme30.m . . . . 5  |-  ./\  =  ( meet `  K )
155, 14latmcl 14105 . . . 4  |-  ( ( K  e.  Lat  /\  Y  e.  B  /\  W  e.  B )  ->  ( Y  ./\  W
)  e.  B )
163, 9, 13, 15syl3anc 1187 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( Y  ./\  W )  e.  B )
17 simp22l 1079 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  X  e.  B
)
18 cdleme30.j . . . 4  |-  .\/  =  ( join `  K )
195, 18latjass 14149 . . 3  |-  ( ( K  e.  Lat  /\  ( s  e.  B  /\  ( Y  ./\  W
)  e.  B  /\  X  e.  B )
)  ->  ( (
s  .\/  ( Y  ./\ 
W ) )  .\/  X )  =  ( s 
.\/  ( ( Y 
./\  W )  .\/  X ) ) )
203, 8, 16, 17, 19syl13anc 1189 . 2  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( ( s 
.\/  ( Y  ./\  W ) )  .\/  X
)  =  ( s 
.\/  ( ( Y 
./\  W )  .\/  X ) ) )
21 simp3l 988 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .\/  ( X  ./\  W ) )  =  X )
22 simp3r 989 . . . . . 6  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  X  .<_  Y )
23 cdleme30.l . . . . . . . 8  |-  .<_  =  ( le `  K )
245, 23, 14latmlem1 14135 . . . . . . 7  |-  ( ( K  e.  Lat  /\  ( X  e.  B  /\  Y  e.  B  /\  W  e.  B
) )  ->  ( X  .<_  Y  ->  ( X  ./\  W )  .<_  ( Y  ./\  W ) ) )
253, 17, 9, 13, 24syl13anc 1189 . . . . . 6  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( X  .<_  Y  ->  ( X  ./\  W )  .<_  ( Y  ./\ 
W ) ) )
2622, 25mpd 16 . . . . 5  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( X  ./\  W )  .<_  ( Y  ./\ 
W ) )
275, 14latmcl 14105 . . . . . . 7  |-  ( ( K  e.  Lat  /\  X  e.  B  /\  W  e.  B )  ->  ( X  ./\  W
)  e.  B )
283, 17, 13, 27syl3anc 1187 . . . . . 6  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( X  ./\  W )  e.  B )
295, 23, 18latjlej2 14120 . . . . . 6  |-  ( ( K  e.  Lat  /\  ( ( X  ./\  W )  e.  B  /\  ( Y  ./\  W )  e.  B  /\  s  e.  B ) )  -> 
( ( X  ./\  W )  .<_  ( Y  ./\ 
W )  ->  (
s  .\/  ( X  ./\ 
W ) )  .<_  ( s  .\/  ( Y  ./\  W ) ) ) )
303, 28, 16, 8, 29syl13anc 1189 . . . . 5  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( ( X 
./\  W )  .<_  ( Y  ./\  W )  ->  ( s  .\/  ( X  ./\  W ) )  .<_  ( s  .\/  ( Y  ./\  W
) ) ) )
3126, 30mpd 16 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .\/  ( X  ./\  W ) )  .<_  ( s  .\/  ( Y  ./\  W
) ) )
3221, 31eqbrtrrd 4005 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  X  .<_  ( s 
.\/  ( Y  ./\  W ) ) )
335, 18latjcl 14104 . . . . 5  |-  ( ( K  e.  Lat  /\  s  e.  B  /\  ( Y  ./\  W )  e.  B )  -> 
( s  .\/  ( Y  ./\  W ) )  e.  B )
343, 8, 16, 33syl3anc 1187 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .\/  ( Y  ./\  W ) )  e.  B )
355, 23, 18latleeqj2 14118 . . . 4  |-  ( ( K  e.  Lat  /\  X  e.  B  /\  ( s  .\/  ( Y  ./\  W ) )  e.  B )  -> 
( X  .<_  ( s 
.\/  ( Y  ./\  W ) )  <->  ( (
s  .\/  ( Y  ./\ 
W ) )  .\/  X )  =  ( s 
.\/  ( Y  ./\  W ) ) ) )
363, 17, 34, 35syl3anc 1187 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( X  .<_  ( s  .\/  ( Y 
./\  W ) )  <-> 
( ( s  .\/  ( Y  ./\  W ) )  .\/  X )  =  ( s  .\/  ( Y  ./\  W ) ) ) )
3732, 36mpbid 203 . 2  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( ( s 
.\/  ( Y  ./\  W ) )  .\/  X
)  =  ( s 
.\/  ( Y  ./\  W ) ) )
38 simp1 960 . . . . 5  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( K  e.  HL  /\  W  e.  H ) )
395, 23, 18, 14, 11lhpmod2i2 29378 . . . . 5  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( Y  e.  B  /\  X  e.  B )  /\  X  .<_  Y )  ->  (
( Y  ./\  W
)  .\/  X )  =  ( Y  ./\  ( W  .\/  X ) ) )
4038, 9, 17, 22, 39syl121anc 1192 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( ( Y 
./\  W )  .\/  X )  =  ( Y 
./\  ( W  .\/  X ) ) )
4140oveq2d 5794 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .\/  ( ( Y  ./\  W )  .\/  X ) )  =  ( s 
.\/  ( Y  ./\  ( W  .\/  X ) ) ) )
42 simp22 994 . . . . . . 7  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( X  e.  B  /\  -.  X  .<_  W ) )
43 eqid 2256 . . . . . . . 8  |-  ( 1.
`  K )  =  ( 1. `  K
)
445, 23, 18, 43, 11lhpj1 29362 . . . . . . 7  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( X  e.  B  /\  -.  X  .<_  W ) )  -> 
( W  .\/  X
)  =  ( 1.
`  K ) )
4538, 42, 44syl2anc 645 . . . . . 6  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( W  .\/  X )  =  ( 1.
`  K ) )
4645oveq2d 5794 . . . . 5  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( Y  ./\  ( W  .\/  X ) )  =  ( Y 
./\  ( 1. `  K ) ) )
47 hlol 28702 . . . . . . 7  |-  ( K  e.  HL  ->  K  e.  OL )
481, 47syl 17 . . . . . 6  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  K  e.  OL )
495, 14, 43olm11 28568 . . . . . 6  |-  ( ( K  e.  OL  /\  Y  e.  B )  ->  ( Y  ./\  ( 1. `  K ) )  =  Y )
5048, 9, 49syl2anc 645 . . . . 5  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( Y  ./\  ( 1. `  K ) )  =  Y )
5146, 50eqtrd 2288 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( Y  ./\  ( W  .\/  X ) )  =  Y )
5251oveq2d 5794 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .\/  ( Y  ./\  ( W 
.\/  X ) ) )  =  ( s 
.\/  Y ) )
535, 23, 18latlej1 14114 . . . . . . 7  |-  ( ( K  e.  Lat  /\  s  e.  B  /\  ( X  ./\  W )  e.  B )  -> 
s  .<_  ( s  .\/  ( X  ./\  W ) ) )
543, 8, 28, 53syl3anc 1187 . . . . . 6  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  s  .<_  ( s 
.\/  ( X  ./\  W ) ) )
5554, 21breqtrd 4007 . . . . 5  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  s  .<_  X )
565, 23, 3, 8, 17, 9, 55, 22lattrd 14112 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  s  .<_  Y )
575, 23, 18latleeqj1 14117 . . . . 5  |-  ( ( K  e.  Lat  /\  s  e.  B  /\  Y  e.  B )  ->  ( s  .<_  Y  <->  ( s  .\/  Y )  =  Y ) )
583, 8, 9, 57syl3anc 1187 . . . 4  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .<_  Y 
<->  ( s  .\/  Y
)  =  Y ) )
5956, 58mpbid 203 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .\/  Y )  =  Y )
6041, 52, 593eqtrd 2292 . 2  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .\/  ( ( Y  ./\  W )  .\/  X ) )  =  Y )
6120, 37, 603eqtr3d 2296 1  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  ( s  e.  A  /\  ( X  e.  B  /\  -.  X  .<_  W )  /\  Y  e.  B )  /\  ( ( s  .\/  ( X  ./\  W ) )  =  X  /\  X  .<_  Y ) )  ->  ( s  .\/  ( Y  ./\  W ) )  =  Y )
Colors of variables: wff set class
Syntax hints:   -. wn 5    -> wi 6    <-> wb 178    /\ wa 360    /\ w3a 939    = wceq 1619    e. wcel 1621   class class class wbr 3983   ` cfv 4659  (class class class)co 5778   Basecbs 13096   lecple 13163   joincjn 14026   meetcmee 14027   1.cp1 14092   Latclat 14099   OLcol 28515   Atomscatm 28604   HLchlt 28691   LHypclh 29324
This theorem is referenced by:  cdleme32b  29782
This theorem was proved from axioms:  ax-1 7  ax-2 8  ax-3 9  ax-mp 10  ax-5 1533  ax-6 1534  ax-7 1535  ax-gen 1536  ax-8 1623  ax-11 1624  ax-13 1625  ax-14 1626  ax-17 1628  ax-12o 1664  ax-10 1678  ax-9 1684  ax-4 1692  ax-16 1927  ax-ext 2237  ax-rep 4091  ax-sep 4101  ax-nul 4109  ax-pow 4146  ax-pr 4172  ax-un 4470
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3an 941  df-tru 1315  df-ex 1538  df-nf 1540  df-sb 1884  df-eu 2121  df-mo 2122  df-clab 2243  df-cleq 2249  df-clel 2252  df-nfc 2381  df-ne 2421  df-nel 2422  df-ral 2521  df-rex 2522  df-reu 2523  df-rab 2525  df-v 2759  df-sbc 2953  df-csb 3043  df-dif 3116  df-un 3118  df-in 3120  df-ss 3127  df-nul 3417  df-if 3526  df-pw 3587  df-sn 3606  df-pr 3607  df-op 3609  df-uni 3788  df-iun 3867  df-iin 3868  df-br 3984  df-opab 4038  df-mpt 4039  df-id 4267  df-xp 4661  df-rel 4662  df-cnv 4663  df-co 4664  df-dm 4665  df-rn 4666  df-res 4667  df-ima 4668  df-fun 4669  df-fn 4670  df-f 4671  df-f1 4672  df-fo 4673  df-f1o 4674  df-fv 4675  df-ov 5781  df-oprab 5782  df-mpt2 5783  df-1st 6042  df-2nd 6043  df-iota 6211  df-undef 6250  df-riota 6258  df-poset 14028  df-plt 14040  df-lub 14056  df-glb 14057  df-join 14058  df-meet 14059  df-p0 14093  df-p1 14094  df-lat 14100  df-clat 14162  df-oposet 28517  df-ol 28519  df-oml 28520  df-covers 28607  df-ats 28608  df-atl 28639  df-cvlat 28663  df-hlat 28692  df-psubsp 28843  df-pmap 28844  df-padd 29136  df-lhyp 29328
  Copyright terms: Public domain W3C validator