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

Theorem dfrdg2 29393
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 6996 . . 3  |-  ( i  =  I  ->  rec ( F ,  i )  =  rec ( F ,  I ) )
2 ifeq1 3861 . . . . . . . . 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 2396 . . . . . . . 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 2821 . . . . . . 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 701 . . . . . 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 2893 . . . . 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 2518 . . . 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 4173 . . 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 2404 . 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 6994 . . 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 6960 . . 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 3037 . . . . . . . . . . . . 13  |-  f  e. 
_V
1312resex 5229 . . . . . . . . . . . 12  |-  ( f  |`  y )  e.  _V
14 eqeq1 2386 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  (
g  =  (/)  <->  ( f  |`  y )  =  (/) ) )
15 relres 5213 . . . . . . . . . . . . . . . 16  |-  Rel  (
f  |`  y )
16 reldm0 5133 . . . . . . . . . . . . . . . 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 5116 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( f  |`  y )  ->  dom  g  =  dom  ( f  |`  y ) )
20 limeq 4804 . . . . . . . . . . . . . . . 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 5141 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( f  |`  y )  ->  ran  g  =  ran  ( f  |`  y ) )
23 df-ima 4926 . . . . . . . . . . . . . . . . 17  |-  ( f
" y )  =  ran  ( f  |`  y )
2422, 23syl6eqr 2441 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( f  |`  y )  ->  ran  g  =  ( f " y ) )
2524unieqd 4173 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  U. ran  g  =  U. (
f " y ) )
26 id 22 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( f  |`  y )  ->  g  =  ( f  |`  y ) )
2719unieqd 4173 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( f  |`  y )  ->  U. dom  g  =  U. dom  (
f  |`  y ) )
2826, 27fveq12d 5780 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( f  |`  y )  ->  (
g `  U. dom  g
)  =  ( ( f  |`  y ) `  U. dom  ( f  |`  y ) ) )
2928fveq2d 5778 . . . . . . . . . . . . . . 15  |-  ( g  =  ( f  |`  y )  ->  ( F `  ( g `  U. dom  g ) )  =  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) )
3021, 25, 29ifbieq12d 3884 . . . . . . . . . . . . . 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 3882 . . . . . . . . . . . . 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 2382 . . . . . . . . . . . . 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 3037 . . . . . . . . . . . . . 14  |-  i  e. 
_V
34 imaexg 6636 . . . . . . . . . . . . . . . . 17  |-  ( f  e.  _V  ->  (
f " y )  e.  _V )
3512, 34ax-mp 5 . . . . . . . . . . . . . . . 16  |-  ( f
" y )  e. 
_V
3635uniex 6495 . . . . . . . . . . . . . . 15  |-  U. (
f " y )  e.  _V
37 fvex 5784 . . . . . . . . . . . . . . 15  |-  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) )  e. 
_V
3836, 37ifex 3925 . . . . . . . . . . . . . 14  |-  if ( Lim  dom  ( f  |`  y ) ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  y ) `  U. dom  ( f  |`  y
) ) ) )  e.  _V
3933, 38ifex 3925 . . . . . . . . . . . . 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 5857 . . . . . . . . . . . 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 5206 . . . . . . . . . . . . 13  |-  dom  (
f  |`  y )  =  ( y  i^i  dom  f )
43 onelss 4834 . . . . . . . . . . . . . . . . 17  |-  ( x  e.  On  ->  (
y  e.  x  -> 
y  C_  x )
)
4443imp 427 . . . . . . . . . . . . . . . 16  |-  ( ( x  e.  On  /\  y  e.  x )  ->  y  C_  x )
45443adant2 1013 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  y  C_  x )
46 fndm 5588 . . . . . . . . . . . . . . . 16  |-  ( f  Fn  x  ->  dom  f  =  x )
47463ad2ant2 1016 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  dom  f  =  x )
4845, 47sseqtr4d 3454 . . . . . . . . . . . . . 14  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  y  C_  dom  f )
49 df-ss 3403 . . . . . . . . . . . . . 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 2435 . . . . . . . . . . . 12  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  dom  ( f  |`  y )  =  y )
52 eqeq1 2386 . . . . . . . . . . . . . 14  |-  ( dom  ( f  |`  y
)  =  y  -> 
( dom  ( f  |`  y )  =  (/)  <->  y  =  (/) ) )
53 limeq 4804 . . . . . . . . . . . . . . 15  |-  ( dom  ( f  |`  y
)  =  y  -> 
( Lim  dom  ( f  |`  y )  <->  Lim  y ) )
54 unieq 4171 . . . . . . . . . . . . . . . . 17  |-  ( dom  ( f  |`  y
)  =  y  ->  U. dom  ( f  |`  y )  =  U. y )
5554fveq2d 5778 . . . . . . . . . . . . . . . 16  |-  ( dom  ( f  |`  y
)  =  y  -> 
( ( f  |`  y ) `  U. dom  ( f  |`  y
) )  =  ( ( f  |`  y
) `  U. y ) )
5655fveq2d 5778 . . . . . . . . . . . . . . 15  |-  ( dom  ( f  |`  y
)  =  y  -> 
( F `  (
( f  |`  y
) `  U. dom  (
f  |`  y ) ) )  =  ( F `
 ( ( f  |`  y ) `  U. y ) ) )
5753, 56ifbieq2d 3882 . . . . . . . . . . . . . 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 3882 . . . . . . . . . . . . 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 4817 . . . . . . . . . . . . . . . 16  |-  ( ( x  e.  On  /\  y  e.  x )  ->  y  e.  On )
60 eloni 4802 . . . . . . . . . . . . . . . 16  |-  ( y  e.  On  ->  Ord  y )
6159, 60syl 16 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  On  /\  y  e.  x )  ->  Ord  y )
62613adant2 1013 . . . . . . . . . . . . . 14  |-  ( ( x  e.  On  /\  f  Fn  x  /\  y  e.  x )  ->  Ord  y )
63 ordzsl 6579 . . . . . . . . . . . . . . 15  |-  ( Ord  y  <->  ( y  =  (/)  \/  E. z  e.  On  y  =  suc  z  \/  Lim  y ) )
64 iftrue 3863 . . . . . . . . . . . . . . . . 17  |-  ( y  =  (/)  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) ) )  =  i )
65 iftrue 3863 . . . . . . . . . . . . . . . . 17  |-  ( y  =  (/)  ->  if ( y  =  (/) ,  i ,  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) ) )  =  i )
6664, 65eqtr4d 2426 . . . . . . . . . . . . . . . 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 3037 . . . . . . . . . . . . . . . . . . . . . . 23  |-  z  e. 
_V
6867sucid 4871 . . . . . . . . . . . . . . . . . . . . . 22  |-  z  e. 
suc  z
69 fvres 5788 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( z  e.  suc  z  -> 
( ( f  |`  suc  z ) `  z
)  =  ( f `
 z ) )
7068, 69ax-mp 5 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( f  |`  suc  z ) `
 z )  =  ( f `  z
)
71 eloni 4802 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( z  e.  On  ->  Ord  z )
72 ordunisuc 6566 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( Ord  z  ->  U. suc  z  =  z )
7371, 72syl 16 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( z  e.  On  ->  U. suc  z  =  z )
7473fveq2d 5778 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  On  ->  (
( f  |`  suc  z
) `  U. suc  z
)  =  ( ( f  |`  suc  z ) `
 z ) )
7573fveq2d 5778 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  On  ->  (
f `  U. suc  z
)  =  ( f `
 z ) )
7670, 74, 753eqtr4a 2449 . . . . . . . . . . . . . . . . . . . 20  |-  ( z  e.  On  ->  (
( f  |`  suc  z
) `  U. suc  z
)  =  ( f `
 U. suc  z
) )
7776fveq2d 5778 . . . . . . . . . . . . . . . . . . 19  |-  ( z  e.  On  ->  ( F `  ( (
f  |`  suc  z ) `
 U. suc  z
) )  =  ( F `  ( f `
 U. suc  z
) ) )
78 nsuceq0 4872 . . . . . . . . . . . . . . . . . . . . . 22  |-  suc  z  =/=  (/)
7978neii 2581 . . . . . . . . . . . . . . . . . . . . 21  |-  -.  suc  z  =  (/)
8079iffalsei 3867 . . . . . . . . . . . . . . . . . . . 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
) ) )
81 nlimsucg 6576 . . . . . . . . . . . . . . . . . . . . 21  |-  ( z  e.  _V  ->  -.  Lim  suc  z )
82 iffalse 3866 . . . . . . . . . . . . . . . . . . . . 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 ) ) )
8367, 81, 82mp2b 10 . . . . . . . . . . . . . . . . . . . 20  |-  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) )  =  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) )
8480, 83eqtri 2411 . . . . . . . . . . . . . . . . . . 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
) )
8579iffalsei 3867 . . . . . . . . . . . . . . . . . . . 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
) ) )
86 iffalse 3866 . . . . . . . . . . . . . . . . . . . . 21  |-  ( -. 
Lim  suc  z  ->  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) )  =  ( F `
 ( f `  U. suc  z ) ) )
