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

Theorem frecuzrdgfunlem 9553
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 9549 . . . . 5  |-  ( ph  ->  R : om --> ( (
ZZ>= `  C )  X.  S ) )
7 frn 5103 . . . . 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 4494 . . . 4  |-  ( (
ZZ>= `  C )  X.  S )  C_  ( _V  X.  _V )
108, 9syl6ss 3020 . . 3  |-  ( ph  ->  ran  R  C_  ( _V  X.  _V ) )
11 df-rel 4398 . . 3  |-  ( Rel 
ran  R  <->  ran  R  C_  ( _V  X.  _V ) )
1210, 11sylibr 132 . 2  |-  ( ph  ->  Rel  ran  R )
13 frecuzrdgfunlem.g . . . . . . . . . 10  |-  G  = frec ( ( x  e.  ZZ  |->  ( x  + 
1 ) ) ,  C )
141, 13frec2uzf1od 9540 . . . . . . . . 9  |-  ( ph  ->  G : om -1-1-onto-> ( ZZ>= `  C )
)
15 f1ocnvdm 5472 . . . . . . . . 9  |-  ( ( G : om -1-1-onto-> ( ZZ>= `  C )  /\  v  e.  ( ZZ>=
`  C ) )  ->  ( `' G `  v )  e.  om )
1614, 15sylan 277 . . . . . . . 8  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  ( `' G `  v )  e.  om )
176ffvelrnda 5354 . . . . . . . 8  |-  ( (
ph  /\  ( `' G `  v )  e.  om )  ->  ( R `  ( `' G `  v )
)  e.  ( (
ZZ>= `  C )  X.  S ) )
1816, 17syldan 276 . . . . . . 7  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  ( R `  ( `' G `  v ) )  e.  ( ( ZZ>= `  C
)  X.  S ) )
19 xp2nd 5844 . . . . . . 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 5097 . . . . . . . . . 10  |-  ( R : om --> ( (
ZZ>= `  C )  X.  S )  ->  R  Fn  om )
22 fvelrnb 5273 . . . . . . . . . 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 >. )
)
246ffvelrnda 5354 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  e.  ( ( ZZ>= `  C )  X.  S ) )
25 1st2nd2 5852 . . . . . . . . . . . . . . . . . . 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 270 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  C  e.  ZZ )
282adantr 270 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  A  e.  S )
293adantr 270 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  S  C_  T
)
304adantlr 461 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  w  e.  om )  /\  (
x  e.  ( ZZ>= `  C )  /\  y  e.  S ) )  -> 
( x F y )  e.  S )
31 simpr 108 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  w  e.  om )
3227, 28, 29, 30, 5, 31, 13frecuzrdgg 9550 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( 1st `  ( R `  w
) )  =  ( G `  w ) )
3332opeq1d 3596 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  w  e.  om )  ->  <. ( 1st `  ( R `  w
) ) ,  ( 2nd `  ( R `
 w ) )
>.  =  <. ( G `
 w ) ,  ( 2nd `  ( R `  w )
) >. )
3426, 33eqtrd 2115 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  =  <. ( G `  w ) ,  ( 2nd `  ( R `  w )
) >. )
3534eqeq1d 2091 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>. 
<-> 
<. ( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >. )
)
36 vex 2613 . . . . . . . . . . . . . . . . . 18  |-  v  e. 
_V
37 vex 2613 . . . . . . . . . . . . . . . . . 18  |-  z  e. 
_V
3836, 37opth2 4023 . . . . . . . . . . . . . . . . 17  |-  ( <.
( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >.  <->  ( ( G `  w )  =  v  /\  ( 2nd `  ( R `  w ) )  =  z ) )
3938simplbi 268 . . . . . . . . . . . . . . . 16  |-  ( <.
( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >.  ->  ( G `  w )  =  v )
4035, 39syl6bi 161 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>.  ->  ( G `  w )  =  v ) )
41 f1ocnvfv 5470 . . . . . . . . . . . . . . . 16  |-  ( ( G : om -1-1-onto-> ( ZZ>= `  C )  /\  w  e.  om )  ->  ( ( G `
 w )  =  v  ->  ( `' G `  v )  =  w ) )
