ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  frecuzrdgfunlem Unicode version

Theorem frecuzrdgfunlem 10511
Description: The recursive definition generator on upper integers produces a a function. (Contributed by Jim Kingdon, 24-Apr-2022.)
Hypotheses
Ref Expression
frecuzrdgrclt.c  |-  ( ph  ->  C  e.  ZZ )
frecuzrdgrclt.a  |-  ( ph  ->  A  e.  S )
frecuzrdgrclt.t  |-  ( ph  ->  S  C_  T )
frecuzrdgrclt.f  |-  ( (
ph  /\  ( x  e.  ( ZZ>= `  C )  /\  y  e.  S
) )  ->  (
x F y )  e.  S )
frecuzrdgrclt.r  |-  R  = frec ( ( x  e.  ( ZZ>= `  C ) ,  y  e.  T  |-> 
<. ( x  +  1 ) ,  ( x F y ) >.
) ,  <. C ,  A >. )
frecuzrdgfunlem.g  |-  G  = frec ( ( x  e.  ZZ  |->  ( x  + 
1 ) ) ,  C )
Assertion
Ref Expression
frecuzrdgfunlem  |-  ( ph  ->  Fun  ran  R )
Distinct variable groups:    x, C, y   
x, F, y    x, S, y    x, T, y    ph, x, y    x, G, y    x, R, y
Allowed substitution hints:    A( x, y)

Proof of Theorem frecuzrdgfunlem
Dummy variables  z  w  v are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 frecuzrdgrclt.c . . . . . 6  |-  ( ph  ->  C  e.  ZZ )
2 frecuzrdgrclt.a . . . . . 6  |-  ( ph  ->  A  e.  S )
3 frecuzrdgrclt.t . . . . . 6  |-  ( ph  ->  S  C_  T )
4 frecuzrdgrclt.f . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( ZZ>= `  C )  /\  y  e.  S
) )  ->  (
x F y )  e.  S )
5 frecuzrdgrclt.r . . . . . 6  |-  R  = frec ( ( x  e.  ( ZZ>= `  C ) ,  y  e.  T  |-> 
<. ( x  +  1 ) ,  ( x F y ) >.
) ,  <. C ,  A >. )
61, 2, 3, 4, 5frecuzrdgrclt 10507 . . . . 5  |-  ( ph  ->  R : om --> ( (
ZZ>= `  C )  X.  S ) )
7 frn 5416 . . . . 5  |-  ( R : om --> ( (
ZZ>= `  C )  X.  S )  ->  ran  R 
C_  ( ( ZZ>= `  C )  X.  S
) )
86, 7syl 14 . . . 4  |-  ( ph  ->  ran  R  C_  (
( ZZ>= `  C )  X.  S ) )
9 xpss 4771 . . . 4  |-  ( (
ZZ>= `  C )  X.  S )  C_  ( _V  X.  _V )
108, 9sstrdi 3195 . . 3  |-  ( ph  ->  ran  R  C_  ( _V  X.  _V ) )
11 df-rel 4670 . . 3  |-  ( Rel 
ran  R  <->  ran  R  C_  ( _V  X.  _V ) )
1210, 11sylibr 134 . 2  |-  ( ph  ->  Rel  ran  R )
13 frecuzrdgfunlem.g . . . . . . . . . 10  |-  G  = frec ( ( x  e.  ZZ  |->  ( x  + 
1 ) ) ,  C )
141, 13frec2uzf1od 10498 . . . . . . . . 9  |-  ( ph  ->  G : om -1-1-onto-> ( ZZ>= `  C )
)
15 f1ocnvdm 5828 . . . . . . . . 9  |-  ( ( G : om -1-1-onto-> ( ZZ>= `  C )  /\  v  e.  ( ZZ>=
`  C ) )  ->  ( `' G `  v )  e.  om )
1614, 15sylan 283 . . . . . . . 8  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  ( `' G `  v )  e.  om )
176ffvelcdmda 5697 . . . . . . . 8  |-  ( (
ph  /\  ( `' G `  v )  e.  om )  ->  ( R `  ( `' G `  v )
)  e.  ( (
ZZ>= `  C )  X.  S ) )
1816, 17syldan 282 . . . . . . 7  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  ( R `  ( `' G `  v ) )  e.  ( ( ZZ>= `  C
)  X.  S ) )
19 xp2nd 6224 . . . . . . 7  |-  ( ( R `  ( `' G `  v ) )  e.  ( (
ZZ>= `  C )  X.  S )  ->  ( 2nd `  ( R `  ( `' G `  v ) ) )  e.  S
)
2018, 19syl 14 . . . . . 6  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  ( 2nd `  ( R `  ( `' G `  v ) ) )  e.  S
)
21 ffn 5407 . . . . . . . . . 10  |-  ( R : om --> ( (
ZZ>= `  C )  X.  S )  ->  R  Fn  om )
22 fvelrnb 5608 . . . . . . . . . 10  |-  ( R  Fn  om  ->  ( <. v ,  z >.  e.  ran  R  <->  E. w  e.  om  ( R `  w )  =  <. v ,  z >. )
)
236, 21, 223syl 17 . . . . . . . . 9  |-  ( ph  ->  ( <. v ,  z
>.  e.  ran  R  <->  E. w  e.  om  ( R `  w )  =  <. v ,  z >. )
)
246ffvelcdmda 5697 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  e.  ( ( ZZ>= `  C )  X.  S ) )
25 1st2nd2 6233 . . . . . . . . . . . . . . . . . . 19  |-  ( ( R `  w )  e.  ( ( ZZ>= `  C )  X.  S
)  ->  ( R `  w )  =  <. ( 1st `  ( R `
 w ) ) ,  ( 2nd `  ( R `  w )
) >. )
2624, 25syl 14 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  =  <. ( 1st `  ( R `
 w ) ) ,  ( 2nd `  ( R `  w )
) >. )
271adantr 276 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  C  e.  ZZ )
282adantr 276 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  A  e.  S )
293adantr 276 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  S  C_  T
)
304adantlr 477 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  w  e.  om )  /\  (
x  e.  ( ZZ>= `  C )  /\  y  e.  S ) )  -> 
( x F y )  e.  S )
31 simpr 110 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  w  e.  om )
3227, 28, 29, 30, 5, 31, 13frecuzrdgg 10508 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( 1st `  ( R `  w
) )  =  ( G `  w ) )
3332opeq1d 3814 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  w  e.  om )  ->  <. ( 1st `  ( R `  w
) ) ,  ( 2nd `  ( R `
 w ) )
>.  =  <. ( G `
 w ) ,  ( 2nd `  ( R `  w )
) >. )
3426, 33eqtrd 2229 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  =  <. ( G `  w ) ,  ( 2nd `  ( R `  w )
) >. )
3534eqeq1d 2205 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>. 
<-> 
<. ( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >. )
)
36 vex 2766 . . . . . . . . . . . . . . . . . 18  |-  v  e. 
_V
37 vex 2766 . . . . . . . . . . . . . . . . . 18  |-  z  e. 
_V
3836, 37opth2 4273 . . . . . . . . . . . . . . . . 17  |-  ( <.
( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >.  <->  ( ( G `  w )  =  v  /\  ( 2nd `  ( R `  w ) )  =  z ) )
3938simplbi 274 . . . . . . . . . . . . . . . 16  |-  ( <.
( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >.  ->  ( G `  w )  =  v )
4035, 39biimtrdi 163 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>.  ->  ( G `  w )  =  v ) )
41 f1ocnvfv 5826 . . . . . . . . . . . . . . . 16  |-  ( ( G : om -1-1-onto-> ( ZZ>= `  C )  /\  w  e.  om )  ->  ( ( G `
 w )  =  v  ->  ( `' G `  v )  =  w ) )