8767, 81, 86mp2b 10 . . . . . . . . . . . . . . . . . . . 20  |-  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) )  =  ( F `
 ( f `  U. suc  z ) )
8885, 87eqtri 2411 . . . . . . . . . . . . . . . . . . 19  |-  if ( suc  z  =  (/) ,  i ,  if ( Lim  suc  z ,  U. ( f " y
) ,  ( F `
 ( f `  U. suc  z ) ) ) )  =  ( F `  ( f `
 U. suc  z
) )
8977, 84, 883eqtr4g 2448 . . . . . . . . . . . . . . . . . 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 ) ) ) ) )
90 eqeq1 2386 . . . . . . . . . . . . . . . . . . . 20  |-  ( y  =  suc  z  -> 
( y  =  (/)  <->  suc  z  =  (/) ) )
91 limeq 4804 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  suc  z  -> 
( Lim  y  <->  Lim  suc  z
) )
92 reseq2 5181 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  =  suc  z  -> 
( f  |`  y
)  =  ( f  |`  suc  z ) )
93 unieq 4171 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  =  suc  z  ->  U. y  =  U. suc  z )
9492, 93fveq12d 5780 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  suc  z  -> 
( ( f  |`  y ) `  U. y )  =  ( ( f  |`  suc  z
) `  U. suc  z
) )
9594fveq2d 5778 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  suc  z  -> 
( F `  (
( f  |`  y
) `  U. y ) )  =  ( F `
 ( ( f  |`  suc  z ) `  U. suc  z ) ) )
