MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  wfrlem12 Structured version   Visualization version   Unicode version

Theorem wfrlem12 7426
Description: Lemma for well-founded recursion. Here, we compute the value of the recursive definition generator. (Contributed by Scott Fenton, 21-Apr-2011.) (Revised by Mario Carneiro, 26-Jun-2015.)
Hypotheses
Ref Expression
wfrfun.1  |-  R  We  A
wfrfun.2  |-  R Se  A
wfrfun.3  |-  F  = wrecs ( R ,  A ,  G )
Assertion
Ref Expression
wfrlem12  |-  ( y  e.  dom  F  -> 
( F `  y
)  =  ( G `
 ( F  |`  Pred ( R ,  A ,  y ) ) ) )
Distinct variable groups:    y, A    y, G    y, R
Allowed substitution hint:    F( y)

Proof of Theorem wfrlem12
Dummy variables  f  x  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 vex 3203 . . 3  |-  y  e. 
_V
21eldm2 5322 . 2  |-  ( y  e.  dom  F  <->  E. z <. y ,  z >.  e.  F )
3 wfrfun.3 . . . . . . 7  |-  F  = wrecs ( R ,  A ,  G )
4 df-wrecs 7407 . . . . . . 7  |- wrecs ( R ,  A ,  G
)  =  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 ) ) ) ) }
53, 4eqtri 2644 . . . . . 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 )
) ) ) }
65eleq2i 2693 . . . . 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 )
) ) ) } )
7 eluniab 4447 . . . . 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 )
) ) ) ) )
86, 7bitri 264 . . . 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 ) ) ) ) ) )
9 abid 2610 . . . . . . . 8  |-  ( f  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 )
) ) ) }  <->  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 )
) ) ) )
10 elssuni 4467 . . . . . . . . 9  |-  ( f  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_  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 ) ) ) ) } )
1110, 5syl6sseqr 3652 . . . . . . . 8  |-  ( f  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
)
129, 11sylbir 225 . . . . . . 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 )
13 fnop 5994 . . . . . . . . . . 11  |-  ( ( f  Fn  x  /\  <.
y ,  z >.  e.  f )  ->  y  e.  x )
1413ex 450 . . . . . . . . . 10  |-  ( f  Fn  x  ->  ( <. y ,  z >.  e.  f  ->  y  e.  x ) )
15 rsp 2929 . . . . . . . . . . . . . . 15  |-  ( A. y  e.  x  (
f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) )  ->  ( y  e.  x  ->  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) ) )
1615impcom 446 . . . . . . . . . . . . . 14  |-  ( ( y  e.  x  /\  A. y  e.  x  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A , 
y ) ) ) )  ->  ( f `  y )  =  ( G `  ( f  |`  Pred ( R ,  A ,  y )
) ) )
17 rsp 2929 . . . . . . . . . . . . . . . . 17  |-  ( A. y  e.  x  Pred ( R ,  A , 
y )  C_  x  ->  ( y  e.  x  ->  Pred ( R ,  A ,  y )  C_  x ) )
18 fndm 5990 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( f  Fn  x  ->  dom  f  =  x )
1918sseq2d 3633 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( f  Fn  x  ->  ( Pred ( R ,  A ,  y )  C_  dom  f  <->  Pred ( R ,  A ,  y )  C_  x ) )
2018eleq2d 2687 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( f  Fn  x  ->  (
y  e.  dom  f  <->  y  e.  x ) )
2119, 20anbi12d 747 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( f  Fn  x  ->  (
( Pred ( R ,  A ,  y )  C_ 
dom  f  /\  y  e.  dom  f )  <->  ( Pred ( R ,  A , 
y )  C_  x  /\  y  e.  x
) ) )
2221biimprd 238 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( f  Fn  x  ->  (
( Pred ( R ,  A ,  y )  C_  x  /\  y  e.  x )  ->  ( Pred ( R ,  A ,  y )  C_  dom  f  /\  y  e.  dom  f ) ) )
2322expd 452 . . . . . . . . . . . . . . . . . . . . 21  |-  ( f  Fn  x  ->  ( Pred ( R ,  A ,  y )  C_  x  ->  ( y  e.  x  ->  ( Pred ( R ,  A , 
y )  C_  dom  f  /\  y  e.  dom  f ) ) ) )
2423impcom 446 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
Pred ( R ,  A ,  y )  C_  x  /\  f  Fn  x )  ->  (
y  e.  x  -> 
( Pred ( R ,  A ,  y )  C_ 
dom  f  /\  y  e.  dom  f ) ) )
25 wfrfun.1 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  R  We  A
26 wfrfun.2 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  R Se  A
2725, 26, 3wfrfun 7425 . . . . . . . . . . . . . . . . . . . . . . 23  |-  Fun  F
28 funssfv 6209 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( Fun  F  /\  f  C_  F  /\  y  e. 
dom  f )  -> 
( F `  y
)  =  ( f `
 y ) )
