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

Theorem dfrdg2 27612
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 6871 . . 3  |-  ( i  =  I  ->  rec ( F ,  i )  =  rec ( F ,  I ) )
2 ifeq1 3798 . . . . . . . . 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 2454 . . . . . . . 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 2738 . . . . . . 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 2739 . . . . 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 2560 . . . 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 4104 . . 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 2457 . 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 6869 . . 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 6835 . . 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 2978 . . . . . . . . . . . . 13  |-  f  e. 
_V
1312resex 5153 . . . . . . . . . . . 12  |-  ( f  |`  y )  e.  _V
14 eqeq1 2449 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  (
g  =  (/)  <->  ( f  |`  y )  =  (/) ) )
15 relres 5141 . . . . . . . . . . . . . . . 16  |-  Rel  (
f  |`  y )
16 reldm0 5060 . . . . . . . . . . . . . . . 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 5043 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( f  |`  y )  ->  dom  g  =  dom  ( f  |`  y ) )
20 limeq 4734 . . . . . . . . . . . . . . . 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 5068 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( f  |`  y )  ->  ran  g  =  ran  ( f  |`  y ) )
23 df-ima 4856 . . . . . . . . . . . . . . . . 17  |-  ( f
" y )  =  ran  ( f  |`  y )
2422, 23syl6eqr 2493 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( f  |`  y )  ->  ran  g  =  ( f " y ) )
2524unieqd 4104 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  U. ran  g  =  U. (
f " y ) )
26 id 22 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( f  |`  y )  ->  g  =  ( f  |`  y ) )
2719unieqd 4104 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( f  |`  y )  ->  U. dom  g  =  U. dom  (
f  |`  y ) )
2826, 27fveq12d 5700 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( f  |`  y )  ->  (
g `  U. dom  g
)  =  ( ( f  |`  y ) `  U. dom  ( f  |`  y ) ) )
2928fveq2d 5698 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  ( F `  ( g `  U. dom  g ) )  =  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) )
3021, 25, 29ifbieq12d 3819 . . . . . . . . . . . . . 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 3817 . . . . . . . . . . . . 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 2443 . . . . . . . . . . . . 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 2978 . . . . . . . . . . . . . 14  |-  i  e. 
_V
34 imaexg 6518 . . . . . . . . . . . . . . . . 17  |-  ( f  e.  _V  ->  (
f " y )  e.  _V )
3512, 34ax-mp 5 . . . . . . . . . . . . . . . 16  |-  ( f
" y )  e. 
_V
3635uniex 6379 . . . . . . . . . . . . . . 15  |-  U. (
f " y )  e.  _V
37 fvex 5704 . . . . . . . . . . . . . . 15  |-  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) )  e. 
_V
3836, 37ifex 3861 . . . . . . . . . . . . . 14  |-  if ( Lim  dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) )  e.  _V
3933, 38ifex 3861 . . . . . . . . . . . . 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 5777 . . . . . . . . . . . 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 5134 . . . . . . . . . . . . 13  |-  dom  (
f  |`  y )  =  ( y  i^i  dom  f )
43 onelss 4764 . . . . . . . . . . . . . . . . 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 5513 . . . . . . . . . . . . . . . 16  |-  ( f  Fn  x  ->  dom  f  =  x )
47463ad2ant2 1010 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  dom  f  =  x )
4845, 47sseqtr4d 3396 . . . . . . . . . . . . . 14  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  y  C_  dom  f )
49 df-ss 3345 . . . . . . . . . . . . . 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 2487 . . . . . . . . . . . 12  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  dom  ( f  |`  y )  =  y )
52 eqeq1 2449 . . . . . . . . . . . . . 14  |-  ( dom  ( f  |`  y
)  =  y  -> 
( dom  ( f  |`  y )  =  (/)  <->  y  =  (/) ) )
53 limeq 4734 . . . . . . . . . . . . . . 15  |-  ( dom  ( f  |`  y
)  =  y  -> 
( Lim  dom  ( f  |`  y )  <->  Lim  y ) )
54 unieq 4102 . . . . . . . . . . . . . . . . 17  |-  ( dom  ( f  |`  y
)  =  y  ->  U. dom  ( f  |`  y )  =  U. y )
5554fveq2d 5698 . . . . . . . . . . . . . . . 16  |-  ( dom  ( f  |`  y
)  =  y  -> 
( ( f  |`  y ) `  U. dom  ( f  |`  y
) )  =  ( ( f  |`  y
) `  U. y ) )
5655fveq2d 5698 . . . . . . . . . . . . . . 15  |-  ( dom  ( f  |`  y
)  =  y  -> 
( F `  (
( f  |`  y
) `  U. dom  (
f  |`  y ) ) )  =  ( F `
 ( ( f  |`  y ) `  U. y ) ) )
5753, 56ifbieq2d 3817 . . . . . . . . . . . . . 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 3817 . . . . . . . . . . . . 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 4747 . . . . . . . . . . . . . . . 16  |-  ( ( x  e.  On  /\  y  e.  x )  ->  y  e.  On )
60 eloni 4732 . . . . . . . . . . . . . . . 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 6459 . . . . . . . . . . . . . . 15  |-  ( Ord  y  <->  ( y  =  (/)  \/  E. z  e.  On  y  =  suc  z  \/  Lim  y ) )
64 iftrue 3800 . . . . . . . . . . . . . . . . 17  |-  ( y  =  (/)  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) )  =  i )
65 iftrue 3800 . . . . . . . . . . . . . . . . 17  |-  ( y  =  (/)  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) )  =  i )
6664, 65eqtr4d 2478 . . . . . . . . . . . . . . . 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 2978 . . . . . . . . . . . . . . . . . . . . . . 23  |-  z  e. 
_V
6867sucid 4801 . . . . . . . . . . . . . . . . . . . . . 22  |-  z  e. 
suc  z
69 fvres 5707 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( z  e.  suc  z  -> 
( ( f  |`  suc  z ) `  z
)  =  ( f `
 z ) )
7068, 69ax-mp 5 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( f  |`  suc  z ) `
 z )  =  ( f `  z
)
71 eloni 4732 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( z  e.  On  ->  Ord  z )
72 ordunisuc 6446 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( Ord  z  ->  U. suc  z  =  z )
7371, 72syl 16 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( z  e.  On  ->  U. suc  z  =  z )
7473fveq2d 5698 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  On  ->  (
( f  |`  suc  z
) `  U. suc  z
)  =  ( ( f  |`  suc  z ) `
 z ) )
7573fveq2d 5698 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  On  ->  (
f `  U. suc  z
)  =  ( f `
 z ) )
7670, 74, 753eqtr4a 2501 . . . . . . . . . . . . . . . . . . . 20  |-  ( z  e.  On  ->  (
( f  |`  suc  z
) `  U. suc  z
)  =  ( f `
 U. suc  z
) )
7776fveq2d 5698 . . . . . . . . . . . . . . . . . . 19  |-  ( z  e.  On  ->  ( F `  ( (
f  |`  suc  z ) `
 U. suc  z
) )  =  ( F `  ( f `
 U. suc  z
) ) )
78 nsuceq0 4802 . . . . . . . . . . . . . . . . . . . . . 22  |-  suc  z  =/=  (/)
79 df-ne 2611 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( suc  z  =/=  (/)  <->  -.  suc  z  =  (/) )
8078, 79mpbi 208 . . . . . . . . . . . . . . . . . . . . 21  |-  -.  suc  z  =  (/)
8180iffalsei 3803 . . . . . . . . . . . . . . . . . . . 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 6456 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  _V  ->  -.  Lim  suc  z )
83 iffalse 3802 . . . . . . . . . . . . . . . . . . . . 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 2463 . . . . . . . . . . . . . . . . . . 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 3803 . . . . . . . . . . . . . . . . . . . 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 3802 . . . . . . . . . . . . . . . . . . . . 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 2463 . . . . . . . . . . . . . . . . . . 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 2500 . . . . . . . . . . . . . . . . . 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 2449 . . . . . . . . . . . . . . . . . . . 20  |-  ( y  =  suc  z  -> 
( y  =  (/)  <->  suc  z  =  (/) ) )
92 limeq 4734 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  suc  z  -> 
( Lim  y  <->  Lim  suc  z
) )
93 reseq2 5108 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  =  suc  z  -> 
( f  |`  y
)  =  ( f  |`  suc  z ) )
94 unieq 4102 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  =  suc  z  ->  U. y  =  U. suc  z )
9593, 94fveq12d 5700 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  suc  z  -> 
( ( f  |`  y ) `  U. y )  =  ( ( f  |`  suc  z
) `  U. suc  z
) )
9695fveq2d 5698 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  suc  z  -> 
( F `  (
( f  |`  y
) `  U. y ) )  =  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) )
9792, 96ifbieq2d 3817 . . . . . . . . . . . . . . . . . . . 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 3817 . . . . . . . . . . . . . . . . . . 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 5698 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  suc  z  -> 
( f `  U. y )  =  ( f `  U. suc  z ) )
10099fveq2d 5698 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  suc  z  -> 
( F `  (
f `  U. y ) )  =  ( F `
 ( f `  U. suc  z ) ) )
10192, 100ifbieq2d 3817 . . . . . . . . . . . . . . . . . . . 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 3817 . . . . . . . . . . . . . . . . . . 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 2457 . . . . . . . . . . . . . . . . . 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 2838 . . . . . . . . . . . . . . . 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 3800 . . . . . . . . . . . . . . . . . 18  |-  ( Lim  y  ->  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) )  =  U. ( f
" y ) )
107 df-lim 4727 . . . . . . . . . . . . . . . . . . . . 21  |-  ( Lim  y  <->  ( Ord  y  /\  y  =/=  (/)  /\  y  =  U. y ) )
108107simp2bi 1004 . . . . . . . . . . . . . . . . . . . 20  |-  ( Lim  y  ->  y  =/=  (/) )
109108neneqd 2627 . . . . . . . . . . . . . . . . . . 19  |-  ( Lim  y  ->  -.  y  =  (/) )
110 iffalse 3802 . . . . . . . . . . . . . . . . . . 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 3800 . . . . . . . . . . . . . . . . . 18  |-  ( Lim  y  ->  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) )  =  U. ( f
" y ) )
113106, 111, 1123eqtr4d 2485 . . . . . . . . . . . . . . . . 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 3802 . . . . . . . . . . . . . . . . . 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 2478 . . . . . . . . . . . . . . . 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 2497 . . . . . . . . . . . 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 2487 . . . . . . . . . 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 2454 . . . . . . . . 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 2734 . . . . . . 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 2751 . . . . 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 2558 . . . 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 4103 . . 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 2467 . 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 3033 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 2429    =/= wne 2609   A.wral 2718   E.wrex 2719   _Vcvv 2975    i^i cin 3330    C_ wss 3331   (/)c0 3640   ifcif 3794   U.cuni 4094    e. cmpt 4353   Ord word 4721   Oncon0 4722   Lim wlim 4723   suc csuc 4724   dom cdm 4843   ran crn 4844    |` cres 4845   "cima 4846   Rel wrel 4848    Fn wfn 5416   ` cfv 5421  recscrecs 6834   reccrdg 6868
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 2423  ax-sep 4416  ax-nul 4424  ax-pr 4534  ax-un 6375
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 2257  df-mo 2258  df-clab 2430  df-cleq 2436  df-clel 2439  df-nfc 2571  df-ne 2611  df-ral 2723  df-rex 2724  df-rab 2727  df-v 2977  df-sbc 3190  df-dif 3334  df-un 3336  df-in 3338  df-ss 3345  df-pss 3347  df-nul 3641  df-if 3795  df-pw 3865  df-sn 3881  df-pr 3883  df-tp 3885  df-op 3887  df-uni 4095  df-br 4296  df-opab 4354  df-mpt 4355  df-tr 4389  df-eprel 4635  df-id 4639  df-po 4644  df-so 4645  df-fr 4682  df-we 4684  df-ord 4725  df-on 4726  df-lim 4727  df-suc 4728  df-xp 4849  df-rel 4850  df-cnv 4851  df-co 4852  df-dm 4853  df-rn 4854  df-res 4855  df-ima 4856  df-iota 5384  df-fun 5423  df-fn 5424  df-fv 5429  df-recs 6835  df-rdg 6869
This theorem is referenced by:  dfrdg3  27613
  Copyright terms: Public domain W3C validator