4214, 41sylan 283 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  w  e.  om )  ->  ( ( G `  w )  =  v  ->  ( `' G `  v )  =  w ) )
4340, 42syld 45 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>.  ->  ( `' G `  v )  =  w ) )
44 fveq2 5558 . . . . . . . . . . . . . . 15  |-  ( ( `' G `  v )  =  w  ->  ( R `  ( `' G `  v )
)  =  ( R `
 w ) )
4544fveq2d 5562 . . . . . . . . . . . . . 14  |-  ( ( `' G `  v )  =  w  ->  ( 2nd `  ( R `  ( `' G `  v ) ) )  =  ( 2nd `  ( R `
 w ) ) )
4643, 45syl6 33 . . . . . . . . . . . . 13  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>.  ->  ( 2nd `  ( R `  ( `' G `  v )
) )  =  ( 2nd `  ( R `
 w ) ) ) )
4746imp 124 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  w  e.  om )  /\  ( R `  w )  =  <. v ,  z
>. )  ->  ( 2nd `  ( R `  ( `' G `  v ) ) )  =  ( 2nd `  ( R `
 w ) ) )
4836, 37op2ndd 6207 . . . . . . . . . . . . 13  |-  ( ( R `  w )  =  <. v ,  z
>.  ->  ( 2nd `  ( R `  w )
)  =  z )
4948adantl 277 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  w  e.  om )  /\  ( R `  w )  =  <. v ,  z
>. )  ->  ( 2nd `  ( R `  w
) )  =  z )
5047, 49eqtr2d 2230 . . . . . . . . . . 11  |-  ( ( ( ph  /\  w  e.  om )  /\  ( R `  w )  =  <. v ,  z
>. )  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) )
5150ex 115 . . . . . . . . . 10  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>.  ->  z  =  ( 2nd `  ( R `
 ( `' G `  v ) ) ) ) )
5251rexlimdva 2614 . . . . . . . . 9  |-  ( ph  ->  ( E. w  e. 
om  ( R `  w )  =  <. v ,  z >.  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) ) )
5323, 52sylbid 150 . . . . . . . 8  |-  ( ph  ->  ( <. v ,  z
>.  e.  ran  R  -> 
z  =  ( 2nd `  ( R `  ( `' G `  v ) ) ) ) )
5453alrimiv 1888 . . . . . . 7  |-  ( ph  ->  A. z ( <.
v ,  z >.  e.  ran  R  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) ) )
5554adantr 276 . . . . . 6  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  A. z
( <. v ,  z
>.  e.  ran  R  -> 
z  =  ( 2nd `  ( R `  ( `' G `  v ) ) ) ) )
56 eqeq2 2206 . . . . . . . . 9  |-  ( w  =  ( 2nd `  ( R `  ( `' G `  v )
) )  ->  (
z  =  w  <->  z  =  ( 2nd `  ( R `
 ( `' G `  v ) ) ) ) )
5756imbi2d 230 . . . . . . . 8  |-  ( w  =  ( 2nd `  ( R `  ( `' G `  v )
) )  ->  (
( <. v ,  z
>.  e.  ran  R  -> 
z  =  w )  <-> 
( <. v ,  z
>.  e.  ran  R  -> 
z  =  ( 2nd `  ( R `  ( `' G `  v ) ) ) ) ) )
5857albidv 1838 . . . . . . 7  |-  ( w  =  ( 2nd `  ( R `  ( `' G `  v )
) )  ->  ( A. z ( <. v ,  z >.  e.  ran  R  ->  z  =  w )  <->  A. z ( <.
v ,  z >.  e.  ran  R  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) ) ) )
5958spcegv 2852 . . . . . 6  |-  ( ( 2nd `  ( R `
 ( `' G `  v ) ) )  e.  S  ->  ( A. z ( <. v ,  z >.  e.  ran  R  ->  z  =  ( 2nd `  ( R `
 ( `' G `  v ) ) ) )  ->  E. w A. z ( <. v ,  z >.  e.  ran  R  ->  z  =  w ) ) )
