Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  clwwlkvbij Structured version   Unicode version

Theorem clwwlkvbij 30388
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 5698 . . . . . . 7  |-  ( ( V WWalksN  E ) `  N
)  e.  _V
21rabex 4440 . . . . . 6  |-  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  e.  _V
32mptex 5945 . . . . 5  |-  ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  |->  ( w substr  <. 0 ,  N >. ) )  e.  _V
43resex 5147 . . . 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
5 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 >. ) )
6 eqid 2441 . . . . . 6  |-  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  =  { x  e.  (
( V WWalksN  E ) `  N )  |  ( lastS  `  x )  =  ( x `  0 ) }
76, 5clwwlkf1o 30385 . . . . 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 ) )
8 fveq1 5687 . . . . . . . 8  |-  ( y  =  ( w substr  <. 0 ,  N >. )  ->  (
y `  0 )  =  ( ( w substr  <. 0 ,  N >. ) `
 0 ) )
98eqeq1d 2449 . . . . . . 7  |-  ( y  =  ( w substr  <. 0 ,  N >. )  ->  (
( y `  0
)  =  S  <->  ( (
w substr  <. 0 ,  N >. ) `  0 )  =  S ) )
1093ad2ant3 1006 . . . . . 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 ) )
11 fveq2 5688 . . . . . . . . . . . . . . 15  |-  ( x  =  w  ->  ( lastS  `  x )  =  ( lastS  `  w ) )
12 fveq1 5687 . . . . . . . . . . . . . . 15  |-  ( x  =  w  ->  (
x `  0 )  =  ( w ` 
0 ) )
1311, 12eqeq12d 2455 . . . . . . . . . . . . . 14  |-  ( x  =  w  ->  (
( lastS  `  x )  =  ( x `  0
)  <->  ( lastS  `  w )  =  ( w ` 
0 ) ) )
1413elrab 3114 . . . . . . . . . . . . 13  |-  ( w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) }  <->  ( w  e.  ( ( V WWalksN  E
) `  N )  /\  ( lastS  `  w )  =  ( w ` 
0 ) ) )
15 wwlknimp 30246 . . . . . . . . . . . . . . 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
) )
16 simpll 748 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  w  e. Word  V
)
17 nnz 10664 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  NN  ->  N  e.  ZZ )
18 uzid 10871 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( N  e.  ZZ  ->  N  e.  ( ZZ>= `  N )
)
1917, 18syl 16 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  NN  ->  N  e.  ( ZZ>= `  N )
)
20 peano2uz 10904 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  ( ZZ>= `  N
)  ->  ( N  +  1 )  e.  ( ZZ>= `  N )
)
2119, 20syl 16 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  NN  ->  ( N  +  1 )  e.  ( ZZ>= `  N
) )
22 elfz1end 11475 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( N  e.  NN  <->  N  e.  ( 1 ... N
) )
2322biimpi 194 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( N  e.  NN  ->  N  e.  ( 1 ... N
) )
2421, 23jca 529 . . . . . . . . . . . . . . . . . . . . 21  |-  ( N  e.  NN  ->  (
( N  +  1 )  e.  ( ZZ>= `  N )  /\  N  e.  ( 1 ... N
) ) )
25 fzss2 11494 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( N  +  1 )  e.  ( ZZ>= `  N
)  ->  ( 1 ... N )  C_  ( 1 ... ( N  +  1 ) ) )
2625sselda 3353 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( N  +  1 )  e.  ( ZZ>= `  N )  /\  N  e.  ( 1 ... N
) )  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
2724, 26syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( N  e.  NN  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
2827adantl 463 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  N  e.  ( 1 ... ( N  +  1 ) ) )
29 oveq2 6098 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  w )  =  ( N  + 
1 )  ->  (
1 ... ( # `  w
) )  =  ( 1 ... ( N  +  1 ) ) )
3029eleq2d 2508 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
# `  w )  =  ( N  + 
1 )  ->  ( N  e.  ( 1 ... ( # `  w
) )  <->  N  e.  ( 1 ... ( N  +  1 ) ) ) )
3130adantl 463 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( w  e. Word  V  /\  ( # `  w )  =  ( N  + 
1 ) )  -> 
( N  e.  ( 1 ... ( # `  w ) )  <->  N  e.  ( 1 ... ( N  +  1 ) ) ) )
3231adantr 462 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( N  e.  ( 1 ... ( # `
 w ) )  <-> 
N  e.  ( 1 ... ( N  + 
1 ) ) ) )
3328, 32mpbird 232 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  N  e.  ( 1 ... ( # `  w ) ) )
3416, 33jca 529 . . . . . . . . . . . . . . . . 17  |-  ( ( ( w  e. Word  V  /\  ( # `  w
)  =  ( N  +  1 ) )  /\  N  e.  NN )  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `  w ) ) ) )
3534ex 434 . . . . . . . . . . . . . . . 16  |-  ( ( w  e. Word  V  /\  ( # `  w )  =  ( N  + 
1 ) )  -> 
( N  e.  NN  ->  ( w  e. Word  V  /\  N  e.  (
1 ... ( # `  w
) ) ) ) )
36353adant3 1003 . . . . . . . . . . . . . . 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
) ) ) ) )
3715, 36syl 16 . . . . . . . . . . . . . 14  |-  ( w  e.  ( ( V WWalksN  E ) `  N
)  ->  ( N  e.  NN  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `
 w ) ) ) ) )
