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

Theorem wfrlem12 24652
Description: Lemma for well-founded recursion. Here, we compute the value of  F (the union of all acceptable functions). (Contributed by Scott Fenton, 21-Apr-2011.) (Revised by Mario Carneiro, 26-Jun-2015.)
Hypotheses
Ref Expression
wfrlem11.1  |-  R  We  A
wfrlem11.2  |-  R Se  A
wfrlem11.3  |-  B  =  { f  |  E. x ( f  Fn  x  /\  ( x 
C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) }
wfrlem11.4  |-  F  = 
U. B
Assertion
Ref Expression
wfrlem12  |-  ( y  e.  dom  F  -> 
( F `  y
)  =  ( G `
 ( F  |`  Pred ( R ,  A ,  y ) ) ) )
Distinct variable groups:    A, f, x, y    x, F    f, G, x, y    R, f, x, y    f, F
Allowed substitution hints:    B( x, y, f)    F( y)

Proof of Theorem wfrlem12
Dummy variable  z is distinct from all other variables.
StepHypRef Expression
1 vex 2825 . . 3  |-  y  e. 
_V
21eldm2 4914 . 2  |-  ( y  e.  dom  F  <->  E. z <. y ,  z >.  e.  F )
3 wfrlem11.4 . . . . . . 7  |-  F  = 
U. B
4 wfrlem11.3 . . . . . . . 8  |-  B  =  { f  |  E. x ( f  Fn  x  /\  ( x 
C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) }
54unieqi 3874 . . . . . . 7  |-  U. B  =  U. { f  |  E. x ( f  Fn  x  /\  (
x  C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) }
63, 5eqtri 2336 . . . . . 6  |-  F  = 
U. { f  |  E. x ( f  Fn  x  /\  (
x  C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) }
76eleq2i 2380 . . . . 5  |-  ( <.
y ,  z >.  e.  F  <->  <. y ,  z
>.  e.  U. { f  |  E. x ( f  Fn  x  /\  ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) } )
8 eluniab 3876 . . . . 5  |-  ( <.
y ,  z >.  e.  U. { f  |  E. x ( f  Fn  x  /\  (
x  C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) }  <->  E. f ( <. y ,  z >.  e.  f  /\  E. x ( f  Fn  x  /\  ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) ) )
97, 8bitri 240 . . . 4  |-  ( <.
y ,  z >.  e.  F  <->  E. f ( <.
y ,  z >.  e.  f  /\  E. x
( f  Fn  x  /\  ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A ,  y )  C_  x )  /\  A. y  e.  x  (
f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) ) ) ) )
104abeq2i 2423 . . . . . . . 8  |-  ( f  e.  B  <->  E. x
( f  Fn  x  /\  ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A ,  y )  C_  x )  /\  A. y  e.  x  (
f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) ) ) )
11 elssuni 3892 . . . . . . . . 9  |-  ( f  e.  B  ->  f  C_ 
U. B )
1211, 3syl6sseqr 3259 . . . . . . . 8  |-  ( f  e.  B  ->  f  C_  F )
1310, 12sylbir 204 . . . . . . 7  |-  ( E. x ( f  Fn  x  /\  ( x 
C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) )  -> 
f  C_  F )
14 fnop 5384 . . . . . . . . . . . 12  |-  ( ( f  Fn  x  /\  <.
y ,  z >.  e.  f )  ->  y  e.  x )
1514ex 423 . . . . . . . . . . 11  |-  ( f  Fn  x  ->  ( <. y ,  z >.  e.  f  ->  y  e.  x ) )
16 rsp 2637 . . . . . . . . . . . . . . . 16  |-  ( A. y  e.  x  (
f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) )  ->  ( y  e.  x  ->  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) )
1716impcom 419 . . . . . . . . . . . . . . 15  |-  ( ( y  e.  x  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) ) )  ->  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) )
18 rsp 2637 . . . . . . . . . . . . . . . . . 18  |-  ( A. y  e.  x  Pred ( R ,  A , 
y )  C_  x  ->  ( y  e.  x  ->  Pred ( R ,  A ,  y )  C_  x ) )
19 fndm 5380 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( f  Fn  x  ->  dom  f  =  x )
2019sseq2d 3240 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( f  Fn  x  ->  ( Pred ( R ,  A ,  y )  C_  dom  f  <->  Pred ( R ,  A ,  y )  C_  x ) )
2119eleq2d 2383 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( f  Fn  x  ->  (
y  e.  dom  f  <->  y  e.  x ) )
2220, 21anbi12d 691 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( f  Fn  x  ->  (
( Pred ( R ,  A ,  y )  C_ 
dom  f  /\  y  e.  dom  f )  <->  ( Pred ( R ,  A , 
y )  C_  x  /\  y  e.  x
) ) )
2322biimprd 214 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( f  Fn  x  ->  (
( Pred ( R ,  A ,  y )  C_  x  /\  y  e.  x )  ->  ( Pred ( R ,  A ,  y )  C_  dom  f  /\  y  e.  dom  f ) ) )
2423exp3a 425 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( f  Fn  x  ->  ( Pred ( R ,  A ,  y )  C_  x  ->  ( y  e.  x  ->  ( Pred ( R ,  A , 
y )  C_  dom  f  /\  y  e.  dom  f ) ) ) )
2524impcom 419 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
Pred ( R ,  A ,  y )  C_  x  /\  f  Fn  x )  ->  (
y  e.  x  -> 
( Pred ( R ,  A ,  y )  C_ 
dom  f  /\  y  e.  dom  f ) ) )
26 wfrlem11.1 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  R  We  A
27 wfrlem11.2 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  R Se  A
2826, 27, 4, 3wfrlem11 24651 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  Fun  F
29 funssfv 5581 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( Fun  F  /\  f  C_  F  /\  y  e. 
dom  f )  -> 
( F `  y
)  =  ( f `
 y ) )
30293adant3l 1178 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( Fun  F  /\  f  C_  F  /\  ( Pred ( R ,  A ,  y )  C_  dom  f  /\  y  e.  dom  f ) )  ->  ( F `  y )  =  ( f `  y ) )
31 fun2ssres 5332 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Fun  F  /\  f  C_  F  /\  Pred ( R ,  A , 
y )  C_  dom  f )  ->  ( F  |`  Pred ( R ,  A ,  y )
)  =  ( f  |`  Pred ( R ,  A ,  y )
) )
32313adant3r 1179 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( Fun  F  /\  f  C_  F  /\  ( Pred ( R ,  A ,  y )  C_  dom  f  /\  y  e.  dom  f ) )  ->  ( F  |`  Pred ( R ,  A ,  y ) )  =  ( f  |`  Pred ( R ,  A ,  y ) ) )
3332fveq2d 5567 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( Fun  F  /\  f  C_  F  /\  ( Pred ( R ,  A ,  y )  C_  dom  f  /\  y  e.  dom  f ) )  ->  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) ) )
3430, 33eqeq12d 2330 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( Fun  F  /\  f  C_  F  /\  ( Pred ( R ,  A ,  y )  C_  dom  f  /\  y  e.  dom  f ) )  ->  ( ( F `
 y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) )  <->  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) )
