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

Theorem clwwlkvbij 24666
Description: There is a bijection between the set of closed walks of a fixed length starting at a fixed vertex represented by walks (as word) and the set of closed walks (as words) of a fixed length starting at a fixed vertex. The difference between these two representations is that in the first case the starting vertex is repeated at the end of the word, and in the second case it is not. (Contributed by Alexander van der Vekens, 29-Sep-2018.)
Assertion
Ref Expression
clwwlkvbij  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  E. f  f : { w  e.  ( ( V WWalksN  E ) `  N )  |  ( ( lastS  `  w )  =  ( w ` 
0 )  /\  (
w `  0 )  =  S ) } -1-1-onto-> { w  e.  ( ( V ClWWalksN  E ) `  N )  |  ( w `  0 )  =  S } )
Distinct variable groups:    f, E, w    f, N, w    S, f, w    f, V, w   
f, X, w    f, Y, w

Proof of Theorem clwwlkvbij
Dummy variables  i  x  y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fvex 5862 . . . . . 6  |-  ( ( V WWalksN  E ) `  N
)  e.  _V
21mptrabex 6125 . . . . 5  |-  ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  |->  ( w substr  <. 0 ,  N >. ) )  e.  _V
32resex 5303 . . . 4  |-  ( ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  |->  ( w substr  <. 0 ,  N >. ) )  |`  { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S } )  e. 
_V
4 eqid 2441 . . . . 5  |-  ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  |->  ( w substr  <. 0 ,  N >. ) )  =  ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  |->  ( w substr  <. 0 ,  N >. ) )
5 eqid 2441 . . . . . 6  |-  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  =  { x  e.  (
( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }
65, 4clwwlkf1o 24663 . . . . 5  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) } 
|->  ( w substr  <. 0 ,  N >. ) ) : { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) } -1-1-onto-> ( ( V ClWWalksN  E ) `
 N ) )
7 fveq1 5851 . . . . . . . 8  |-  ( y  =  ( w substr  <. 0 ,  N >. )  ->  (
y `  0 )  =  ( ( w substr  <. 0 ,  N >. ) `
 0 ) )
87eqeq1d 2443 . . . . . . 7  |-  ( y  =  ( w substr  <. 0 ,  N >. )  ->  (
( y `  0
)  =  S  <->  ( (
w substr  <. 0 ,  N >. ) `  0 )  =  S ) )
983ad2ant3 1018 . . . . . 6  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) }  /\  y  =  ( w substr  <. 0 ,  N >. ) )  ->  (
( y `  0
)  =  S  <->  ( (
w substr  <. 0 ,  N >. ) `  0 )  =  S ) )
10 fveq2 5852 . . . . . . . . . . . . . . 15  |-  ( x  =  w  ->  ( lastS  `  x )  =  ( lastS  `  w ) )
11 fveq1 5851 . . . . . . . . . . . . . . 15  |-  ( x  =  w  ->  (
x `  0 )  =  ( w ` 
0 ) )
1210, 11eqeq12d 2463 . . . . . . . . . . . . . 14  |-  ( x  =  w  ->  (
( lastS  `  x )  =  ( x `  0
)  <->  ( lastS  `  w )  =  ( w ` 
0 ) ) )
1312elrab 3241 . . . . . . . . . . . . 13  |-  ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  <->  ( w  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  w )  =  ( w ` 
0 ) ) )
14 wwlknimp 24552 . . . . . . . . . . . . . . 15  |-  ( w  e.  ( ( V WWalksN  E ) `  N
)  ->  ( w  e. Word  V  /\  ( # `  w )  =  ( N  +  1 )  /\  A. i  e.  ( 0..^ N ) { ( w `  i ) ,  ( w `  ( i  +  1 ) ) }  e.  ran  E
) )
15 simpll 753 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  w  e. Word  V
)
16 nnz 10887 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  NN  ->  N  e.  ZZ )
17 uzid 11099 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ZZ  ->  N  e.  ( ZZ>= `  N )
)
1816, 17syl 16 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  NN  ->  N  e.  ( ZZ>= `  N )
)
19 peano2uz 11138 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  N
)  ->  ( N  +  1 )  e.  ( ZZ>= `  N )
)
2018, 19syl 16 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  ( ZZ>= `  N
) )
21 elfz1end 11719 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  NN  <->  N  e.  ( 1 ... N
) )
2221biimpi 194 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  NN  ->  N  e.  ( 1 ... N
) )
2320, 22jca 532 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  NN  ->  (
( N  +  1 )  e.  ( ZZ>= `  N )  /\  N  e.  ( 1 ... N
) ) )
24 fzss2 11727 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( N  +  1 )  e.  ( ZZ>= `  N
)  ->  ( 1 ... N )  C_  ( 1 ... ( N  +  1 ) ) )
2524sselda 3486 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( N  +  1 )  e.  ( ZZ>= `  N )  /\  N  e.  ( 1 ... N
) )  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
2623, 25syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
2726adantl 466 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
28 oveq2 6285 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  w )  =  ( N  + 
1 )  ->  (
1 ... ( # `  w
) )  =  ( 1 ... ( N  +  1 ) ) )
2928eleq2d 2511 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
# `  w )  =  ( N  + 
1 )  ->  ( N  e.  ( 1 ... ( # `  w
) )  <->  N  e.  ( 1 ... ( N  +  1 ) ) ) )
3029adantl 466 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( w  e. Word  V  /\  ( # `  w )  =  ( N  + 
1 ) )  -> 
( N  e.  ( 1 ... ( # `  w ) )  <->  N  e.  ( 1 ... ( N  +  1 ) ) ) )
3130adantr 465 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( N  e.  ( 1 ... ( # `
 w ) )  <-> 
N  e.  ( 1 ... ( N  + 
1 ) ) ) )
3227, 31mpbird 232 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  N  e.  ( 1 ... ( # `  w ) ) )
3315, 32jca 532 . . . . . . . . . . . . . . . . 17  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `  w ) ) ) )
3433ex 434 . . . . . . . . . . . . . . . 16  |-  ( ( w  e. Word  V  /\  ( # `  w )  =  ( N  + 
1 ) )  -> 
( N  e.  NN  ->  ( w  e. Word  V  /\  N  e.  (
1 ... ( # `  w
) ) ) ) )
35343adant3 1015 . . . . . . . . . . . . . . 15  |-  ( ( w  e. Word  V  /\  ( # `  w )  =  ( N  + 
1 )  /\  A. i  e.  ( 0..^ N ) { ( w `  i ) ,  ( w `  ( i  +  1 ) ) }  e.  ran  E )  ->  ( N  e.  NN  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `  w
) ) ) ) )
3614, 35syl 16 . . . . . . . . . . . . . 14  |-  ( w  e.  ( ( V WWalksN  E ) `  N
)  ->  ( N  e.  NN  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `
 w ) ) ) ) )
3736adantr 465 . . . . . . . . . . . . 13  |-  ( ( w  e.  ( ( V WWalksN  E ) `  N
)  /\  ( lastS  `  w
)  =  ( w `
 0 ) )  ->  ( N  e.  NN  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `
 w ) ) ) ) )
3813, 37sylbi 195 . . . . . . . . . . . 12  |-  ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  ->  ( N  e.  NN  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `  w
) ) ) ) )
3938com12 31 . . . . . . . . . . 11  |-  ( N  e.  NN  ->  (
w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `  w
) ) ) ) )
40393ad2ant3 1018 . . . . . . . . . 10  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) }  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `  w ) ) ) ) )
4140imp 429 . . . . . . . . 9  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) } )  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `
 w ) ) ) )
42 swrd0fv0 12641 . . . . . . . . 9  |-  ( ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `  w
) ) )  -> 
( ( w substr  <. 0 ,  N >. ) `  0
)  =  ( w `
 0 ) )
