Users' Mathboxes Mathbox for Scott Fenton < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  dfrdg2 Structured version   Unicode version

Theorem dfrdg2 27556
Description: Alternate definition of the recursive function generator when  I is a set. (Contributed by Scott Fenton, 26-Mar-2014.) (Revised by Mario Carneiro, 19-Apr-2014.)
Assertion
Ref Expression
dfrdg2  |-  ( I  e.  V  ->  rec ( F ,  I )  =  U. { f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) } )
Distinct variable groups:    f, F, x, y    f, I, x, y
Allowed substitution hints:    V( x, y, f)

Proof of Theorem dfrdg2
Dummy variables  g 
i  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 rdgeq2 6860 . . 3  |-  ( i  =  I  ->  rec ( F ,  i )  =  rec ( F ,  I ) )
2 ifeq1 3788 . . . . . . . . 9  |-  ( i  =  I  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) )  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f "
y ) ,  ( F `  ( f `
 U. y ) ) ) ) )
32eqeq2d 2448 . . . . . . . 8  |-  ( i  =  I  ->  (
( f `  y
)  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) )  <->  ( f `  y )  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) )
43ralbidv 2729 . . . . . . 7  |-  ( i  =  I  ->  ( A. y  e.  x  ( f `  y
)  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) )  <->  A. y  e.  x  ( f `  y
)  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f "
y ) ,  ( F `  ( f `
 U. y ) ) ) ) ) )
54anbi2d 703 . . . . . 6  |-  ( i  =  I  ->  (
( f  Fn  x  /\  A. y  e.  x  ( f `  y
)  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )  <->  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) ) )
65rexbidv 2730 . . . . 5  |-  ( i  =  I  ->  ( E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y
)  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )  <->  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) ) )
76abbidv 2551 . . . 4  |-  ( i  =  I  ->  { f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) }  =  { f  |  E. x  e.  On  (
f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f "
y ) ,  ( F `  ( f `
 U. y ) ) ) ) ) } )
87unieqd 4094 . . 3  |-  ( i  =  I  ->  U. {
f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) }  =  U. { f  |  E. x  e.  On  (
f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f "
y ) ,  ( F `  ( f `
 U. y ) ) ) ) ) } )
91, 8eqeq12d 2451 . 2  |-  ( i  =  I  ->  ( rec ( F ,  i )  =  U. {
f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) }  <->  rec ( F ,  I )  =  U. { f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y
)  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f "
y ) ,  ( F `  ( f `
 U. y ) ) ) ) ) } ) )
10 df-rdg 6858 . . 3  |-  rec ( F ,  i )  = recs ( ( g  e. 
_V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `  U. dom  g ) ) ) ) ) )
11 df-recs 6824 . . 3  |- recs ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) ) )  =  U. { f  |  E. x  e.  On  (
f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim 
dom  g ,  U. ran  g ,  ( F `
 ( g `  U. dom  g ) ) ) ) ) `  ( f  |`  y
) ) ) }
12 vex 2969 . . . . . . . . . . . . 13  |-  f  e. 
_V
1312resex 5143 . . . . . . . . . . . 12  |-  ( f  |`  y )  e.  _V
14 eqeq1 2443 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  (
g  =  (/)  <->  ( f  |`  y )  =  (/) ) )
15 relres 5131 . . . . . . . . . . . . . . . 16  |-  Rel  (
f  |`  y )
16 reldm0 5049 . . . . . . . . . . . . . . . 16  |-  ( Rel  ( f  |`  y
)  ->  ( (
f  |`  y )  =  (/) 
<->  dom  ( f  |`  y )  =  (/) ) )
1715, 16ax-mp 5 . . . . . . . . . . . . . . 15  |-  ( ( f  |`  y )  =  (/)  <->  dom  ( f  |`  y )  =  (/) )
1814, 17syl6bb 261 . . . . . . . . . . . . . 14  |-  ( g  =  ( f  |`  y )  ->  (
g  =  (/)  <->  dom  ( f  |`  y )  =  (/) ) )
19 dmeq 5032 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( f  |`  y )  ->  dom  g  =  dom  ( f  |`  y ) )
20 limeq 4723 . . . . . . . . . . . . . . . 16  |-  ( dom  g  =  dom  (
f  |`  y )  -> 
( Lim  dom  g  <->  Lim  dom  (
f  |`  y ) ) )
2119, 20syl 16 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  ( Lim  dom  g  <->  Lim  dom  (
f  |`  y ) ) )
22 rneq 5057 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( f  |`  y )  ->  ran  g  =  ran  ( f  |`  y ) )
23 df-ima 4845 . . . . . . . . . . . . . . . . 17  |-  ( f
" y )  =  ran  ( f  |`  y )
2422, 23syl6eqr 2487 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( f  |`  y )  ->  ran  g  =  ( f " y ) )
2524unieqd 4094 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  U. ran  g  =  U. (
f " y ) )
26 id 22 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( f  |`  y )  ->  g  =  ( f  |`  y ) )
2719unieqd 4094 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( f  |`  y )  ->  U. dom  g  =  U. dom  (
f  |`  y ) )
2826, 27fveq12d 5690 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( f  |`  y )  ->  (
g `  U. dom  g
)  =  ( ( f  |`  y ) `  U. dom  ( f  |`  y ) ) )
2928fveq2d 5688 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  ( F `  ( g `  U. dom  g ) )  =  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) )
3021, 25, 29ifbieq12d 3809 . . . . . . . . . . . . . 14  |-  ( g  =  ( f  |`  y )  ->  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) )  =  if ( Lim  dom  ( f  |`  y
) ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) ) )
3118, 30ifbieq2d 3807 . . . . . . . . . . . . 13  |-  ( g  =  ( f  |`  y )  ->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) )  =  if ( dom  ( f  |`  y
)  =  (/) ,  i ,  if ( Lim 
dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) ) ) )
32 eqid 2437 . . . . . . . . . . . . 13  |-  ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim 
dom  g ,  U. ran  g ,  ( F `
 ( g `  U. dom  g ) ) ) ) )  =  ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) )