4214, 41sylan 277 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  w  e.  om )  ->  ( ( G `  w )  =  v  ->  ( `' G `  v )  =  w ) )
4340, 42syld 44 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>.  ->  ( `' G `  v )  =  w ) )
44 fveq2 5229 . . . . . . . . . . . . . . 15  |-  ( ( `' G `  v )  =  w  ->  ( R `  ( `' G `  v )
)  =  ( R `
 w ) )
4544fveq2d 5233 . . . . . . . . . . . . . 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 122 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  w  e.  om )  /\  ( R `  w )  =  <. v ,  z
>. )  ->  ( 2nd `  ( R `  ( `' G `  v ) ) )  =  ( 2nd `  ( R `
 w ) ) )
4836, 37op2ndd 5827 . . . . . . . . . . . . 13  |-  ( ( R `  w )  =  <. v ,  z
>.  ->  ( 2nd `  ( R `  w )
)  =  z )
4948adantl 271 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  w  e.  om )  /\  ( R `  w )  =  <. v ,  z
>. )  ->  ( 2nd `  ( R `  w
) )  =  z )
5047, 49eqtr2d 2116 . . . . . . . . . . 11  |-  ( ( ( ph  /\  w  e.  om )  /\  ( R `  w )  =  <. v ,  z
>. )  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) )
5150ex 113 . . . . . . . . . 10  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>.  ->  z  =  ( 2nd `  ( R `
 ( `' G `  v ) ) ) ) )
5251rexlimdva 2482 . . . . . . . . 9  |-  ( ph  ->  ( E. w  e. 
om  ( R `  w )  =  <. v ,  z >.  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) ) )
5323, 52sylbid 148 . . . . . . . 8  |-  ( ph  ->  ( <. v ,  z
>.  e.  ran  R  -> 
z  =  ( 2nd `  ( R `  ( `' G `  v ) ) ) ) )
5453alrimiv 1797 . . . . . . 7  |-  ( ph  ->  A. z ( <.
v ,  z >.  e.  ran  R  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) ) )
5554adantr 270 . . . . . 6  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  A. z
( <. v ,  z
>.  e.  ran  R  -> 
z  =  ( 2nd `  ( R `  ( `' G `  v ) ) ) ) )
56 eqeq2 2092 . . . . . . . . 9  |-  ( w  =  ( 2nd `  ( R `  ( `' G `  v )
) )  ->  (
z  =  w  <->  z  =  ( 2nd `  ( R `
 ( `' G `  v ) ) ) ) )
5756imbi2d 228 . . . . . . . 8  |-  ( w  =  ( 2nd `  ( R `  ( `' G `  v )
) )  ->  (
( <. v ,  z
>.  e.  ran  R  -> 
z  =  w )  <-> 
( <. v ,  z
>.  e.  ran  R  -> 
z  =  ( 2nd `  ( R `  ( `' G `  v ) ) ) ) ) )
5857albidv 1747 . . . . . . 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 2695 . . . . . 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 61 . . . . 5  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  E. w A. z ( <. v ,  z >.  e.  ran  R  ->  z  =  w ) )
61 nfv 1462 . . . . . 6  |-  F/ w <. v ,  z >.  e.  ran  R
6261mo2r 1995 . . . . 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 9552 . . . . . 6  |-  ( ph  ->  dom  ran  R  =  ( ZZ>= `  C )
)
6564eleq2d 2152 . . . . 5  |-  ( ph  ->  ( v  e.  dom  ran 
R  <->  v  e.  (
ZZ>= `  C ) ) )
6665pm5.32i 442 . . . 4  |-  ( (
ph  /\  v  e.  dom  ran  R )  <->  ( ph  /\  v  e.  ( ZZ>= `  C ) ) )
67 df-br 3806 . . . . 5  |-  ( v ran  R  z  <->  <. v ,  z >.  e.  ran  R )
6867mobii 1980 . . . 4  |-  ( E* z  v ran  R  z 
<->  E* z <. v ,  z >.  e.  ran  R )
6963, 66, 683imtr4i 199 . . 3  |-  ( (
ph  /\  v  e.  dom  ran  R )  ->  E* z  v ran  R  z )
7069ralrimiva 2439 . 2  |-  ( ph  ->  A. v  e.  dom  ran 
R E* z  v ran  R  z )
71 dffun7 4978 . 2  |-  ( Fun 
ran  R  <->  ( Rel  ran  R  /\  A. v  e. 
dom  ran  R E* z 
v ran  R  z
) )
7212, 70, 71sylanbrc 408 1  |-  ( ph  ->  Fun  ran  R )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 102    <-> wb 103   A.wal 1283    = wceq 1285   E.wex 1422    e. wcel 1434   E*wmo 1944   A.wral 2353   E.wrex 2354   _Vcvv 2610    C_ wss 2982   <.cop 3419   class class class wbr 3805    |-> cmpt 3859   omcom 4359    X. cxp 4389   `'ccnv 4390   dom cdm 4391   ran crn 4392   Rel wrel 4396   Fun wfun 4946    Fn wfn 4947   -->wf 4948   -1-1-onto->wf1o 4951   ` cfv 4952  (class class class)co 5563    |-> cmpt2 5565   1stc1st 5816   2ndc2nd 5817  freccfrec 6059   1c1 7096    + caddc 7098   ZZcz 8484   ZZ>=cuz 8752
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 104  ax-ia2 105  ax-ia3 106  ax-in1 577  ax-in2 578  ax-io 663  ax-5 1377  ax-7 1378  ax-gen 1379  ax-ie1 1423  ax-ie2 1424  ax-8 1436  ax-10 1437  ax-11 1438  ax-i12 1439  ax-bndl 1440  ax-4 1441  ax-13 1445  ax-14 1446  ax-17 1460  ax-i9 1464  ax-ial 1468  ax-i5r 1469  ax-ext 2065  ax-coll 3913  ax-sep 3916  ax-nul 3924  ax-pow 3968  ax-pr 3992  ax-un 4216  ax-setind 4308  ax-iinf 4357  ax-cnex 7181  ax-resscn 7182  ax-1cn 7183  ax-1re 7184  ax-icn 7185  ax-addcl 7186  ax-addrcl 7187  ax-mulcl 7188  ax-addcom 7190  ax-addass 7192  ax-distr 7194  ax-i2m1 7195  ax-0lt1 7196  ax-0id 7198  ax-rnegex 7199  ax-cnre 7201  ax-pre-ltirr 7202  ax-pre-ltwlin 7203  ax-pre-lttrn 7204  ax-pre-ltadd 7206
This theorem depends on definitions:  df-bi 115  df-3or 921  df-3an 922  df-tru 1288  df-fal 1291  df-nf 1391  df-sb 1688  df-eu 1946  df-mo 1947  df-clab 2070  df-cleq 2076  df-clel 2079  df-nfc 2212  df-ne 2250  df-nel 2345  df-ral 2358  df-rex 2359  df-reu 2360  df-rab 2362  df-v 2612  df-sbc 2825  df-csb 2918  df-dif 2984  df-un 2986  df-in 2988  df-ss 2995  df-nul 3268  df-pw 3402  df-sn 3422  df-pr 3423  df-op 3425  df-uni 3622  df-int 3657  df-iun 3700  df-br 3806  df-opab 3860  df-mpt 3861  df-tr 3896  df-id 4076  df-iord 4149  df-on 4151  df-ilim 4152  df-suc 4154  df-iom 4360  df-xp 4397  df-rel 4398  df-cnv 4399  df-co 4400  df-dm 4401  df-rn 4402  df-res 4403  df-ima 4404  df-iota 4917  df-fun 4954  df-fn 4955  df-f 4956  df-f1 4957  df-fo 4958  df-f1o 4959  df-fv 4960  df-riota 5519  df-ov 5566  df-oprab 5567  df-mpt2 5568  df-1st 5818  df-2nd 5819  df-recs 5974  df-frec 6060  df-pnf 7269  df-mnf 7270  df-xr 7271  df-ltxr 7272  df-le 7273  df-sub 7400  df-neg 7401  df-inn 8159  df-n0 8408  df-z 8485  df-uz 8753
This theorem is referenced by:  frecuzrdgfun  9554
  Copyright terms: Public domain W3C validator