4341, 42syl 16 . . . . . . . 8  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) } )  ->  ( (
w substr  <. 0 ,  N >. ) `  0 )  =  ( w ` 
0 ) )
4443eqeq1d 2443 . . . . . . 7  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) } )  ->  ( (
( w substr  <. 0 ,  N >. ) `  0
)  =  S  <->  ( w `  0 )  =  S ) )
45443adant3 1015 . . . . . 6  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) }  /\  y  =  ( w substr  <. 0 ,  N >. ) )  ->  (
( ( w substr  <. 0 ,  N >. ) `  0
)  =  S  <->  ( w `  0 )  =  S ) )
469, 45bitrd 253 . . . . 5  |-  ( ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  /\  w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) }  /\  y  =  ( w substr  <. 0 ,  N >. ) )  ->  (
( y `  0
)  =  S  <->  ( w `  0 )  =  S ) )
474, 6, 46f1oresrab 6044 . . . 4  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( ( w  e. 
{ x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |->  ( w substr  <. 0 ,  N >. ) )  |`  { w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S }
) : { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S } -1-1-onto-> { y  e.  ( ( V ClWWalksN  E ) `  N )  |  ( y `  0 )  =  S } )
48 f1oeq1 5793 . . . . 5  |-  ( f  =  ( ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  |->  ( w substr  <. 0 ,  N >. ) )  |`  { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S } )  -> 
( f : {
w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S } -1-1-onto-> {
y  e.  ( ( V ClWWalksN  E ) `  N
)  |  ( y `
 0 )  =  S }  <->  ( (
w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  |->  ( w substr  <. 0 ,  N >. ) )  |`  { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S } ) : { w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) }  |  ( w ` 
0 )  =  S } -1-1-onto-> { y  e.  ( ( V ClWWalksN  E ) `  N )  |  ( y `  0 )  =  S } ) )
4948spcegv 3179 . . . 4  |-  ( ( ( w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) } 
|->  ( w substr  <. 0 ,  N >. ) )  |`  { w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S }
)  e.  _V  ->  ( ( ( w  e. 
{ x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |->  ( w substr  <. 0 ,  N >. ) )  |`  { w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S }
) : { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S } -1-1-onto-> { y  e.  ( ( V ClWWalksN  E ) `  N )  |  ( y `  0 )  =  S }  ->  E. f  f : {
w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S } -1-1-onto-> {
y  e.  ( ( V ClWWalksN  E ) `  N
)  |  ( y `
 0 )  =  S } ) )