3534biimprd 214 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( Fun  F  /\  f  C_  F  /\  ( Pred ( R ,  A ,  y )  C_  dom  f  /\  y  e.  dom  f ) )  ->  ( ( f `
 y )  =  ( G `  (
f  |`  Pred ( R ,  A ,  y )
) )  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) ) )
3628, 35mp3an1 1264 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( f  C_  F  /\  ( Pred ( R ,  A ,  y )  C_ 
dom  f  /\  y  e.  dom  f ) )  ->  ( ( f `
 y )  =  ( G `  (
f  |`  Pred ( R ,  A ,  y )
) )  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) ) )
3736expcom 424 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
Pred ( R ,  A ,  y )  C_ 
dom  f  /\  y  e.  dom  f )  -> 
( f  C_  F  ->  ( ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) )  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) ) ) )
3837com23 72 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
Pred ( R ,  A ,  y )  C_ 
dom  f  /\  y  e.  dom  f )  -> 
( ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) )  ->  (
f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) ) ) )
3925, 38syl6com 31 . . . . . . . . . . . . . . . . . . . 20  |-  ( y  e.  x  ->  (
( Pred ( R ,  A ,  y )  C_  x  /\  f  Fn  x )  ->  (
( f `  y
)  =  ( G `
 ( f  |`  Pred ( R ,  A ,  y ) ) )  ->  ( f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) ) ) ) ) )
4039exp3a 425 . . . . . . . . . . . . . . . . . . 19  |-  ( y  e.  x  ->  ( Pred ( R ,  A ,  y )  C_  x  ->  ( f  Fn  x  ->  ( (
f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) )  ->  ( f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) ) ) ) ) ) )
4140com34 77 . . . . . . . . . . . . . . . . . 18  |-  ( y  e.  x  ->  ( Pred ( R ,  A ,  y )  C_  x  ->  ( ( f `
 y )  =  ( G `  (
f  |`  Pred ( R ,  A ,  y )
) )  ->  (
f  Fn  x  -> 
( f  C_  F  ->  ( F `  y
)  =  ( G `
 ( F  |`  Pred ( R ,  A ,  y ) ) ) ) ) ) ) )
4218, 41sylcom 25 . . . . . . . . . . . . . . . . 17  |-  ( A. y  e.  x  Pred ( R ,  A , 
y )  C_  x  ->  ( y  e.  x  ->  ( ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) )  ->  (
f  Fn  x  -> 
( f  C_  F  ->  ( F `  y
)  =  ( G `
 ( F  |`  Pred ( R ,  A ,  y ) ) ) ) ) ) ) )
