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

Theorem wfrfun 7051
Description: The well-founded function generator generates a function. (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
wfrfun  |-  Fun  F

Proof of Theorem wfrfun
Dummy variables  f 
g  h  u  v  x  y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 wfrfun.3 . . 3  |-  F  = wrecs ( R ,  A ,  G )
21wfrrel 7046 . 2  |-  Rel  F
3 df-wrecs 7033 . . . . . . . . . . 11  |- 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 ) ) ) ) }
41, 3eqtri 2451 . . . . . . . . . 10  |-  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 )
) ) ) }
54eleq2i 2500 . . . . . . . . 9  |-  ( <.
x ,  u >.  e.  F  <->  <. x ,  u >.  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 )
) ) ) } )
6 eluni 4219 . . . . . . . . 9  |-  ( <.
x ,  u >.  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. g ( <. x ,  u >.  e.  g  /\  g  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 )
) ) ) } ) )
75, 6bitri 252 . . . . . . . 8  |-  ( <.
x ,  u >.  e.  F  <->  E. g ( <.
x ,  u >.  e.  g  /\  g  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 )
) ) ) } ) )
8 df-br 4421 . . . . . . . 8  |-  ( x F u  <->  <. x ,  u >.  e.  F
)
9 df-br 4421 . . . . . . . . . 10  |-  ( x g u  <->  <. x ,  u >.  e.  g
)
109anbi1i 699 . . . . . . . . 9  |-  ( ( x g u  /\  g  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 )
) ) ) } )  <->  ( <. x ,  u >.  e.  g  /\  g  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 )
) ) ) } ) )
1110exbii 1712 . . . . . . . 8  |-  ( E. g ( x g u  /\  g  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. g ( <.
x ,  u >.  e.  g  /\  g  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 )
) ) ) } ) )
127, 8, 113bitr4i 280 . . . . . . 7  |-  ( x F u  <->  E. g
( x g u  /\  g  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 ) ) ) ) } ) )
134eleq2i 2500 . . . . . . . . 9  |-  ( <.
x ,  v >.  e.  F  <->  <. x ,  v
>.  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 )
) ) ) } )
14 eluni 4219 . . . . . . . . 9  |-  ( <.
x ,  v >.  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. h ( <. x ,  v >.  e.  h  /\  h  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 )
) ) ) } ) )
1513, 14bitri 252 . . . . . . . 8  |-  ( <.
x ,  v >.  e.  F  <->  E. h ( <.
x ,  v >.  e.  h  /\  h  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 )
) ) ) } ) )
16 df-br 4421 . . . . . . . 8  |-  ( x F v  <->  <. x ,  v >.  e.  F
)
17 df-br 4421 . . . . . . . . . 10  |-  ( x h v  <->  <. x ,  v >.  e.  h
)
1817anbi1i 699 . . . . . . . . 9  |-  ( ( x h v  /\  h  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 )
) ) ) } )  <->  ( <. x ,  v >.  e.  h  /\  h  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 )
) ) ) } ) )
1918exbii 1712 . . . . . . . 8  |-  ( E. h ( x h v  /\  h  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. h ( <.
x ,  v >.  e.  h  /\  h  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 )
) ) ) } ) )
2015, 16, 193bitr4i 280 . . . . . . 7  |-  ( x F v  <->  E. h
( x h v  /\  h  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 ) ) ) ) } ) )
2112, 20anbi12i 701 . . . . . 6  |-  ( ( x F u  /\  x F v )  <->  ( E. g ( x g u  /\  g  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. h
( x h v  /\  h  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 ) ) ) ) } ) ) )
22 eeanv 2043 . . . . . 6  |-  ( E. g E. h ( ( x g u  /\  g  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 ) ) ) ) } )  /\  ( x h v  /\  h  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. g ( x g u  /\  g  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. h
( x h v  /\  h  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 ) ) ) ) } ) ) )
2321, 22bitr4i 255 . . . . 5  |-  ( ( x F u  /\  x F v )  <->  E. g E. h ( ( x g u  /\  g  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 )
) ) ) } )  /\  ( x h v  /\  h  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 )
) ) ) } ) ) )
24 wfrfun.1 . . . . . . . . 9  |-  R  We  A
25 wfrfun.2 . . . . . . . . 9  |-  R Se  A
26 eqid 2422 . . . . . . . . 9  |-  { 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  |  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 )
) ) ) }
2724, 25, 26wfrlem5 7045 . . . . . . . 8  |-  ( ( g  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 )
) ) ) }  /\  h  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 ) ) ) ) } )  -> 
( ( x g u  /\  x h v )  ->  u  =  v ) )
2827impcom 431 . . . . . . 7  |-  ( ( ( x g u  /\  x h v )  /\  ( g  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 )
) ) ) }  /\  h  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 ) ) ) ) } ) )  ->  u  =  v )
2928an4s 833 . . . . . 6  |-  ( ( ( x g u  /\  g  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 ) ) ) ) } )  /\  ( x h v  /\  h  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 ) ) ) ) } ) )  ->  u  =  v )
3029exlimivv 1767 . . . . 5  |-  ( E. g E. h ( ( x g u  /\  g  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 ) ) ) ) } )  /\  ( x h v  /\  h  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 ) ) ) ) } ) )  ->  u  =  v )
3123, 30sylbi 198 . . . 4  |-  ( ( x F u  /\  x F v )  ->  u  =  v )
3231ax-gen 1665 . . 3  |-  A. v
( ( x F u  /\  x F v )  ->  u  =  v )
3332gen2 1666 . 2  |-  A. x A. u A. v ( ( x F u  /\  x F v )  ->  u  =  v )
34 dffun2 5608 . 2  |-  ( Fun 
F  <->  ( Rel  F  /\  A. x A. u A. v ( ( x F u  /\  x F v )  ->  u  =  v )
) )
352, 33, 34mpbir2an 928 1  |-  Fun  F
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 370    /\ w3a 982   A.wal 1435    = wceq 1437   E.wex 1659    e. wcel 1868   {cab 2407   A.wral 2775    C_ wss 3436   <.cop 4002   U.cuni 4216   class class class wbr 4420   Se wse 4807    We wwe 4808    |` cres 4852   Rel wrel 4855   Predcpred 5395   Fun wfun 5592    Fn wfn 5593   ` cfv 5598  wrecscwrecs 7032
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1748  ax-6 1794  ax-7 1839  ax-8 1870  ax-9 1872  ax-10 1887  ax-11 1892  ax-12 1905  ax-13 2053  ax-ext 2400  ax-sep 4543  ax-nul 4552  ax-pow 4599  ax-pr 4657
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1787  df-eu 2269  df-mo 2270  df-clab 2408  df-cleq 2414  df-clel 2417  df-nfc 2572  df-ne 2620  df-ral 2780  df-rex 2781  df-reu 2782  df-rmo 2783  df-rab 2784  df-v 3083  df-sbc 3300  df-csb 3396  df-dif 3439  df-un 3441  df-in 3443  df-ss 3450  df-nul 3762  df-if 3910  df-sn 3997  df-pr 3999  df-op 4003  df-uni 4217  df-iun 4298  df-br 4421  df-opab 4480  df-mpt 4481  df-id 4765  df-po 4771  df-so 4772  df-fr 4809  df-se 4810  df-we 4811  df-xp 4856  df-rel 4857  df-cnv 4858  df-co 4859  df-dm 4860  df-rn 4861  df-res 4862  df-ima 4863  df-pred 5396  df-iota 5562  df-fun 5600  df-fn 5601  df-fv 5606  df-wrecs 7033
This theorem is referenced by:  wfrlem12  7052  wfrlem13  7053  wfrlem17  7057  wfr1  7059  bpolylem  14089
  Copyright terms: Public domain W3C validator