33 vex 2969 . . . . . . . . . . . . . 14  |-  i  e. 
_V
34 imaexg 6510 . . . . . . . . . . . . . . . . 17  |-  ( f  e.  _V  ->  (
f " y )  e.  _V )
3512, 34ax-mp 5 . . . . . . . . . . . . . . . 16  |-  ( f
" y )  e. 
_V
3635uniex 6371 . . . . . . . . . . . . . . 15  |-  U. (
f " y )  e.  _V
37 fvex 5694 . . . . . . . . . . . . . . 15  |-  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) )  e. 
_V
3836, 37ifex 3851 . . . . . . . . . . . . . 14  |-  if ( Lim  dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) )  e.  _V
3933, 38ifex 3851 . . . . . . . . . . . . 13  |-  if ( dom  ( f  |`  y )  =  (/) ,  i ,  if ( Lim  dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) ) )  e.  _V
4031, 32, 39fvmpt 5767 . . . . . . . . . . . 12  |-  ( ( f  |`  y )  e.  _V  ->  ( (
g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) ) `  ( f  |`  y ) )  =  if ( dom  (
f  |`  y )  =  (/) ,  i ,  if ( Lim  dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) ) ) )
4113, 40ax-mp 5 . . . . . . . . . . 11  |-  ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) ) `  ( f  |`  y ) )  =  if ( dom  (
f  |`  y )  =  (/) ,  i ,  if ( Lim  dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) ) )
42 dmres 5124 . . . . . . . . . . . . 13  |-  dom  (
f  |`  y )  =  ( y  i^i  dom  f )
43 onelss 4753 . . . . . . . . . . . . . . . . 17  |-  ( x  e.  On  ->  (
y  e.  x  -> 
y  C_  x )
)
4443imp 429 . . . . . . . . . . . . . . . 16  |-  ( ( x  e.  On  /\  y  e.  x )  ->  y  C_  x )
45443adant2 1007 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  y  C_  x )
46 fndm 5503 . . . . . . . . . . . . . . . 16  |-  ( f  Fn  x  ->  dom  f  =  x )
47463ad2ant2 1010 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  dom  f  =  x )
4845, 47sseqtr4d 3386 . . . . . . . . . . . . . 14  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  y  C_  dom  f )
49 df-ss 3335 . . . . . . . . . . . . . 14  |-  ( y 
C_  dom  f  <->  ( y  i^i  dom  f )  =  y )
5048, 49sylib 196 . . . . . . . . . . . . 13  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  ( y  i^i  dom  f )  =  y )
5142, 50syl5eq 2481 . . . . . . . . . . . 12  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  dom  ( f  |`  y )  =  y )
52 eqeq1 2443 . . . . . . . . . . . . . 14  |-  ( dom  ( f  |`  y
)  =  y  -> 
( dom  ( f  |`  y )  =  (/)  <->  y  =  (/) ) )
53 limeq 4723 . . . . . . . . . . . . . . 15  |-  ( dom  ( f  |`  y
)  =  y  -> 
( Lim  dom  ( f  |`  y )  <->  Lim  y ) )
54 unieq 4092 . . . . . . . . . . . . . . . . 17  |-  ( dom  ( f  |`  y
)  =  y  ->  U. dom  ( f  |`  y )  =  U. y )
5554fveq2d 5688 . . . . . . . . . . . . . . . 16  |-  ( dom  ( f  |`  y
)  =  y  -> 
( ( f  |`  y ) `  U. dom  ( f  |`  y
) )  =  ( ( f  |`  y
) `  U. y ) )
5655fveq2d 5688 . . . . . . . . . . . . . . 15  |-  ( dom  ( f  |`  y
)  =  y  -> 
( F `  (
( f  |`  y
) `  U. dom  (
f  |`  y ) ) )  =  ( F `
 ( ( f  |`  y ) `  U. y ) ) )
5753, 56ifbieq2d 3807 . . . . . . . . . . . . . 14  |-  ( dom  ( f  |`  y
)  =  y  ->  if ( Lim  dom  (
f  |`  y ) , 
U. ( f "
y ) ,  ( F `  ( ( f  |`  y ) `  U. dom  ( f  |`  y ) ) ) )  =  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. y ) ) ) )
5852, 57ifbieq2d 3807 . . . . . . . . . . . . 13  |-  ( dom  ( f  |`  y
)  =  y  ->  if ( dom  ( f  |`  y )  =  (/) ,  i ,  if ( Lim  dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) ) )
59 onelon 4736 . . . . . . . . . . . . . . . 16  |-  ( ( x  e.  On  /\  y  e.  x )  ->  y  e.  On )
60 eloni 4721 . . . . . . . . . . . . . . . 16  |-  ( y  e.  On  ->  Ord  y )
6159, 60syl 16 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  On  /\  y  e.  x )  ->  Ord  y )
62613adant2 1007 . . . . . . . . . . . . . 14  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  Ord  y )
63 ordzsl 6451 . . . . . . . . . . . . . . 15  |-  ( Ord  y  <->  ( y  =  (/)  \/  E. z  e.  On  y  =  suc  z  \/  Lim  y ) )
64 iftrue 3790 . . . . . . . . . . . . . . . . 17  |-  ( y  =  (/)  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) )  =  i )
65 iftrue 3790 . . . . . . . . . . . . . . . . 17  |-  ( y  =  (/)  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) )  =  i )
6664, 65eqtr4d 2472 . . . . . . . . . . . . . . . 16  |-  ( y  =  (/)  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )
67 vex 2969 . . . . . . . . . . . . . . . . . . . . . . 23  |-  z  e. 
_V
6867sucid 4790 . . . . . . . . . . . . . . . . . . . . . 22  |-  z  e. 
suc  z
69 fvres 5697 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( z  e.  suc  z  -> 
( ( f  |`  suc  z ) `  z
)  =  ( f `
 z ) )
7068, 69ax-mp 5 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( f  |`  suc  z ) `
 z )  =  ( f `  z
)
71 eloni 4721 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( z  e.  On  ->  Ord  z )
72 ordunisuc 6438 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( Ord  z  ->  U. suc  z  =  z )
7371, 72syl 16 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( z  e.  On  ->  U. suc  z  =  z )
7473fveq2d 5688 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  On  ->  (
( f  |`  suc  z
) `  U. suc  z
)  =  ( ( f  |`  suc  z ) `
 z ) )
7573fveq2d 5688 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  On  ->  (
f `  U. suc  z
)  =  ( f `
 z ) )
7670, 74, 753eqtr4a 2495 . . . . . . . . . . . . . . . . . . . 20  |-  ( z  e.  On  ->  (
( f  |`  suc  z
) `  U. suc  z
)  =  ( f `
 U. suc  z
) )
7776fveq2d 5688 . . . . . . . . . . . . . . . . . . 19  |-  ( z  e.  On  ->  ( F `  ( (
f  |`  suc  z ) `
 U. suc  z
) )  =  ( F `  ( f `
 U. suc  z
) ) )
78 nsuceq0 4791 . . . . . . . . . . . . . . . . . . . . . 22  |-  suc  z  =/=  (/)
79 df-ne 2602 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( suc  z  =/=  (/)  <->  -.  suc  z  =  (/) )
8078, 79mpbi 208 . . . . . . . . . . . . . . . . . . . . 21  |-  -.  suc  z  =  (/)
8180iffalsei 3793 . . . . . . . . . . . . . . . . . . . 20  |-  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) ) )  =  if ( Lim  suc  z ,  U. ( f "
y ) ,  ( F `  ( ( f  |`  suc  z ) `
 U. suc  z
) ) )
82 nlimsucg 6448 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  _V  ->  -.  Lim  suc  z )
83 iffalse 3792 . . . . . . . . . . . . . . . . . . . . 21  |-  ( -. 
Lim  suc  z  ->  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) )  =  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) )
8467, 82, 83mp2b 10 . . . . . . . . . . . . . . . . . . . 20  |-  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) )  =  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) )
8581, 84eqtri 2457 . . . . . . . . . . . . . . . . . . 19  |-  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) ) )  =  ( F `  ( ( f  |`  suc  z ) `
 U. suc  z
) )
8680iffalsei 3793 . . . . . . . . . . . . . . . . . . . 20  |-  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) ) )  =  if ( Lim  suc  z ,  U. ( f "
y ) ,  ( F `  ( f `
 U. suc  z
) ) )
87 iffalse 3792 . . . . . . . . . . . . . . . . . . . . 21  |-  ( -. 
Lim  suc  z  ->  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) )  =  ( F `
 ( f `  U. suc  z ) ) )
