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

Theorem rnelfm 17648
Description: A condition for a filter to be an image filter for a given function. (Contributed by Jeff Hankins, 14-Nov-2009.) (Revised by Stefan O'Rear, 8-Aug-2015.)
Assertion
Ref Expression
rnelfm  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( L  e.  ran  ( X  FilMap  F )  <->  ran  F  e.  L ) )

Proof of Theorem rnelfm
Dummy variables  b 
s  t  x  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 filtop 17550 . . . . . . 7  |-  ( L  e.  ( Fil `  X
)  ->  X  e.  L )
213ad2ant2 977 . . . . . 6  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  ->  X  e.  L )
3 simp1 955 . . . . . 6  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  ->  Y  e.  A )
4 simp3 957 . . . . . 6  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  ->  F : Y --> X )
5 fmf 17640 . . . . . 6  |-  ( ( X  e.  L  /\  Y  e.  A  /\  F : Y --> X )  ->  ( X  FilMap  F ) : ( fBas `  Y ) --> ( Fil `  X ) )
62, 3, 4, 5syl3anc 1182 . . . . 5  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( X  FilMap  F ) : ( fBas `  Y
) --> ( Fil `  X
) )
7 ffn 5389 . . . . 5  |-  ( ( X  FilMap  F ) : ( fBas `  Y
) --> ( Fil `  X
)  ->  ( X  FilMap  F )  Fn  ( fBas `  Y ) )
86, 7syl 15 . . . 4  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( X  FilMap  F )  Fn  ( fBas `  Y
) )
9 fvelrnb 5570 . . . 4  |-  ( ( X  FilMap  F )  Fn  ( fBas `  Y
)  ->  ( L  e.  ran  ( X  FilMap  F )  <->  E. b  e.  (
fBas `  Y )
( ( X  FilMap  F ) `  b )  =  L ) )
108, 9syl 15 . . 3  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( L  e.  ran  ( X  FilMap  F )  <->  E. b  e.  ( fBas `  Y ) ( ( X  FilMap  F ) `
 b )  =  L ) )