503, 47, 49mpsyl 63 . . 3  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  E. f  f : { w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) }  |  ( w ` 
0 )  =  S } -1-1-onto-> { y  e.  ( ( V ClWWalksN  E ) `  N )  |  ( y `  0 )  =  S } )
51 fveq1 5851 . . . . . . 7  |-  ( w  =  y  ->  (
w `  0 )  =  ( y ` 
0 ) )
5251eqeq1d 2443 . . . . . 6  |-  ( w  =  y  ->  (
( w `  0
)  =  S  <->  ( y `  0 )  =  S ) )
5352cbvrabv 3092 . . . . 5  |-  { w  e.  ( ( V ClWWalksN  E ) `
 N )  |  ( w `  0
)  =  S }  =  { y  e.  ( ( V ClWWalksN  E ) `  N )  |  ( y `  0 )  =  S }
54 f1oeq3 5795 . . . . 5  |-  ( { w  e.  ( ( V ClWWalksN  E ) `  N
)  |  ( w `
 0 )  =  S }  =  {
y  e.  ( ( V ClWWalksN  E ) `  N
)  |  ( y `
 0 )  =  S }  ->  (
f : { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S } -1-1-onto-> { w  e.  ( ( V ClWWalksN  E ) `  N )  |  ( w `  0 )  =  S }  <->  f : { w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S } -1-1-onto-> {
y  e.  ( ( V ClWWalksN  E ) `  N
)  |  ( y `
 0 )  =  S } ) )
5553, 54mp1i 12 . . . 4  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( f : {
w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S } -1-1-onto-> {
w  e.  ( ( V ClWWalksN  E ) `  N
)  |  ( w `
 0 )  =  S }  <->  f : { w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S } -1-1-onto-> {
y  e.  ( ( V ClWWalksN  E ) `  N
)  |  ( y `
 0 )  =  S } ) )
5655exbidv 1699 . . 3  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( E. f  f : { w  e. 
{ x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S } -1-1-onto-> { w  e.  ( ( V ClWWalksN  E ) `  N )  |  ( w `  0 )  =  S }  <->  E. f 
f : { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S } -1-1-onto-> { y  e.  ( ( V ClWWalksN  E ) `  N )  |  ( y `  0 )  =  S } ) )
5750, 56mpbird 232 . 2  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  E. f  f : { w  e.  {
x  e.  ( ( V WWalksN  E ) `  N
)  |  ( lastS  `  x
)  =  ( x `
 0 ) }  |  ( w ` 
0 )  =  S } -1-1-onto-> { w  e.  ( ( V ClWWalksN  E ) `  N )  |  ( w `  0 )  =  S } )
58 df-rab 2800 . . . . 5  |-  { w  e.  ( ( V WWalksN  E
) `  N )  |  ( ( lastS  `  w
)  =  ( w `
 0 )  /\  ( w `  0
)  =  S ) }  =  { w  |  ( w  e.  ( ( V WWalksN  E
) `  N )  /\  ( ( lastS  `  w
)  =  ( w `
 0 )  /\  ( w `  0
)  =  S ) ) }
59 anass 649 . . . . . . 7  |-  ( ( ( w  e.  ( ( V WWalksN  E ) `  N )  /\  ( lastS  `  w )  =  ( w `  0 ) )  /\  ( w `
 0 )  =  S )  <->  ( w  e.  ( ( V WWalksN  E
) `  N )  /\  ( ( lastS  `  w
)  =  ( w `
 0 )  /\  ( w `  0
)  =  S ) ) )
6059bicomi 202 . . . . . 6  |-  ( ( w  e.  ( ( V WWalksN  E ) `  N
)  /\  ( ( lastS  `  w )  =  ( w `  0 )  /\  ( w ` 
0 )  =  S ) )  <->  ( (
w  e.  ( ( V WWalksN  E ) `  N
)  /\  ( lastS  `  w
)  =  ( w `
 0 ) )  /\  ( w ` 
0 )  =  S ) )
6160abbii 2575 . . . . 5  |-  { w  |  ( w  e.  ( ( V WWalksN  E
) `  N )  /\  ( ( lastS  `  w
)  =  ( w `
 0 )  /\  ( w `  0
)  =  S ) ) }  =  {
w  |  ( ( w  e.  ( ( V WWalksN  E ) `  N
)  /\  ( lastS  `  w
)  =  ( w `
 0 ) )  /\  ( w ` 
0 )  =  S ) }
6213bicomi 202 . . . . . . . 8  |-  ( ( w  e.  ( ( V WWalksN  E ) `  N
)  /\  ( lastS  `  w
)  =  ( w `
 0 ) )  <-> 
w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) } )
6362anbi1i 695 . . . . . . 7  |-  ( ( ( w  e.  ( ( V WWalksN  E ) `  N )  /\  ( lastS  `  w )  =  ( w `  0 ) )  /\  ( w `
 0 )  =  S )  <->  ( w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  /\  ( w `
 0 )  =  S ) )
6463abbii 2575 . . . . . 6  |-  { w  |  ( ( w  e.  ( ( V WWalksN  E ) `  N
)  /\  ( lastS  `  w
)  =  ( w `
 0 ) )  /\  ( w ` 
0 )  =  S ) }  =  {
w  |  ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  /\  ( w `  0
)  =  S ) }
65 df-rab 2800 . . . . . 6  |-  { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S }  =  {
w  |  ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  /\  ( w `  0
)  =  S ) }
6664, 65eqtr4i 2473 . . . . 5  |-  { w  |  ( ( w  e.  ( ( V WWalksN  E ) `  N
)  /\  ( lastS  `  w
)  =  ( w `
 0 ) )  /\  ( w ` 
0 )  =  S ) }  =  {
w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S }
6758, 61, 663eqtri 2474 . . . 4  |-  { w  e.  ( ( V WWalksN  E
) `  N )  |  ( ( lastS  `  w
)  =  ( w `
 0 )  /\  ( w `  0
)  =  S ) }  =  { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S }
68 f1oeq2 5794 . . . 4  |-  ( { w  e.  ( ( V WWalksN  E ) `  N
)  |  ( ( lastS  `  w )  =  ( w `  0 )  /\  ( w ` 
0 )  =  S ) }  =  {
w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S }  ->  ( f : {
w  e.  ( ( V WWalksN  E ) `  N
)  |  ( ( lastS  `  w )  =  ( w `  0 )  /\  ( w ` 
0 )  =  S ) } -1-1-onto-> { w  e.  ( ( V ClWWalksN  E ) `  N )  |  ( w `  0 )  =  S }  <->  f : { w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S } -1-1-onto-> {
w  e.  ( ( V ClWWalksN  E ) `  N
)  |  ( w `
 0 )  =  S } ) )
6967, 68mp1i 12 . . 3  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( f : {
w  e.  ( ( V WWalksN  E ) `  N
)  |  ( ( lastS  `  w )  =  ( w `  0 )  /\  ( w ` 
0 )  =  S ) } -1-1-onto-> { w  e.  ( ( V ClWWalksN  E ) `  N )  |  ( w `  0 )  =  S }  <->  f : { w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  | 
( w `  0
)  =  S } -1-1-onto-> {
w  e.  ( ( V ClWWalksN  E ) `  N
)  |  ( w `
 0 )  =  S } ) )
7069exbidv 1699 . 2  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  ( E. f  f : { w  e.  ( ( V WWalksN  E
) `  N )  |  ( ( lastS  `  w
)  =  ( w `
 0 )  /\  ( w `  0
)  =  S ) } -1-1-onto-> { w  e.  ( ( V ClWWalksN  E ) `  N )  |  ( w `  0 )  =  S }  <->  E. f 
f : { w  e.  { x  e.  ( ( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }  |  ( w `
 0 )  =  S } -1-1-onto-> { w  e.  ( ( V ClWWalksN  E ) `  N )  |  ( w `  0 )  =  S } ) )
7157, 70mpbird 232 1  |-  ( ( V  e.  X  /\  E  e.  Y  /\  N  e.  NN )  ->  E. f  f : { w  e.  ( ( V WWalksN  E ) `  N )  |  ( ( lastS  `  w )  =  ( w ` 
0 )  /\  (
w `  0 )  =  S ) } -1-1-onto-> { w  e.  ( ( V ClWWalksN  E ) `  N )  |  ( w `  0 )  =  S } )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 972    = wceq 1381   E.wex 1597    e. wcel 1802   {cab 2426   A.wral 2791   {crab 2795   _Vcvv 3093   {cpr 4012   <.cop 4016    |-> cmpt 4491   ran crn 4986    |` cres 4987   -1-1-onto->wf1o 5573   ` cfv 5574  (class class class)co 6277   0cc0 9490   1c1 9491    + caddc 9493   NNcn 10537   ZZcz 10865   ZZ>=cuz 11085   ...cfz 11676  ..^cfzo 11798   #chash 12379  Word cword 12508   lastS clsw 12509   substr csubstr 12512   WWalksN cwwlkn 24543   ClWWalksN cclwwlkn 24614
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1603  ax-4 1616  ax-5 1689  ax-6 1732  ax-7 1774  ax-8 1804  ax-9 1806  ax-10 1821  ax-11 1826  ax-12 1838  ax-13 1983  ax-ext 2419  ax-rep 4544  ax-sep 4554  ax-nul 4562  ax-pow 4611  ax-pr 4672  ax-un 6573  ax-cnex 9546  ax-resscn 9547  ax-1cn 9548  ax-icn 9549  ax-addcl 9550  ax-addrcl 9551  ax-mulcl 9552  ax-mulrcl 9553  ax-mulcom 9554  ax-addass 9555  ax-mulass 9556  ax-distr 9557  ax-i2m1 9558  ax-1ne0 9559  ax-1rid 9560  ax-rnegex 9561  ax-rrecex 9562  ax-cnre 9563  ax-pre-lttri 9564  ax-pre-lttrn 9565  ax-pre-ltadd 9566  ax-pre-mulgt0 9567
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 973  df-3an 974  df-tru 1384  df-fal 1387  df-ex 1598  df-nf 1602  df-sb 1725  df-eu 2270  df-mo 2271  df-clab 2427  df-cleq 2433  df-clel 2436  df-nfc 2591  df-ne 2638  df-nel 2639  df-ral 2796  df-rex 2797  df-reu 2798  df-rmo 2799  df-rab 2800  df-v 3095  df-sbc 3312  df-csb 3418  df-dif 3461  df-un 3463  df-in 3465  df-ss 3472  df-pss 3474  df-nul 3768  df-if 3923  df-pw 3995  df-sn 4011  df-pr 4013  df-tp 4015  df-op 4017  df-uni 4231  df-int 4268  df-iun 4313  df-br 4434  df-opab 4492  df-mpt 4493  df-tr 4527  df-eprel 4777  df-id 4781  df-po 4786  df-so 4787  df-fr 4824  df-we 4826  df-ord 4867  df-on 4868  df-lim 4869  df-suc 4870  df-xp 4991  df-rel 4992  df-cnv 4993  df-co 4994  df-dm 4995  df-rn 4996  df-res 4997  df-ima 4998  df-iota 5537  df-fun 5576  df-fn 5577  df-f 5578  df-f1 5579  df-fo 5580  df-f1o 5581  df-fv 5582  df-riota 6238  df-ov 6280  df-oprab 6281  df-mpt2 6282  df-om 6682  df-1st 6781  df-2nd 6782  df-recs 7040  df-rdg 7074  df-1o 7128  df-oadd 7132  df-er 7309  df-map 7420  df-pm 7421  df-en 7515  df-dom 7516  df-sdom 7517  df-fin 7518  df-card 8318  df-cda 8546  df-pnf 9628  df-mnf 9629  df-xr 9630  df-ltxr 9631  df-le 9632  df-sub 9807  df-neg 9808  df-nn 10538  df-2 10595  df-n0 10797  df-z 10866  df-uz 11086  df-fz 11677  df-fzo 11799  df-hash 12380  df-word 12516  df-lsw 12517  df-concat 12518  df-s1 12519  df-substr 12520  df-wwlk 24544  df-wwlkn 24545  df-clwwlk 24616  df-clwwlkn 24617
This theorem is referenced by:  numclwwlkqhash  24965
  Copyright terms: Public domain W3C validator