8867, 82, 87mp2b 10 . . . . . . . . . . . . . . . . . . . 20  |-  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) )  =  ( F `
 ( f `  U. suc  z ) )
8986, 88eqtri 2457 . . . . . . . . . . . . . . . . . . 19  |-  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) ) )  =  ( F `  ( f `
 U. suc  z
) )
9077, 85, 893eqtr4g 2494 . . . . . . . . . . . . . . . . . 18  |-  ( z  e.  On  ->  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) ) )  =  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) ) ) )
91 eqeq1 2443 . . . . . . . . . . . . . . . . . . . 20  |-  ( y  =  suc  z  -> 
( y  =  (/)  <->  suc  z  =  (/) ) )
92 limeq 4723 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  suc  z  -> 
( Lim  y  <->  Lim  suc  z
) )
93 reseq2 5097 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  =  suc  z  -> 
( f  |`  y
)  =  ( f  |`  suc  z ) )
94 unieq 4092 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  =  suc  z  ->  U. y  =  U. suc  z )
9593, 94fveq12d 5690 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  suc  z  -> 
( ( f  |`  y ) `  U. y )  =  ( ( f  |`  suc  z
) `  U. suc  z
) )
9695fveq2d 5688 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  suc  z  -> 
( F `  (
( f  |`  y
) `  U. y ) )  =  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) )
9792, 96ifbieq2d 3807 . . . . . . . . . . . . . . . . . . . 20  |-  ( y  =  suc  z  ->  if ( Lim  y , 
U. ( f "
y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) )  =  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) ) )
9891, 97ifbieq2d 3807 . . . . . . . . . . . . . . . . . . 19  |-  ( y  =  suc  z  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) ) ) )
9994fveq2d 5688 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  suc  z  -> 
( f `  U. y )  =  ( f `  U. suc  z ) )
10099fveq2d 5688 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  suc  z  -> 
( F `  (
f `  U. y ) )  =  ( F `
 ( f `  U. suc  z ) ) )
10192, 100ifbieq2d 3807 . . . . . . . . . . . . . . . . . . . 20  |-  ( y  =  suc  z  ->  if ( Lim  y , 
U. ( f "
y ) ,  ( F `  ( f `
 U. y ) ) )  =  if ( Lim  suc  z ,  U. ( f "
y ) ,  ( F `  ( f `
 U. suc  z
) ) ) )
10291, 101ifbieq2d 3807 . . . . . . . . . . . . . . . . . . 19  |-  ( y  =  suc  z  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) )  =  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) ) ) )
10398, 102eqeq12d 2451 . . . . . . . . . . . . . . . . . 18  |-  ( y  =  suc  z  -> 
( if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f "
y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) )  <->  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. (
f " y ) ,  ( F `  ( ( f  |`  suc  z ) `  U. suc  z ) ) ) )  =  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) ) ) ) )
10490, 103syl5ibrcom 222 . . . . . . . . . . . . . . . . 17  |-  ( z  e.  On  ->  (
y  =  suc  z  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) ) )
105104rexlimiv 2829 . . . . . . . . . . . . . . . 16  |-  ( E. z  e.  On  y  =  suc  z  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )
106 iftrue 3790 . . . . . . . . . . . . . . . . . 18  |-  ( Lim  y  ->  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) )  =  U. ( f
" y ) )
107 df-lim 4716 . . . . . . . . . . . . . . . . . . . . 21  |-  ( Lim  y  <->  ( Ord  y  /\  y  =/=  (/)  /\  y  =  U. y ) )
108107simp2bi 1004 . . . . . . . . . . . . . . . . . . . 20  |-  ( Lim  y  ->  y  =/=  (/) )
109108neneqd 2618 . . . . . . . . . . . . . . . . . . 19  |-  ( Lim  y  ->  -.  y  =  (/) )
110 iffalse 3792 . . . . . . . . . . . . . . . . . . 19  |-  ( -.  y  =  (/)  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. y ) ) ) )
111109, 110syl 16 . . . . . . . . . . . . . . . . . 18  |-  ( Lim  y  ->  if (
y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. y ) ) ) )
112 iftrue 3790 . . . . . . . . . . . . . . . . . 18  |-  ( Lim  y  ->  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) )  =  U. ( f
" y ) )
113106, 111, 1123eqtr4d 2479 . . . . . . . . . . . . . . . . 17  |-  ( Lim  y  ->  if (
y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) )
114 iffalse 3792 . . . . . . . . . . . . . . . . . 18  |-  ( -.  y  =  (/)  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) )  =  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) )
115109, 114syl 16 . . . . . . . . . . . . . . . . 17  |-  ( Lim  y  ->  if (
y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) )  =  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) )
116113, 115eqtr4d 2472 . . . . . . . . . . . . . . . 16  |-  ( Lim  y  ->  if (
y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )
11766, 105, 1163jaoi 1281 . . . . . . . . . . . . . . 15  |-  ( ( y  =  (/)  \/  E. z  e.  On  y  =  suc  z  \/  Lim  y )  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )
11863, 117sylbi 195 . . . . . . . . . . . . . 14  |-  ( Ord  y  ->  if (
y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )
11962, 118syl 16 . . . . . . . . . . . . 13  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. y ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )
12058, 119sylan9eqr 2491 . . . . . . . . . . . 12  |-  ( ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  /\  dom  ( f  |`  y )  =  y )  ->  if ( dom  ( f  |`  y
)  =  (/) ,  i ,  if ( Lim 
dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )
12151, 120mpdan 668 . . . . . . . . . . 11  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  if ( dom  (
f  |`  y )  =  (/) ,  i ,  if ( Lim  dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) )
12241, 121syl5eq 2481 . . . . . . . . . 10  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  ( ( g  e. 
_V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `  U. dom  g ) ) ) ) ) `  (
f  |`  y ) )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f "
y ) ,  ( F `  ( f `
 U. y ) ) ) ) )