11 ffn 5389 . . . . . . . . . . . 12  |-  ( F : Y --> X  ->  F  Fn  Y )
12 dffn4 5457 . . . . . . . . . . . 12  |-  ( F  Fn  Y  <->  F : Y -onto-> ran  F )
1311, 12sylib 188 . . . . . . . . . . 11  |-  ( F : Y --> X  ->  F : Y -onto-> ran  F
)
14 foima 5456 . . . . . . . . . . 11  |-  ( F : Y -onto-> ran  F  ->  ( F " Y
)  =  ran  F
)
1513, 14syl 15 . . . . . . . . . 10  |-  ( F : Y --> X  -> 
( F " Y
)  =  ran  F
)
1615ad2antlr 707 . . . . . . . . 9  |-  ( ( ( X  e.  L  /\  F : Y --> X )  /\  b  e.  (
fBas `  Y )
)  ->  ( F " Y )  =  ran  F )
17 simpll 730 . . . . . . . . . 10  |-  ( ( ( X  e.  L  /\  F : Y --> X )  /\  b  e.  (
fBas `  Y )
)  ->  X  e.  L )
18 simpr 447 . . . . . . . . . 10  |-  ( ( ( X  e.  L  /\  F : Y --> X )  /\  b  e.  (
fBas `  Y )
)  ->  b  e.  ( fBas `  Y )
)
19 simplr 731 . . . . . . . . . 10  |-  ( ( ( X  e.  L  /\  F : Y --> X )  /\  b  e.  (
fBas `  Y )
)  ->  F : Y
--> X )
20 fgcl 17573 . . . . . . . . . . . 12  |-  ( b  e.  ( fBas `  Y
)  ->  ( Y filGen b )  e.  ( Fil `  Y ) )
21 filtop 17550 . . . . . . . . . . . 12  |-  ( ( Y filGen b )  e.  ( Fil `  Y
)  ->  Y  e.  ( Y filGen b ) )
2220, 21syl 15 . . . . . . . . . . 11  |-  ( b  e.  ( fBas `  Y
)  ->  Y  e.  ( Y filGen b ) )
2322adantl 452 . . . . . . . . . 10  |-  ( ( ( X  e.  L  /\  F : Y --> X )  /\  b  e.  (
fBas `  Y )
)  ->  Y  e.  ( Y filGen b ) )
24 eqid 2283 . . . . . . . . . . 11  |-  ( Y
filGen b )  =  ( Y filGen b )
2524imaelfm 17646 . . . . . . . . . 10  |-  ( ( ( X  e.  L  /\  b  e.  ( fBas `  Y )  /\  F : Y --> X )  /\  Y  e.  ( Y filGen b ) )  ->  ( F " Y )  e.  ( ( X  FilMap  F ) `
 b ) )
2617, 18, 19, 23, 25syl31anc 1185 . . . . . . . . 9  |-  ( ( ( X  e.  L  /\  F : Y --> X )  /\  b  e.  (
fBas `  Y )
)  ->  ( F " Y )  e.  ( ( X  FilMap  F ) `
 b ) )
2716, 26eqeltrrd 2358 . . . . . . . 8  |-  ( ( ( X  e.  L  /\  F : Y --> X )  /\  b  e.  (
fBas `  Y )
)  ->  ran  F  e.  ( ( X  FilMap  F ) `  b ) )
28 eleq2 2344 . . . . . . . 8  |-  ( ( ( X  FilMap  F ) `
 b )  =  L  ->  ( ran  F  e.  ( ( X 
FilMap  F ) `  b
)  <->  ran  F  e.  L
) )
2927, 28syl5ibcom 211 . . . . . . 7  |-  ( ( ( X  e.  L  /\  F : Y --> X )  /\  b  e.  (
fBas `  Y )
)  ->  ( (
( X  FilMap  F ) `
 b )  =  L  ->  ran  F  e.  L ) )
3029ex 423 . . . . . 6  |-  ( ( X  e.  L  /\  F : Y --> X )  ->  ( b  e.  ( fBas `  Y
)  ->  ( (
( X  FilMap  F ) `
 b )  =  L  ->  ran  F  e.  L ) ) )
311, 30sylan 457 . . . . 5  |-  ( ( L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( b  e.  (
fBas `  Y )  ->  ( ( ( X 
FilMap  F ) `  b
)  =  L  ->  ran  F  e.  L ) ) )
32313adant1 973 . . . 4  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( b  e.  (
fBas `  Y )  ->  ( ( ( X 
FilMap  F ) `  b
)  =  L  ->  ran  F  e.  L ) ) )
3332rexlimdv 2666 . . 3  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( E. b  e.  ( fBas `  Y
) ( ( X 
FilMap  F ) `  b
)  =  L  ->  ran  F  e.  L ) )
3410, 33sylbid 206 . 2  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( L  e.  ran  ( X  FilMap  F )  ->  ran  F  e.  L ) )
35 simpl2 959 . . . . . . . . 9  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  L  e.  ( Fil `  X
) )
36 filelss 17547 . . . . . . . . . 10  |-  ( ( L  e.  ( Fil `  X )  /\  t  e.  L )  ->  t  C_  X )
3736ex 423 . . . . . . . . 9  |-  ( L  e.  ( Fil `  X
)  ->  ( t  e.  L  ->  t  C_  X ) )
3835, 37syl 15 . . . . . . . 8  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
t  e.  L  -> 
t  C_  X )
)
39 simpr 447 . . . . . . . . . . . 12  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  t  e.  L )  ->  t  e.  L )
40 eqidd 2284 . . . . . . . . . . . 12  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  t  e.  L )  ->  ( `' F "
t )  =  ( `' F " t ) )
41 imaeq2 5008 . . . . . . . . . . . . . 14  |-  ( x  =  t  ->  ( `' F " x )  =  ( `' F " t ) )
4241eqeq2d 2294 . . . . . . . . . . . . 13  |-  ( x  =  t  ->  (
( `' F "
t )  =  ( `' F " x )  <-> 
( `' F "
t )  =  ( `' F " t ) ) )
4342rspcev 2884 . . . . . . . . . . . 12  |-  ( ( t  e.  L  /\  ( `' F " t )  =  ( `' F " t ) )  ->  E. x  e.  L  ( `' F " t )  =  ( `' F " x ) )
4439, 40, 43syl2anc 642 . . . . . . . . . . 11  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  t  e.  L )  ->  E. x  e.  L  ( `' F " t )  =  ( `' F " x ) )
45 cnvimass 5033 . . . . . . . . . . . . . . . . 17  |-  ( `' F " t ) 
C_  dom  F
46 fdm 5393 . . . . . . . . . . . . . . . . 17  |-  ( F : Y --> X  ->  dom  F  =  Y )
4745, 46syl5sseq 3226 . . . . . . . . . . . . . . . 16  |-  ( F : Y --> X  -> 
( `' F "
t )  C_  Y
)
48473ad2ant3 978 . . . . . . . . . . . . . . 15  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( `' F "
t )  C_  Y
)
4948adantr 451 . . . . . . . . . . . . . 14  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  ( `' F " t ) 
C_  Y )
50 simpl1 958 . . . . . . . . . . . . . 14  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  Y  e.  A )
51 ssexg 4160 . . . . . . . . . . . . . 14  |-  ( ( ( `' F "
t )  C_  Y  /\  Y  e.  A
)  ->  ( `' F " t )  e. 
_V )
5249, 50, 51syl2anc 642 . . . . . . . . . . . . 13  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  ( `' F " t )  e.  _V )
53 eqid 2283 . . . . . . . . . . . . . 14  |-  ( x  e.  L  |->  ( `' F " x ) )  =  ( x  e.  L  |->  ( `' F " x ) )
5453elrnmpt 4926 . . . . . . . . . . . . 13  |-  ( ( `' F " t )  e.  _V  ->  (
( `' F "
t )  e.  ran  ( x  e.  L  |->  ( `' F "
x ) )  <->  E. x  e.  L  ( `' F " t )  =  ( `' F "
x ) ) )
5552, 54syl 15 . . . . . . . . . . . 12  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
( `' F "
t )  e.  ran  ( x  e.  L  |->  ( `' F "
x ) )  <->  E. x  e.  L  ( `' F " t )  =  ( `' F "
x ) ) )
5655adantr 451 . . . . . . . . . . 11  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  t  e.  L )  ->  ( ( `' F " t )  e.  ran  ( x  e.  L  |->  ( `' F "
x ) )  <->  E. x  e.  L  ( `' F " t )  =  ( `' F "
x ) ) )
5744, 56mpbird 223 . . . . . . . . . 10  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  t  e.  L )  ->  ( `' F "
t )  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) )
58 ssid 3197 . . . . . . . . . . 11  |-  ( `' F " t ) 
C_  ( `' F " t )
59 ffun 5391 . . . . . . . . . . . . . 14  |-  ( F : Y --> X  ->  Fun  F )
60593ad2ant3 978 . . . . . . . . . . . . 13  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  ->  Fun  F )
6160ad2antrr 706 . . . . . . . . . . . 12  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  t  e.  L )  ->  Fun  F )
62 funimass3 5641 . . . . . . . . . . . 12  |-  ( ( Fun  F  /\  ( `' F " t ) 
C_  dom  F )  ->  ( ( F "
( `' F "
t ) )  C_  t 
<->  ( `' F "
t )  C_  ( `' F " t ) ) )
6361, 45, 62sylancl 643 . . . . . . . . . . 11  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  t  e.  L )  ->  ( ( F "
( `' F "
t ) )  C_  t 
<->  ( `' F "
t )  C_  ( `' F " t ) ) )
6458, 63mpbiri 224 . . . . . . . . . 10  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  t  e.  L )  ->  ( F " ( `' F " t ) )  C_  t )
65 imaeq2 5008 . . . . . . . . . . . 12  |-  ( s  =  ( `' F " t )  ->  ( F " s )  =  ( F " ( `' F " t ) ) )
6665sseq1d 3205 . . . . . . . . . . 11  |-  ( s  =  ( `' F " t )  ->  (
( F " s
)  C_  t  <->  ( F " ( `' F "
t ) )  C_  t ) )
6766rspcev 2884 . . . . . . . . . 10  |-  ( ( ( `' F "
t )  e.  ran  ( x  e.  L  |->  ( `' F "
x ) )  /\  ( F " ( `' F " t ) )  C_  t )  ->  E. s  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) ( F " s ) 
C_  t )
6857, 64, 67syl2anc 642 . . . . . . . . 9  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  t  e.  L )  ->  E. s  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) ( F " s ) 
C_  t )
6968ex 423 . . . . . . . 8  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
t  e.  L  ->  E. s  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) ( F " s ) 
C_  t ) )
7038, 69jcad 519 . . . . . . 7  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
t  e.  L  -> 
( t  C_  X  /\  E. s  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) ( F " s ) 
C_  t ) ) )
7135adantr 451 . . . . . . . . . . . 12  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  ( ( s  e. 
ran  ( x  e.  L  |->  ( `' F " x ) )  /\  ( F " s ) 
C_  t )  /\  t  C_  X ) )  ->  L  e.  ( Fil `  X ) )
72 vex 2791 . . . . . . . . . . . . . . 15  |-  s  e. 
_V
7353elrnmpt 4926 . . . . . . . . . . . . . . 15  |-  ( s  e.  _V  ->  (
s  e.  ran  (
x  e.  L  |->  ( `' F " x ) )  <->  E. x  e.  L  s  =  ( `' F " x ) ) )
7472, 73ax-mp 8 . . . . . . . . . . . . . 14  |-  ( s  e.  ran  ( x  e.  L  |->  ( `' F " x ) )  <->  E. x  e.  L  s  =  ( `' F " x ) )
75 ssid 3197 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( `' F " x ) 
C_  ( `' F " x )
7660ad3antrrr 710 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  Fun  F )
77 cnvimass 5033 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( `' F " x ) 
C_  dom  F
78 funimass3 5641 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( Fun  F  /\  ( `' F " x ) 
C_  dom  F )  ->  ( ( F "
( `' F "
x ) )  C_  x 
<->  ( `' F "
x )  C_  ( `' F " x ) ) )
7976, 77, 78sylancl 643 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
( F " ( `' F " x ) )  C_  x  <->  ( `' F " x )  C_  ( `' F " x ) ) )
8075, 79mpbiri 224 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  ( F " ( `' F " x ) )  C_  x )
81 imassrn 5025 . . . . . . . . . . . . . . . . . . . . 21  |-  ( F
" ( `' F " x ) )  C_  ran  F
8280, 81jctir 524 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
( F " ( `' F " x ) )  C_  x  /\  ( F " ( `' F " x ) )  C_  ran  F ) )
83 ssin 3391 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( F " ( `' F " x ) )  C_  x  /\  ( F " ( `' F " x ) )  C_  ran  F )  <-> 
( F " ( `' F " x ) )  C_  ( x  i^i  ran  F ) )
8482, 83sylib 188 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  ( F " ( `' F " x ) )  C_  ( x  i^i  ran  F
) )
85 elin 3358 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  ( x  i^i 
ran  F )  <->  ( z  e.  x  /\  z  e.  ran  F ) )
86 fvelrnb 5570 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( F  Fn  Y  ->  (
z  e.  ran  F  <->  E. y  e.  Y  ( F `  y )  =  z ) )
8711, 86syl 15 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( F : Y --> X  -> 
( z  e.  ran  F  <->  E. y  e.  Y  ( F `  y )  =  z ) )
88873ad2ant3 978 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( z  e.  ran  F  <->  E. y  e.  Y  ( F `  y )  =  z ) )
8988ad3antrrr 710 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
z  e.  ran  F  <->  E. y  e.  Y  ( F `  y )  =  z ) )
9076ad2antrr 706 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  (
( F " ( `' F " x ) )  C_  t  /\  t  C_  X ) )  /\  y  e.  Y
)  /\  ( F `  y )  e.  x
)  ->  Fun  F )
9190, 77jctir 524 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  (
( F " ( `' F " x ) )  C_  t  /\  t  C_  X ) )  /\  y  e.  Y
)  /\  ( F `  y )  e.  x
)  ->  ( Fun  F  /\  ( `' F " x )  C_  dom  F ) )
9260ad2antrr 706 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  ->  Fun  F )
9392ad2antrr 706 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  /\  x  e.  L
)  /\  ( ( F " ( `' F " x ) )  C_  t  /\  t  C_  X
) )  /\  y  e.  Y )  ->  Fun  F )
94463ad2ant3 978 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  ->  dom  F  =  Y )
9594ad3antrrr 710 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  dom  F  =  Y )
9695eleq2d 2350 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
y  e.  dom  F  <->  y  e.  Y ) )
9796biimpar 471 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  /\  x  e.  L
)  /\  ( ( F " ( `' F " x ) )  C_  t  /\  t  C_  X
) )  /\  y  e.  Y )  ->  y  e.  dom  F )
98 fvimacnv 5640 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( Fun  F  /\  y  e.  dom  F )  -> 
( ( F `  y )  e.  x  <->  y  e.  ( `' F " x ) ) )
9993, 97, 98syl2anc 642 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  /\  x  e.  L
)  /\  ( ( F " ( `' F " x ) )  C_  t  /\  t  C_  X
) )  /\  y  e.  Y )  ->  (
( F `  y
)  e.  x  <->  y  e.  ( `' F " x ) ) )
10099biimpa 470 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  (
( F " ( `' F " x ) )  C_  t  /\  t  C_  X ) )  /\  y  e.  Y
)  /\  ( F `  y )  e.  x
)  ->  y  e.  ( `' F " x ) )
101 funfvima2 5754 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Fun  F  /\  ( `' F " x ) 
C_  dom  F )  ->  ( y  e.  ( `' F " x )  ->  ( F `  y )  e.  ( F " ( `' F " x ) ) ) )
10291, 100, 101sylc 56 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  (
( F " ( `' F " x ) )  C_  t  /\  t  C_  X ) )  /\  y  e.  Y
)  /\  ( F `  y )  e.  x
)  ->  ( F `  y )  e.  ( F " ( `' F " x ) ) )
103102ex 423 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  /\  x  e.  L
)  /\  ( ( F " ( `' F " x ) )  C_  t  /\  t  C_  X
) )  /\  y  e.  Y )  ->  (
( F `  y
)  e.  x  -> 
( F `  y
)  e.  ( F
" ( `' F " x ) ) ) )
104 eleq1 2343 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( F `  y )  =  z  ->  (
( F `  y
)  e.  x  <->  z  e.  x ) )
105 eleq1 2343 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( F `  y )  =  z  ->  (
( F `  y
)  e.  ( F
" ( `' F " x ) )  <->  z  e.  ( F " ( `' F " x ) ) ) )
106104, 105imbi12d 311 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( F `  y )  =  z  ->  (
( ( F `  y )  e.  x  ->  ( F `  y
)  e.  ( F
" ( `' F " x ) ) )  <-> 
( z  e.  x  ->  z  e.  ( F
" ( `' F " x ) ) ) ) )
107103, 106syl5ibcom 211 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  /\  x  e.  L
)  /\  ( ( F " ( `' F " x ) )  C_  t  /\  t  C_  X
) )  /\  y  e.  Y )  ->  (
( F `  y
)  =  z  -> 
( z  e.  x  ->  z  e.  ( F
" ( `' F " x ) ) ) ) )
108107rexlimdva 2667 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  ( E. y  e.  Y  ( F `  y )  =  z  ->  (
z  e.  x  -> 
z  e.  ( F
" ( `' F " x ) ) ) ) )
10989, 108sylbid 206 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
z  e.  ran  F  ->  ( z  e.  x  ->  z  e.  ( F
" ( `' F " x ) ) ) ) )
110109com23 72 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
z  e.  x  -> 
( z  e.  ran  F  ->  z  e.  ( F " ( `' F " x ) ) ) ) )
111110imp3a 420 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
( z  e.  x  /\  z  e.  ran  F )  ->  z  e.  ( F " ( `' F " x ) ) ) )
11285, 111syl5bi 208 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
z  e.  ( x  i^i  ran  F )  ->  z  e.  ( F
" ( `' F " x ) ) ) )
113112ssrdv 3185 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
x  i^i  ran  F ) 
C_  ( F "
( `' F "
x ) ) )
11484, 113eqssd 3196 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  ( F " ( `' F " x ) )  =  ( x  i^i  ran  F ) )
115 filin 17549 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( L  e.  ( Fil `  X )  /\  x  e.  L  /\  ran  F  e.  L )  ->  (
x  i^i  ran  F )  e.  L )
1161153exp 1150 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( L  e.  ( Fil `  X
)  ->  ( x  e.  L  ->  ( ran 
F  e.  L  -> 
( x  i^i  ran  F )  e.  L ) ) )
117116com23 72 . . . . . . . . . . . . . . . . . . . . 21  |-  ( L  e.  ( Fil `  X
)  ->  ( ran  F  e.  L  ->  (
x  e.  L  -> 
( x  i^i  ran  F )  e.  L ) ) )
1181173ad2ant2 977 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( ran  F  e.  L  ->  ( x  e.  L  ->  ( x  i^i  ran  F )  e.  L ) ) )
119118imp31 421 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  ->  ( x  i^i  ran  F )  e.  L )
120119adantr 451 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  (
x  i^i  ran  F )  e.  L )
121114, 120eqeltrd 2357 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  /\  ( ( F "
( `' F "
x ) )  C_  t  /\  t  C_  X
) )  ->  ( F " ( `' F " x ) )  e.  L )
122121exp32 588 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  ->  ( ( F "
( `' F "
x ) )  C_  t  ->  ( t  C_  X  ->  ( F "
( `' F "
x ) )  e.  L ) ) )
123 imaeq2 5008 . . . . . . . . . . . . . . . . . 18  |-  ( s  =  ( `' F " x )  ->  ( F " s )  =  ( F " ( `' F " x ) ) )
124123sseq1d 3205 . . . . . . . . . . . . . . . . 17  |-  ( s  =  ( `' F " x )  ->  (
( F " s
)  C_  t  <->  ( F " ( `' F "
x ) )  C_  t ) )
125123eleq1d 2349 . . . . . . . . . . . . . . . . . 18  |-  ( s  =  ( `' F " x )  ->  (
( F " s
)  e.  L  <->  ( F " ( `' F "
x ) )  e.  L ) )
126125imbi2d 307 . . . . . . . . . . . . . . . . 17  |-  ( s  =  ( `' F " x )  ->  (
( t  C_  X  ->  ( F " s
)  e.  L )  <-> 
( t  C_  X  ->  ( F " ( `' F " x ) )  e.  L ) ) )
127124, 126imbi12d 311 . . . . . . . . . . . . . . . 16  |-  ( s  =  ( `' F " x )  ->  (
( ( F "
s )  C_  t  ->  ( t  C_  X  ->  ( F " s
)  e.  L ) )  <->  ( ( F
" ( `' F " x ) )  C_  t  ->  ( t  C_  X  ->  ( F "
( `' F "
x ) )  e.  L ) ) ) )
128122, 127syl5ibrcom 213 . . . . . . . . . . . . . . 15  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  x  e.  L )  ->  ( s  =  ( `' F " x )  ->  ( ( F
" s )  C_  t  ->  ( t  C_  X  ->  ( F "
s )  e.  L
) ) ) )
129128rexlimdva 2667 . . . . . . . . . . . . . 14  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  ( E. x  e.  L  s  =  ( `' F " x )  -> 
( ( F "
s )  C_  t  ->  ( t  C_  X  ->  ( F " s
)  e.  L ) ) ) )
13074, 129syl5bi 208 . . . . . . . . . . . . 13  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
s  e.  ran  (
x  e.  L  |->  ( `' F " x ) )  ->  ( ( F " s )  C_  t  ->  ( t  C_  X  ->  ( F "
s )  e.  L
) ) ) )
131130imp44 579 . . . . . . . . . . . 12  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  ( ( s  e. 
ran  ( x  e.  L  |->  ( `' F " x ) )  /\  ( F " s ) 
C_  t )  /\  t  C_  X ) )  ->  ( F "
s )  e.  L
)
132 simprr 733 . . . . . . . . . . . 12  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  ( ( s  e. 
ran  ( x  e.  L  |->  ( `' F " x ) )  /\  ( F " s ) 
C_  t )  /\  t  C_  X ) )  ->  t  C_  X
)
133 simprlr 739 . . . . . . . . . . . 12  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  ( ( s  e. 
ran  ( x  e.  L  |->  ( `' F " x ) )  /\  ( F " s ) 
C_  t )  /\  t  C_  X ) )  ->  ( F "
s )  C_  t
)
134 filss 17548 . . . . . . . . . . . 12  |-  ( ( L  e.  ( Fil `  X )  /\  (
( F " s
)  e.  L  /\  t  C_  X  /\  ( F " s )  C_  t ) )  -> 
t  e.  L )
13571, 131, 132, 133, 134syl13anc 1184 . . . . . . . . . . 11  |-  ( ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X
)  /\  F : Y
--> X )  /\  ran  F  e.  L )  /\  ( ( s  e. 
ran  ( x  e.  L  |->  ( `' F " x ) )  /\  ( F " s ) 
C_  t )  /\  t  C_  X ) )  ->  t  e.  L
)
136135exp44 596 . . . . . . . . . 10  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
s  e.  ran  (
x  e.  L  |->  ( `' F " x ) )  ->  ( ( F " s )  C_  t  ->  ( t  C_  X  ->  t  e.  L
) ) ) )
137136rexlimdv 2666 . . . . . . . . 9  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  ( E. s  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) ( F " s ) 
C_  t  ->  (
t  C_  X  ->  t  e.  L ) ) )
138137com23 72 . . . . . . . 8  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
t  C_  X  ->  ( E. s  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) ( F " s ) 
C_  t  ->  t  e.  L ) ) )
139138imp3a 420 . . . . . . 7  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
( t  C_  X  /\  E. s  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) ( F " s ) 
C_  t )  -> 
t  e.  L ) )
14070, 139impbid 183 . . . . . 6  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
t  e.  L  <->  ( t  C_  X  /\  E. s  e.  ran  ( x  e.  L  |->  ( `' F " x ) ) ( F " s ) 
C_  t ) ) )
1412adantr 451 . . . . . . 7  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  X  e.  L )
142 rnelfmlem 17647 . . . . . . 7  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  ran  ( x  e.  L  |->  ( `' F "
x ) )  e.  ( fBas `  Y
) )
143 simpl3 960 . . . . . . 7  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  F : Y --> X )
144 elfm 17642 . . . . . . 7  |-  ( ( X  e.  L  /\  ran  ( x  e.  L  |->  ( `' F "
x ) )  e.  ( fBas `  Y
)  /\  F : Y
--> X )  ->  (
t  e.  ( ( X  FilMap  F ) `  ran  ( x  e.  L  |->  ( `' F "
x ) ) )  <-> 
( t  C_  X  /\  E. s  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) ( F " s ) 
C_  t ) ) )
145141, 142, 143, 144syl3anc 1182 . . . . . 6  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
t  e.  ( ( X  FilMap  F ) `  ran  ( x  e.  L  |->  ( `' F "
x ) ) )  <-> 
( t  C_  X  /\  E. s  e.  ran  ( x  e.  L  |->  ( `' F "
x ) ) ( F " s ) 
C_  t ) ) )
146140, 145bitr4d 247 . . . . 5  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
t  e.  L  <->  t  e.  ( ( X  FilMap  F ) `  ran  (
x  e.  L  |->  ( `' F " x ) ) ) ) )
147146eqrdv 2281 . . . 4  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  L  =  ( ( X 
FilMap  F ) `  ran  ( x  e.  L  |->  ( `' F "
x ) ) ) )
1488adantr 451 . . . . 5  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  ( X  FilMap  F )  Fn  ( fBas `  Y
) )
149 fnfvelrn 5662 . . . . 5  |-  ( ( ( X  FilMap  F )  Fn  ( fBas `  Y
)  /\  ran  ( x  e.  L  |->  ( `' F " x ) )  e.  ( fBas `  Y ) )  -> 
( ( X  FilMap  F ) `  ran  (
x  e.  L  |->  ( `' F " x ) ) )  e.  ran  ( X  FilMap  F ) )
150148, 142, 149syl2anc 642 . . . 4  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  (
( X  FilMap  F ) `
 ran  ( x  e.  L  |->  ( `' F " x ) ) )  e.  ran  ( X  FilMap  F ) )
151147, 150eqeltrd 2357 . . 3  |-  ( ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  /\  ran  F  e.  L )  ->  L  e.  ran  ( X  FilMap  F ) )
152151ex 423 . 2  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( ran  F  e.  L  ->  L  e.  ran  ( X  FilMap  F ) ) )
15334, 152impbid 183 1  |-  ( ( Y  e.  A  /\  L  e.  ( Fil `  X )  /\  F : Y --> X )  -> 
( L  e.  ran  ( X  FilMap  F )  <->  ran  F  e.  L ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 176    /\ wa 358    /\ w3a 934    = wceq 1623    e. wcel 1684   E.wrex 2544   _Vcvv 2788    i^i cin 3151    C_ wss 3152    e. cmpt 4077   `'ccnv 4688   dom cdm 4689   ran crn 4690   "cima 4692   Fun wfun 5249    Fn wfn 5250   -->wf 5251   -onto->wfo 5253   ` cfv 5255  (class class class)co 5858   fBascfbas 17518   filGencfg 17519   Filcfil 17540    FilMap cfm 17628
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-13 1686  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-rep 4131  ax-sep 4141  ax-nul 4149  ax-pow 4188  ax-pr 4214  ax-un 4512
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3an 936  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-nel 2449  df-ral 2548  df-rex 2549  df-reu 2550  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-nul 3456  df-if 3566  df-pw 3627  df-sn 3646  df-pr 3647  df-op 3649  df-uni 3828  df-iun 3907  df-br 4024  df-opab 4078  df-mpt 4079  df-id 4309  df-xp 4695  df-rel 4696  df-cnv 4697  df-co 4698  df-dm 4699  df-rn 4700  df-res 4701  df-ima 4702  df-iota 5219  df-fun 5257  df-fn 5258  df-f 5259  df-f1 5260  df-fo 5261  df-f1o 5262  df-fv 5263  df-ov 5861  df-oprab 5862  df-mpt2 5863  df-fbas 17520  df-fg 17521  df-fil 17541  df-fm 17633
  Copyright terms: Public domain W3C validator