4342adantl 452 . . . . . . . . . . . . . . . 16  |-  ( ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  ->  ( y  e.  x  ->  ( ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) )  ->  ( f  Fn  x  ->  ( f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) ) ) ) ) ) )
4443com14 82 . . . . . . . . . . . . . . 15  |-  ( f  Fn  x  ->  (
y  e.  x  -> 
( ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) )  ->  (
( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A ,  y )  C_  x )  ->  (
f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) ) ) ) ) )
4517, 44syl7 63 . . . . . . . . . . . . . 14  |-  ( f  Fn  x  ->  (
y  e.  x  -> 
( ( y  e.  x  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) )  -> 
( ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A ,  y )  C_  x )  ->  (
f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) ) ) ) ) )
4645exp4a 589 . . . . . . . . . . . . 13  |-  ( f  Fn  x  ->  (
y  e.  x  -> 
( y  e.  x  ->  ( A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) )  ->  (
( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A ,  y )  C_  x )  ->  (
f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) ) ) ) ) ) )
4746pm2.43d 44 . . . . . . . . . . . 12  |-  ( f  Fn  x  ->  (
y  e.  x  -> 
( A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) )  ->  (
( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A ,  y )  C_  x )  ->  (
f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) ) ) ) ) )
4847com34 77 . . . . . . . . . . 11  |-  ( f  Fn  x  ->  (
y  e.  x  -> 
( ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A ,  y )  C_  x )  ->  ( A. y  e.  x  ( f `  y
)  =  ( G `
 ( f  |`  Pred ( R ,  A ,  y ) ) )  ->  ( f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) ) ) ) ) ) )
4915, 48syld 40 . . . . . . . . . 10  |-  ( f  Fn  x  ->  ( <. y ,  z >.  e.  f  ->  ( ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  ->  ( A. y  e.  x  (
f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) )  ->  ( f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) ) ) ) ) ) )
5049com12 27 . . . . . . . . 9  |-  ( <.
y ,  z >.  e.  f  ->  ( f  Fn  x  ->  (
( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A ,  y )  C_  x )  ->  ( A. y  e.  x  ( f `  y
)  =  ( G `
 ( f  |`  Pred ( R ,  A ,  y ) ) )  ->  ( f  C_  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) ) ) ) ) ) )