123122eqeq2d 2448 . . . . . . . . 9  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  ( ( f `  y )  =  ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) ) `  ( f  |`  y ) )  <->  ( f `  y )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) )
1241233expa 1187 . . . . . . . 8  |-  ( ( ( x  e.  On  /\  f  Fn  x )  /\  y  e.  x
)  ->  ( (
f `  y )  =  ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim 
dom  g ,  U. ran  g ,  ( F `
 ( g `  U. dom  g ) ) ) ) ) `  ( f  |`  y
) )  <->  ( f `  y )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) )
125124ralbidva 2725 . . . . . . 7  |-  ( ( x  e.  On  /\  f  Fn  x )  ->  ( A. y  e.  x  ( f `  y )  =  ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) ) `  ( f  |`  y ) )  <->  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) )
126125pm5.32da 641 . . . . . 6  |-  ( x  e.  On  ->  (
( f  Fn  x  /\  A. y  e.  x  ( f `  y
)  =  ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) ) `  ( f  |`  y ) ) )  <-> 
( f  Fn  x  /\  A. y  e.  x  ( f `  y
)  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) ) ) )
127126rexbiia 2742 . . . . 5  |-  ( E. x  e.  On  (
f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim 
dom  g ,  U. ran  g ,  ( F `
 ( g `  U. dom  g ) ) ) ) ) `  ( f  |`  y
) ) )  <->  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) )
128127abbii 2549 . . . 4  |-  { f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) ) `  ( f  |`  y ) ) ) }  =  { f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) }
129128unieqi 4093 . . 3  |-  U. {
f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  ( ( g  e.  _V  |->  if ( g  =  (/) ,  i ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) ) `  ( f  |`  y ) ) ) }  =  U. {
f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) }
13010, 11, 1293eqtri 2461 . 2  |-  rec ( F ,  i )  =  U. { f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y
)  =  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) ) ) }
1319, 130vtoclg 3023 1  |-  ( I  e.  V  ->  rec ( F ,  I )  =  U. { f  |  E. x  e.  On  ( f  Fn  x  /\  A. y  e.  x  ( f `  y )  =  if ( y  =  (/) ,  I ,  if ( Lim  y ,  U. ( f " y
) ,  ( F `
 ( f `  U. y ) ) ) ) ) } )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 369    \/ w3o 964    /\ w3a 965    = wceq 1369    e. wcel 1756   {cab 2423    =/= wne 2600   A.wral 2709   E.wrex 2710   _Vcvv 2966    i^i cin 3320    C_ wss 3321   (/)c0 3630   ifcif 3784   U.cuni 4084    e. cmpt 4343   Ord word 4710   Oncon0 4711   Lim wlim 4712   suc csuc 4713   dom cdm 4832   ran crn 4833    |` cres 4834   "cima 4835   Rel wrel 4837    Fn wfn 5406   ` cfv 5411  recscrecs 6823   reccrdg 6857
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2418  ax-sep 4406  ax-nul 4414  ax-pr 4524  ax-un 6367
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2256  df-mo 2257  df-clab 2424  df-cleq 2430  df-clel 2433  df-nfc 2562  df-ne 2602  df-ral 2714  df-rex 2715  df-rab 2718  df-v 2968  df-sbc 3180  df-dif 3324  df-un 3326  df-in 3328  df-ss 3335  df-pss 3337  df-nul 3631  df-if 3785  df-pw 3855  df-sn 3871  df-pr 3873  df-tp 3875  df-op 3877  df-uni 4085  df-br 4286  df-opab 4344  df-mpt 4345  df-tr 4379  df-eprel 4624  df-id 4628  df-po 4633  df-so 4634  df-fr 4671  df-we 4673  df-ord 4714  df-on 4715  df-lim 4716  df-suc 4717  df-xp 4838  df-rel 4839  df-cnv 4840  df-co 4841  df-dm 4842  df-rn 4843  df-res 4844  df-ima 4845  df-iota 5374  df-fun 5413  df-fn 5414  df-fv 5419  df-recs 6824  df-rdg 6858
This theorem is referenced by:  dfrdg3  27557
  Copyright terms: Public domain W3C validator