3837adantr 462 . . . . . . . . . . . . 13  |-  ( ( w  e.  ( ( V WWalksN  E ) `  N
)  /\  ( lastS  `  w
)  =  ( w `
 0 ) )  ->  ( N  e.  NN  ->  ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `
 w ) ) ) ) )
3914, 38sylbi 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
) ) ) ) )
4039com12 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
) ) ) ) )
41403ad2ant3 1006 . . . . . . . . . 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 ) ) ) ) )
4241imp 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 ) ) ) )
43 swrd0fv0 12332 . . . . . . . . 9  |-  ( ( w  e. Word  V  /\  N  e.  ( 1 ... ( # `  w
) ) )  -> 
( ( w substr  <. 0 ,  N >. ) `  0
)  =  ( w `
 0 ) )
4442, 43syl 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 ) )
4544eqeq1d 2449 . . . . . . 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 ) )
46453adant3 1003 . . . . . 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 ) )
4710, 46bitrd 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 ) )
485, 7, 47f1oresrab 5872 . . . 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 } )
49 f1oeq1 5629 . . . . 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 } ) )
5049spcegv 3055 . . . 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 } ) )
514, 48, 50mpsyl 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 } )
52 fveq1 5687 . . . . . . 7  |-  ( w  =  y  ->  (
w `  0 )  =  ( y ` 
0 ) )
5352eqeq1d 2449 . . . . . 6  |-  ( w  =  y  ->  (
( w `  0
)  =  S  <->  ( y `  0 )  =  S ) )
5453cbvrabv 2969 . . . . 5  |-  { w  e.  ( ( V ClWWalksN  E ) `
 N )  |  ( w `  0
)  =  S }  =  { y  e.  ( ( V ClWWalksN  E ) `  N )  |  ( y `  0 )  =  S }
55 f1oeq3 5631 . . . . 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 } ) )
5654, 55mp1i 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 } ) )
5756exbidv 1685 . . 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 } ) )
5851, 57mpbird 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 } )
59 df-rab 2722 . . . . 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 ) ) }
60 anass 644 . . . . . . 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 ) ) )
6160bicomi 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 ) )
6261abbii 2553 . . . . 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 ) }
6314bicomi 202 . . . . . . . 8  |-  ( ( w  e.  ( ( V WWalksN  E ) `  N
)  /\  ( lastS  `  w
)  =  ( w `
 0 ) )  <-> 
w  e.  { x  e.  ( ( V WWalksN  E
) `  N )  |  ( lastS  `  x )  =  ( x ` 
0 ) } )
6463anbi1i 690 . . . . . . 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 ) )
6564abbii 2553 . . . . . 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 ) }
66 df-rab 2722 . . . . . 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 ) }
6765, 66eqtr4i 2464 . . . . 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 }
6859, 62, 673eqtri 2465 . . . 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 }
69 f1oeq2 5630 . . . 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 } ) )
7068, 69mp1i 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 } ) )
7170exbidv 1685 . 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 } ) )
7258, 71mpbird 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 960    = wceq 1364   E.wex 1591    e. wcel 1761   {cab 2427   A.wral 2713   {crab 2717   _Vcvv 2970   {cpr 3876   <.cop 3880    e. cmpt 4347   ran crn 4837    |` cres 4838   -1-1-onto->wf1o 5414   ` cfv 5415  (class class class)co 6090   0cc0 9278   1c1 9279    + caddc 9281   NNcn 10318   ZZcz 10642   ZZ>=cuz 10857   ...cfz 11433  ..^cfzo 11544   #chash 12099  Word cword 12217   lastS clsw 12218   substr csubstr 12221   WWalksN cwwlkn 30237   ClWWalksN cclwwlkn 30339
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1596  ax-4 1607  ax-5 1675  ax-6 1713  ax-7 1733  ax-8 1763  ax-9 1765  ax-10 1780  ax-11 1785  ax-12 1797  ax-13 1948  ax-ext 2422  ax-rep 4400  ax-sep 4410  ax-nul 4418  ax-pow 4467  ax-pr 4528  ax-un 6371  ax-cnex 9334  ax-resscn 9335  ax-1cn 9336  ax-icn 9337  ax-addcl 9338  ax-addrcl 9339  ax-mulcl 9340  ax-mulrcl 9341  ax-mulcom 9342  ax-addass 9343  ax-mulass 9344  ax-distr 9345  ax-i2m1 9346  ax-1ne0 9347  ax-1rid 9348  ax-rnegex 9349  ax-rrecex 9350  ax-cnre 9351  ax-pre-lttri 9352  ax-pre-lttrn 9353  ax-pre-ltadd 9354  ax-pre-mulgt0 9355
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 961  df-3an 962  df-tru 1367  df-fal 1370  df-ex 1592  df-nf 1595  df-sb 1706  df-eu 2261  df-mo 2262  df-clab 2428  df-cleq 2434  df-clel 2437  df-nfc 2566  df-ne 2606  df-nel 2607  df-ral 2718  df-rex 2719  df-reu 2720  df-rab 2722  df-v 2972  df-sbc 3184  df-csb 3286  df-dif 3328  df-un 3330  df-in 3332  df-ss 3339  df-pss 3341  df-nul 3635  df-if 3789  df-pw 3859  df-sn 3875  df-pr 3877  df-tp 3879  df-op 3881  df-uni 4089  df-int 4126  df-iun 4170  df-br 4290  df-opab 4348  df-mpt 4349  df-tr 4383  df-eprel 4628  df-id 4632  df-po 4637  df-so 4638  df-fr 4675  df-we 4677  df-ord 4718  df-on 4719  df-lim 4720  df-suc 4721  df-xp 4842  df-rel 4843  df-cnv 4844  df-co 4845  df-dm 4846  df-rn 4847  df-res 4848  df-ima 4849  df-iota 5378  df-fun 5417  df-fn 5418  df-f 5419  df-f1 5420  df-fo 5421  df-f1o 5422  df-fv 5423  df-riota 6049  df-ov 6093  df-oprab 6094  df-mpt2 6095  df-om 6476  df-1st 6576  df-2nd 6577  df-recs 6828  df-rdg 6862  df-1o 6916  df-oadd 6920  df-er 7097  df-map 7212  df-pm 7213  df-en 7307  df-dom 7308  df-sdom 7309  df-fin 7310  df-card 8105  df-pnf 9416  df-mnf 9417  df-xr 9418  df-ltxr 9419  df-le 9420  df-sub 9593  df-neg 9594  df-nn 10319  df-n0 10576  df-z 10643  df-uz 10858  df-fz 11434  df-fzo 11545  df-hash 12100  df-word 12225  df-lsw 12226  df-concat 12227  df-s1 12228  df-substr 12229  df-wwlk 30238  df-wwlkn 30239  df-clwwlk 30341  df-clwwlkn 30342
This theorem is referenced by:  numclwwlkqhash  30618
  Copyright terms: Public domain W3C validator