29283adant3l 1322 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( Fun  F  /\  f  C_  F  /\  ( Pred ( R ,  A ,  y )  C_  dom  f  /\  y  e.  dom  f ) )  ->  ( F `  y )  =  ( f `  y ) )
30 fun2ssres 5931 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( Fun  F  /\  f  C_  F  /\  Pred ( R ,  A , 
y )  C_  dom  f )  ->  ( F  |`  Pred ( R ,  A ,  y )
)  =  ( f  |`  Pred ( R ,  A ,  y )
) )
31303adant3r 1323 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( 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 ) ) )
3231fveq2d 6195 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( 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 ) ) ) )
3329, 32eqeq12d 2637 . . . . . . . . . . . . . . . . . . . . . . . 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 )
) ) ) )
3433biimprd 238 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( 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 ) ) ) ) )
3527, 34mp3an1 1411 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( 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 ) ) ) ) )
3635expcom 451 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
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 ) ) ) ) ) )
3736com23 86 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
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 ) ) ) ) ) )
3824, 37syl6com 37 . . . . . . . . . . . . . . . . . . 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 )
) ) ) ) ) )
3938expd 452 . . . . . . . . . . . . . . . . . 18  |-  ( 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 )
) ) ) ) ) ) )
4039com34 91 . . . . . . . . . . . . . . . . 17  |-  ( 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 ) ) ) ) ) ) ) )
4117, 40sylcom 30 . . . . . . . . . . . . . . . 16  |-  ( 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 ) ) ) ) ) ) ) )
4241adantl 482 . . . . . . . . . . . . . . 15  |-  ( ( 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 )
) ) ) ) ) ) )
4342com14 96 . . . . . . . . . . . . . 14  |-  ( 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 ) ) ) ) ) ) ) )
4416, 43syl7 74 . . . . . . . . . . . . 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 ) ) ) ) ) ) ) )
4544exp4a 633 . . . . . . . . . . . 12  |-  ( 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 ) ) ) ) ) ) ) ) )
4645pm2.43d 53 . . . . . . . . . . 11  |-  ( 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 ) ) ) ) ) ) ) )
4746com34 91 . . . . . . . . . 10  |-  ( 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 )
) ) ) ) ) ) )
4814, 47syldc 48 . . . . . . . . 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 )
) ) ) ) ) ) )
49483impd 1281 . . . . . . . 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 ) ) ) ) ) )
5049exlimdv 1861 . . . . . . 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 ) ) ) ) ) )
5112, 50mpdi 45 . . . . . 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 ) ) ) ) )
5251imp 445 . . . . 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 ) ) ) )
5352exlimiv 1858 . . . 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 )
) ) )
548, 53sylbi 207 . . 3  |-  ( <.
y ,  z >.  e.  F  ->  ( F `
 y )  =  ( G `  ( F  |`  Pred ( R ,  A ,  y )
) ) )
5554exlimiv 1858 . 2  |-  ( E. z <. y ,  z
>.  e.  F  ->  ( F `  y )  =  ( G `  ( F  |`  Pred ( R ,  A , 
y ) ) ) )
562, 55sylbi 207 1  |-  ( y  e.  dom  F  -> 
( F `  y
)  =  ( G `
 ( F  |`  Pred ( R ,  A ,  y ) ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 384    /\ w3a 1037    = wceq 1483   E.wex 1704    e. wcel 1990   {cab 2608   A.wral 2912    C_ wss 3574   <.cop 4183   U.cuni 4436   Se wse 5071    We wwe 5072   dom cdm 5114    |` cres 5116   Predcpred 5679   Fun wfun 5882    Fn wfn 5883   ` cfv 5888  wrecscwrecs 7406
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-nul 3916  df-if 4087  df-sn 4178  df-pr 4180  df-op 4184  df-uni 4437  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-id 5024  df-po 5035  df-so 5036  df-fr 5073  df-se 5074  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-iota 5851  df-fun 5890  df-fn 5891  df-fv 5896  df-wrecs 7407
This theorem is referenced by:  wfrlem14  7428  wfr2a  7432
  Copyright terms: Public domain W3C validator