6020, 55, 59sylc 62 . . . . 5  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  E. w A. z ( <. v ,  z >.  e.  ran  R  ->  z  =  w ) )
61 nfv 1542 . . . . . 6  |-  F/ w <. v ,  z >.  e.  ran  R
6261mo2r 2097 . . . . 5  |-  ( E. w A. z (
<. v ,  z >.  e.  ran  R  ->  z  =  w )  ->  E* z <. v ,  z
>.  e.  ran  R )
6360, 62syl 14 . . . 4  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  E* z <. v ,  z >.  e.  ran  R )
641, 2, 3, 4, 5frecuzrdgdom 10510 . . . . . 6  |-  ( ph  ->  dom  ran  R  =  ( ZZ>= `  C )
)
6564eleq2d 2266 . . . . 5  |-  ( ph  ->  ( v  e.  dom  ran 
R  <->  v  e.  (
ZZ>= `  C ) ) )
6665pm5.32i 454 . . . 4  |-  ( (
ph  /\  v  e.  dom  ran  R )  <->  ( ph  /\  v  e.  ( ZZ>= `  C ) ) )
67 df-br 4034 . . . . 5  |-  ( v ran  R  z  <->  <. v ,  z >.  e.  ran  R )
6867mobii 2082 . . . 4  |-  ( E* z  v ran  R  z 
<->  E* z <. v ,  z >.  e.  ran  R )
6963, 66, 683imtr4i 201 . . 3  |-  ( (
ph  /\  v  e.  dom  ran  R )  ->  E* z  v ran  R  z )
7069ralrimiva 2570 . 2  |-  ( ph  ->  A. v  e.  dom  ran 
R E* z  v ran  R  z )
71 dffun7 5285 . 2  |-  ( Fun 
ran  R  <->  ( Rel  ran  R  /\  A. v  e. 
dom  ran  R E* z 
v ran  R  z
) )
7212, 70, 71sylanbrc 417 1  |-  ( ph  ->  Fun  ran  R )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105   A.wal 1362    = wceq 1364   E.wex 1506   E*wmo 2046    e. wcel 2167   A.wral 2475   E.wrex 2476   _Vcvv 2763    C_ wss 3157   <.cop 3625   class class class wbr 4033    |-> cmpt 4094   omcom 4626    X. cxp 4661   `'ccnv 4662   dom cdm 4663   ran crn 4664   Rel wrel 4668   Fun wfun 5252    Fn wfn 5253   -->wf 5254   -1-1-onto->wf1o 5257   ` cfv 5258  (class class class)co 5922    e. cmpo 5924   1stc1st 6196   2ndc2nd 6197  freccfrec 6448   1c1 7880    + caddc 7882   ZZcz 9326   ZZ>=cuz 9601
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 615  ax-in2 616  ax-io 710  ax-5 1461  ax-7 1462  ax-gen 1463  ax-ie1 1507  ax-ie2 1508  ax-8 1518  ax-10 1519  ax-11 1520  ax-i12 1521  ax-bndl 1523  ax-4 1524  ax-17 1540  ax-i9 1544  ax-ial 1548  ax-i5r 1549  ax-13 2169  ax-14 2170  ax-ext 2178  ax-coll 4148  ax-sep 4151  ax-nul 4159  ax-pow 4207  ax-pr 4242  ax-un 4468  ax-setind 4573  ax-iinf 4624  ax-cnex 7970  ax-resscn 7971  ax-1cn 7972  ax-1re 7973  ax-icn 7974  ax-addcl 7975  ax-addrcl 7976  ax-mulcl 7977  ax-addcom 7979  ax-addass 7981  ax-distr 7983  ax-i2m1 7984  ax-0lt1 7985  ax-0id 7987  ax-rnegex 7988  ax-cnre 7990  ax-pre-ltirr 7991  ax-pre-ltwlin 7992  ax-pre-lttrn 7993  ax-pre-ltadd 7995
This theorem depends on definitions:  df-bi 117  df-3or 981  df-3an 982  df-tru 1367  df-fal 1370  df-nf 1475  df-sb 1777  df-eu 2048  df-mo 2049  df-clab 2183  df-cleq 2189  df-clel 2192  df-nfc 2328  df-ne 2368  df-nel 2463  df-ral 2480  df-rex 2481  df-reu 2482  df-rab 2484  df-v 2765  df-sbc 2990  df-csb 3085  df-dif 3159  df-un 3161  df-in 3163  df-ss 3170  df-nul 3451  df-pw 3607  df-sn 3628  df-pr 3629  df-op 3631  df-uni 3840  df-int 3875  df-iun 3918  df-br 4034  df-opab 4095  df-mpt 4096  df-tr 4132  df-id 4328  df-iord 4401  df-on 4403  df-ilim 4404  df-suc 4406  df-iom 4627  df-xp 4669  df-rel 4670  df-cnv 4671  df-co 4672  df-dm 4673  df-rn 4674  df-res 4675  df-ima 4676  df-iota 5219  df-fun 5260  df-fn 5261  df-f 5262  df-f1 5263  df-fo 5264  df-f1o 5265  df-fv 5266  df-riota 5877  df-ov 5925  df-oprab 5926  df-mpo 5927  df-1st 6198  df-2nd 6199  df-recs 6363  df-frec 6449  df-pnf 8063  df-mnf 8064  df-xr 8065  df-ltxr 8066  df-le 8067  df-sub 8199  df-neg 8200  df-inn 8991  df-n0 9250  df-z 9327  df-uz 9602
This theorem is referenced by:  frecuzrdgfun  10512
  Copyright terms: Public domain W3C validator