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

Theorem ltrncnv 36286
Description: The converse of a lattice translation is a lattice translation. (Contributed by NM, 10-May-2013.)
Hypotheses
Ref Expression
ltrncnv.h  |-  H  =  ( LHyp `  K
)
ltrncnv.t  |-  T  =  ( ( LTrn `  K
) `  W )
Assertion
Ref Expression
ltrncnv  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T
)  ->  `' F  e.  T )

Proof of Theorem ltrncnv
Dummy variables  q  p are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ltrncnv.h . . . 4  |-  H  =  ( LHyp `  K
)
2 eqid 2454 . . . 4  |-  ( (
LDil `  K ) `  W )  =  ( ( LDil `  K
) `  W )
3 ltrncnv.t . . . 4  |-  T  =  ( ( LTrn `  K
) `  W )
41, 2, 3ltrnldil 36262 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T
)  ->  F  e.  ( ( LDil `  K
) `  W )
)
51, 2ldilcnv 36255 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  ( ( LDil `  K
) `  W )
)  ->  `' F  e.  ( ( LDil `  K
) `  W )
)
64, 5syldan 468 . 2  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T
)  ->  `' F  e.  ( ( LDil `  K
) `  W )
)
7 simp1 994 . . . . . 6  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T ) )
8 simp1l 1018 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( K  e.  HL  /\  W  e.  H ) )
9 simp1r 1019 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  F  e.  T )
10 simp2l 1020 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  p  e.  ( Atoms `  K )
)
11 simp3l 1022 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  -.  p
( le `  K
) W )
12 eqid 2454 . . . . . . . 8  |-  ( le
`  K )  =  ( le `  K
)
13 eqid 2454 . . . . . . . 8  |-  ( Atoms `  K )  =  (
Atoms `  K )
1412, 13, 1, 3ltrncnvel 36282 . . . . . . 7  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T  /\  ( p  e.  (
Atoms `  K )  /\  -.  p ( le `  K ) W ) )  ->  ( ( `' F `  p )  e.  ( Atoms `  K
)  /\  -.  ( `' F `  p ) ( le `  K
) W ) )
158, 9, 10, 11, 14syl112anc 1230 . . . . . 6  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( ( `' F `  p )  e.  ( Atoms `  K
)  /\  -.  ( `' F `  p ) ( le `  K
) W ) )
16 simp2r 1021 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  q  e.  ( Atoms `  K )
)
17 simp3r 1023 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  -.  q
( le `  K
) W )
1812, 13, 1, 3ltrncnvel 36282 . . . . . . 7  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T  /\  ( q  e.  (
Atoms `  K )  /\  -.  q ( le `  K ) W ) )  ->  ( ( `' F `  q )  e.  ( Atoms `  K
)  /\  -.  ( `' F `  q ) ( le `  K
) W ) )
198, 9, 16, 17, 18syl112anc 1230 . . . . . 6  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( ( `' F `  q )  e.  ( Atoms `  K
)  /\  -.  ( `' F `  q ) ( le `  K
) W ) )
20 eqid 2454 . . . . . . 7  |-  ( join `  K )  =  (
join `  K )
21 eqid 2454 . . . . . . 7  |-  ( meet `  K )  =  (
meet `  K )
2212, 20, 21, 13, 1, 3ltrnu 36261 . . . . . 6  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
( `' F `  p )  e.  (
Atoms `  K )  /\  -.  ( `' F `  p ) ( le
`  K ) W )  /\  ( ( `' F `  q )  e.  ( Atoms `  K
)  /\  -.  ( `' F `  q ) ( le `  K
) W ) )  ->  ( ( ( `' F `  p ) ( join `  K
) ( F `  ( `' F `  p ) ) ) ( meet `  K ) W )  =  ( ( ( `' F `  q ) ( join `  K
) ( F `  ( `' F `  q ) ) ) ( meet `  K ) W ) )
237, 15, 19, 22syl3anc 1226 . . . . 5  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( (
( `' F `  p ) ( join `  K ) ( F `
 ( `' F `  p ) ) ) ( meet `  K
) W )  =  ( ( ( `' F `  q ) ( join `  K
) ( F `  ( `' F `  q ) ) ) ( meet `  K ) W ) )
24 eqid 2454 . . . . . . . . . . 11  |-  ( Base `  K )  =  (
Base `  K )
2524, 1, 3ltrn1o 36264 . . . . . . . . . 10  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T
)  ->  F :
( Base `  K ) -1-1-onto-> ( Base `  K ) )
26253ad2ant1 1015 . . . . . . . . 9  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  F :
( Base `  K ) -1-1-onto-> ( Base `  K ) )
2724, 13atbase 35430 . . . . . . . . . 10  |-  ( p  e.  ( Atoms `  K
)  ->  p  e.  ( Base `  K )
)
2810, 27syl 16 . . . . . . . . 9  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  p  e.  ( Base `  K )
)
29 f1ocnvfv2 6158 . . . . . . . . 9  |-  ( ( F : ( Base `  K ) -1-1-onto-> ( Base `  K
)  /\  p  e.  ( Base `  K )
)  ->  ( F `  ( `' F `  p ) )  =  p )
3026, 28, 29syl2anc 659 . . . . . . . 8  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( F `  ( `' F `  p ) )  =  p )
3130oveq2d 6286 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( ( `' F `  p ) ( join `  K
) ( F `  ( `' F `  p ) ) )  =  ( ( `' F `  p ) ( join `  K ) p ) )
32 simp1ll 1057 . . . . . . . 8  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  K  e.  HL )
3312, 13, 1, 3ltrncnvat 36281 . . . . . . . . 9  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T  /\  p  e.  ( Atoms `  K ) )  ->  ( `' F `  p )  e.  (
Atoms `  K ) )
348, 9, 10, 33syl3anc 1226 . . . . . . . 8  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( `' F `  p )  e.  ( Atoms `  K )
)
3520, 13hlatjcom 35508 . . . . . . . 8  |-  ( ( K  e.  HL  /\  ( `' F `  p )  e.  ( Atoms `  K
)  /\  p  e.  ( Atoms `  K )
)  ->  ( ( `' F `  p ) ( join `  K
) p )  =  ( p ( join `  K ) ( `' F `  p ) ) )
3632, 34, 10, 35syl3anc 1226 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( ( `' F `  p ) ( join `  K
) p )  =  ( p ( join `  K ) ( `' F `  p ) ) )
3731, 36eqtrd 2495 . . . . . 6  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( ( `' F `  p ) ( join `  K
) ( F `  ( `' F `  p ) ) )  =  ( p ( join `  K
) ( `' F `  p ) ) )
3837oveq1d 6285 . . . . 5  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( (
( `' F `  p ) ( join `  K ) ( F `
 ( `' F `  p ) ) ) ( meet `  K
) W )  =  ( ( p (
join `  K )
( `' F `  p ) ) (
meet `  K ) W ) )
3924, 13atbase 35430 . . . . . . . . . 10  |-  ( q  e.  ( Atoms `  K
)  ->  q  e.  ( Base `  K )
)
4016, 39syl 16 . . . . . . . . 9  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  q  e.  ( Base `  K )
)
41 f1ocnvfv2 6158 . . . . . . . . 9  |-  ( ( F : ( Base `  K ) -1-1-onto-> ( Base `  K
)  /\  q  e.  ( Base `  K )
)  ->  ( F `  ( `' F `  q ) )  =  q )
4226, 40, 41syl2anc 659 . . . . . . . 8  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( F `  ( `' F `  q ) )  =  q )
4342oveq2d 6286 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( ( `' F `  q ) ( join `  K
) ( F `  ( `' F `  q ) ) )  =  ( ( `' F `  q ) ( join `  K ) q ) )
4412, 13, 1, 3ltrncnvat 36281 . . . . . . . . 9  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T  /\  q  e.  ( Atoms `  K ) )  ->  ( `' F `  q )  e.  (
Atoms `  K ) )
458, 9, 16, 44syl3anc 1226 . . . . . . . 8  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( `' F `  q )  e.  ( Atoms `  K )
)
4620, 13hlatjcom 35508 . . . . . . . 8  |-  ( ( K  e.  HL  /\  ( `' F `  q )  e.  ( Atoms `  K
)  /\  q  e.  ( Atoms `  K )
)  ->  ( ( `' F `  q ) ( join `  K
) q )  =  ( q ( join `  K ) ( `' F `  q ) ) )
4732, 45, 16, 46syl3anc 1226 . . . . . . 7  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( ( `' F `  q ) ( join `  K
) q )  =  ( q ( join `  K ) ( `' F `  q ) ) )
4843, 47eqtrd 2495 . . . . . 6  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( ( `' F `  q ) ( join `  K
) ( F `  ( `' F `  q ) ) )  =  ( q ( join `  K
) ( `' F `  q ) ) )
4948oveq1d 6285 . . . . 5  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( (
( `' F `  q ) ( join `  K ) ( F `
 ( `' F `  q ) ) ) ( meet `  K
) W )  =  ( ( q (
join `  K )
( `' F `  q ) ) (
meet `  K ) W ) )
5023, 38, 493eqtr3d 2503 . . . 4  |-  ( ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T )  /\  (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  /\  ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W ) )  ->  ( (
p ( join `  K
) ( `' F `  p ) ) (
meet `  K ) W )  =  ( ( q ( join `  K ) ( `' F `  q ) ) ( meet `  K
) W ) )
51503exp 1193 . . 3  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T
)  ->  ( (
p  e.  ( Atoms `  K )  /\  q  e.  ( Atoms `  K )
)  ->  ( ( -.  p ( le `  K ) W  /\  -.  q ( le `  K ) W )  ->  ( ( p ( join `  K
) ( `' F `  p ) ) (
meet `  K ) W )  =  ( ( q ( join `  K ) ( `' F `  q ) ) ( meet `  K
) W ) ) ) )
5251ralrimivv 2874 . 2  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T
)  ->  A. p  e.  ( Atoms `  K ) A. q  e.  ( Atoms `  K ) ( ( -.  p ( le `  K ) W  /\  -.  q
( le `  K
) W )  -> 
( ( p (
join `  K )
( `' F `  p ) ) (
meet `  K ) W )  =  ( ( q ( join `  K ) ( `' F `  q ) ) ( meet `  K
) W ) ) )
5312, 20, 21, 13, 1, 2, 3isltrn 36259 . . 3  |-  ( ( K  e.  HL  /\  W  e.  H )  ->  ( `' F  e.  T  <->  ( `' F  e.  ( ( LDil `  K
) `  W )  /\  A. p  e.  (
Atoms `  K ) A. q  e.  ( Atoms `  K ) ( ( -.  p ( le
`  K ) W  /\  -.  q ( le `  K ) W )  ->  (
( p ( join `  K ) ( `' F `  p ) ) ( meet `  K
) W )  =  ( ( q (
join `  K )
( `' F `  q ) ) (
meet `  K ) W ) ) ) ) )
5453adantr 463 . 2  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T
)  ->  ( `' F  e.  T  <->  ( `' F  e.  ( ( LDil `  K ) `  W )  /\  A. p  e.  ( Atoms `  K ) A. q  e.  ( Atoms `  K )
( ( -.  p
( le `  K
) W  /\  -.  q ( le `  K ) W )  ->  ( ( p ( join `  K
) ( `' F `  p ) ) (
meet `  K ) W )  =  ( ( q ( join `  K ) ( `' F `  q ) ) ( meet `  K
) W ) ) ) ) )
556, 52, 54mpbir2and 920 1  |-  ( ( ( K  e.  HL  /\  W  e.  H )  /\  F  e.  T
)  ->  `' F  e.  T )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 367    /\ w3a 971    = wceq 1398    e. wcel 1823   A.wral 2804   class class class wbr 4439   `'ccnv 4987   -1-1-onto->wf1o 5569   ` cfv 5570  (class class class)co 6270   Basecbs 14719   lecple 14794   joincjn 15775   meetcmee 15776   Atomscatm 35404   HLchlt 35491   LHypclh 36124   LDilcldil 36240   LTrncltrn 36241
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1623  ax-4 1636  ax-5 1709  ax-6 1752  ax-7 1795  ax-8 1825  ax-9 1827  ax-10 1842  ax-11 1847  ax-12 1859  ax-13 2004  ax-ext 2432  ax-rep 4550  ax-sep 4560  ax-nul 4568  ax-pow 4615  ax-pr 4676  ax-un 6565
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3an 973  df-tru 1401  df-ex 1618  df-nf 1622  df-sb 1745  df-eu 2288  df-mo 2289  df-clab 2440  df-cleq 2446  df-clel 2449  df-nfc 2604  df-ne 2651  df-ral 2809  df-rex 2810  df-reu 2811  df-rab 2813  df-v 3108  df-sbc 3325  df-csb 3421  df-dif 3464  df-un 3466  df-in 3468  df-ss 3475  df-nul 3784  df-if 3930  df-pw 4001  df-sn 4017  df-pr 4019  df-op 4023  df-uni 4236  df-iun 4317  df-br 4440  df-opab 4498  df-mpt 4499  df-id 4784  df-xp 4994  df-rel 4995  df-cnv 4996  df-co 4997  df-dm 4998  df-rn 4999  df-res 5000  df-ima 5001  df-iota 5534  df-fun 5572  df-fn 5573  df-f 5574  df-f1 5575  df-fo 5576  df-f1o 5577  df-fv 5578  df-riota 6232  df-ov 6273  df-oprab 6274  df-mpt2 6275  df-map 7414  df-preset 15759  df-poset 15777  df-plt 15790  df-lub 15806  df-glb 15807  df-join 15808  df-p0 15871  df-lat 15878  df-oposet 35317  df-ol 35319  df-oml 35320  df-covers 35407  df-ats 35408  df-atl 35439  df-cvlat 35463  df-hlat 35492  df-lhyp 36128  df-laut 36129  df-ldil 36244  df-ltrn 36245
This theorem is referenced by:  trlcnv  36306  trlcocnv  36862  trlcoabs2N  36864  trlcoat  36865  trlcocnvat  36866  trlcone  36870  cdlemg46  36877  tgrpgrplem  36891  tendoicl  36938  cdlemh1  36957  cdlemh2  36958  cdlemh  36959  cdlemi2  36961  cdlemi  36962  cdlemk2  36974  cdlemk3  36975  cdlemk4  36976  cdlemk8  36980  cdlemk9  36981  cdlemk9bN  36982  cdlemkvcl  36984  cdlemk10  36985  cdlemk11  36991  cdlemk12  36992  cdlemk14  36996  cdlemk11u  37013  cdlemk12u  37014  cdlemk37  37056  cdlemkfid1N  37063  cdlemkid1  37064  cdlemkid2  37066  tendocnv  37164  tendospcanN  37166  dvhgrp  37250  cdlemn8  37347  dihopelvalcpre  37391  dih1  37429  dihglbcpreN  37443  dihjatcclem3  37563  dihjatcclem4  37564
  Copyright terms: Public domain W3C validator