9691, 95ifbieq2d 3882 . . . . . . . . . . . . . . . . . . . 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 ) ) ) )
9790, 96ifbieq2d 3882 . . . . . . . . . . . . . . . . . . 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 ) ) ) ) )
9893fveq2d 5778 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( y  =  suc  z  -> 
( f `  U. y )  =  ( f `  U. suc  z ) )
9998fveq2d 5778 . . . . . . . . . . . . . . . . . . . . 21  |-  ( y  =  suc  z  -> 
( F `  (
f `  U. y ) )  =  ( F `
 ( f `  U. suc  z ) ) )
10091, 99ifbieq2d 3882 . . . . . . . . . . . . . . . . . . . 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
) ) ) )
10190, 100ifbieq2d 3882 . . . . . . . . . . . . . . . . . . 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 ) ) ) ) )
10297, 101eqeq12d 2404 . . . . . . . . . . . . . . . . . 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 ) ) ) ) ) )
10389, 102syl5ibrcom 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 ) ) ) ) ) )
104103rexlimiv 2868 . . . . . . . . . . . . . . . 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 ) ) ) ) )
105 iftrue 3863 . . . . . . . . . . . . . . . . . 18  |-  ( Lim  y  ->  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( ( f  |`  y ) `  U. y ) ) )  =  U. ( f
" y ) )
106 df-lim 4797 . . . . . . . . . . . . . . . . . . . . 21  |-  ( Lim  y  <->  ( Ord  y  /\  y  =/=  (/)  /\  y  =  U. y ) )
107106simp2bi 1010 . . . . . . . . . . . . . . . . . . . 20  |-  ( Lim  y  ->  y  =/=  (/) )
108107neneqd 2584 . . . . . . . . . . . . . . . . . . 19  |-  ( Lim  y  ->  -.  y  =  (/) )
109108iffalsed 3868 . . . . . . . . . . . . . . . . . 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 ) ) ) )
110 iftrue 3863 . . . . . . . . . . . . . . . . . 18  |-  ( Lim  y  ->  if ( Lim  y ,  U. (
f " y ) ,  ( F `  ( f `  U. y ) ) )  =  U. ( f
" y ) )
111105, 109, 1103eqtr4d 2433 . . . . . . . . . . . . . . . . 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 ) ) ) )
112108iffalsed 3868 . . . . . . . . . . . . . . . . 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 ) ) ) )
113111, 112eqtr4d 2426 . . . . . . . . . . . . . . . 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 ) ) ) ) )
11466, 104, 1133jaoi 1289 . . . . . . . . . . . . . . 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 ) ) ) ) )
11563, 114sylbi 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 ) ) ) ) )
11662, 115syl 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 ) ) ) ) )
11758, 116sylan9eqr 2445 . . . . . . . . . . . 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 ) ) ) ) )
11851, 117mpdan 666 . . . . . . . . . . 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 ) ) ) ) )
11941, 118syl5eq 2435 . . . . . . . . . 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 ) ) ) ) )
120119eqeq2d 2396 . . . . . . . . 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 ) ) ) ) ) )
1211203expa 1194 . . . . . . . 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 ) ) ) ) ) )
122121ralbidva 2818 . . . . . . 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 ) ) ) ) ) )
123122pm5.32da 639 . . . . . 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 ) ) ) ) ) ) )
124123rexbiia 2883 . . . . 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 ) ) ) ) ) )
125124abbii 2516 . . . 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 ) ) ) ) ) }
126125unieqi 4172 . . 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 ) ) ) ) ) }
12710, 11, 1263eqtri 2415 . 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 ) ) ) ) ) }
1289, 127vtoclg 3092 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 367    \/ w3o 970    /\ w3a 971    = wceq 1399    e. wcel 1826   {cab 2367    =/= wne 2577   A.wral 2732   E.wrex 2733   _Vcvv 3034    i^i cin 3388    C_ wss 3389   (/)c0 3711   ifcif 3857   U.cuni 4163    |-> cmpt 4425   Ord word 4791   Oncon0 4792   Lim wlim 4793   suc csuc 4794   dom cdm 4913   ran crn 4914    |` cres 4915   "cima 4916   Rel wrel 4918    Fn wfn 5491   ` cfv 5496  recscrecs 6959   reccrdg 6993
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1626  ax-4 1639  ax-5 1712  ax-6 1755  ax-7 1798  ax-8 1828  ax-9 1830  ax-10 1845  ax-11 1850  ax-12 1862  ax-13 2006  ax-ext 2360  ax-sep 4488  ax-nul 4496  ax-pr 4601  ax-un 6491
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 972  df-3an 973  df-tru 1402  df-ex 1621  df-nf 1625  df-sb 1748  df-eu 2222  df-mo 2223  df-clab 2368  df-cleq 2374  df-clel 2377  df-nfc 2532  df-ne 2579  df-ral 2737  df-rex 2738  df-rab 2741  df-v 3036  df-sbc 3253  df-dif 3392  df-un 3394  df-in 3396  df-ss 3403  df-pss 3405  df-nul 3712  df-if 3858  df-pw 3929  df-sn 3945  df-pr 3947  df-tp 3949  df-op 3951  df-uni 4164  df-br 4368  df-opab 4426  df-mpt 4427  df-tr 4461  df-eprel 4705  df-id 4709  df-po 4714  df-so 4715  df-fr 4752  df-we 4754  df-ord 4795  df-on 4796  df-lim 4797  df-suc 4798  df-xp 4919  df-rel 4920  df-cnv 4921  df-co 4922  df-dm 4923  df-rn 4924  df-res 4925  df-ima 4926  df-iota 5460  df-fun 5498  df-fn 5499  df-fv 5504  df-recs 6960  df-rdg 6994
This theorem is referenced by:  dfrdg3  29394
  Copyright terms: Public domain W3C validator