51503impd 1165 . . . . . . . 8  |-  ( <.
y ,  z >.  e.  f  ->  ( ( f  Fn  x  /\  ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) )  -> 
( f  C_  F  ->  ( F `  y
)  =  ( G `
 ( F  |`  Pred ( R ,  A ,  y ) ) ) ) ) )
5251exlimdv 1627 . . . . . . 7  |-  ( <.
y ,  z >.  e.  f  ->  ( E. x ( f  Fn  x  /\  ( x 
C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) )  -> 
( f  C_  F  ->  ( F `  y
)  =  ( G `
 ( F  |`  Pred ( R ,  A ,  y ) ) ) ) ) )
5313, 52mpdi 38 . . . . . 6  |-  ( <.
y ,  z >.  e.  f  ->  ( E. x ( f  Fn  x  /\  ( x 
C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) )  -> 
( F `  y
)  =  ( G `
 ( F  |`  Pred ( R ,  A ,  y ) ) ) ) )
5453imp 418 . . . . 5  |-  ( (
<. y ,  z >.  e.  f  /\  E. x
( f  Fn  x  /\  ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A ,  y )  C_  x )  /\  A. y  e.  x  (
f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) ) ) )  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) )
5554exlimiv 1625 . . . 4  |-  ( E. f ( <. y ,  z >.  e.  f  /\  E. x ( f  Fn  x  /\  ( x  C_  A  /\  A. y  e.  x  Pred ( R ,  A , 
y )  C_  x
)  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) )  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) ) )
569, 55sylbi 187 . . 3  |-  ( <.
y ,  z >.  e.  F  ->  ( F `
 y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) ) )
5756exlimiv 1625 . 2  |-  ( E. z <. y ,  z
>.  e.  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) )
582, 57sylbi 187 1  |-  ( y  e.  dom  F  -> 
( F `  y
)  =  ( G `
 ( F  |`  Pred ( R ,  A ,  y ) ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 358    /\ w3a 934   E.wex 1532    = wceq 1633    e. wcel 1701   {cab 2302   A.wral 2577    C_ wss 3186   <.cop 3677   U.cuni 3864   Se wse 4387    We wwe 4388   dom cdm 4726    |` cres 4728   Fun wfun 5286    Fn wfn 5287   ` cfv 5292   Predcpred 24552
This theorem is referenced by:  wfrlem14  24654  wfr2  24658
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1537  ax-5 1548  ax-17 1607  ax-9 1645  ax-8 1666  ax-13 1703  ax-14 1705  ax-6 1720  ax-7 1725  ax-11 1732  ax-12 1897  ax-ext 2297  ax-sep 4178  ax-nul 4186  ax-pow 4225  ax-pr 4251
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1533  df-nf 1536  df-sb 1640  df-eu 2180  df-mo 2181  df-clab 2303  df-cleq 2309  df-clel 2312  df-nfc 2441  df-ne 2481  df-ral 2582  df-rex 2583  df-reu 2584  df-rmo 2585  df-rab 2586  df-v 2824  df-sbc 3026  df-csb 3116  df-dif 3189  df-un 3191  df-in 3193  df-ss 3200  df-nul 3490  df-if 3600  df-sn 3680  df-pr 3681  df-op 3683  df-uni 3865  df-iun 3944  df-br 4061  df-opab 4115  df-mpt 4116  df-id 4346  df-po 4351  df-so 4352  df-fr 4389  df-se 4390  df-we 4391  df-xp 4732  df-rel 4733  df-cnv 4734  df-co 4735  df-dm 4736  df-rn 4737  df-res 4738  df-ima 4739  df-iota 5256  df-fun 5294  df-fn 5295  df-fv 5300  df-pred 24553
  Copyright terms: Public domain W3C validator