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

Theorem frecuzrdgfunlem 10837
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 10833 . . . . 5  |-  ( ph  ->  R : om --> ( (
ZZ>= `  C )  X.  S ) )
7 frn 5540 . . . . 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 4881 . . . 4  |-  ( (
ZZ>= `  C )  X.  S )  C_  ( _V  X.  _V )
108, 9sstrdi 3260 . . 3  |-  ( ph  ->  ran  R  C_  ( _V  X.  _V ) )
11 df-rel 4779 . . 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 10824 . . . . . . . . 9  |-  ( ph  ->  G : om -1-1-onto-> ( ZZ>= `  C )
)
15 f1ocnvdm 5980 . . . . . . . . 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 5837 . . . . . . . 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 6393 . . . . . . 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 5531 . . . . . . . . . 10  |-  ( R : om --> ( (
ZZ>= `  C )  X.  S )  ->  R  Fn  om )
22 fvelrnb 5747 . . . . . . . . . 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 5837 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  e.  ( ( ZZ>= `  C )  X.  S ) )
25 1st2nd2 6402 . . . . . . . . . . . . . . . . . . 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 481 . . . . . . . . . . . . . . . . . . . 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 10834 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( 1st `  ( R `  w
) )  =  ( G `  w ) )
3332opeq1d 3908 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  w  e.  om )  ->  <. ( 1st `  ( R `  w
) ) ,  ( 2nd `  ( R `
 w ) )
>.  =  <. ( G `
 w ) ,  ( 2nd `  ( R `  w )
) >. )
3426, 33eqtrd 2271 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  =  <. ( G `  w ) ,  ( 2nd `  ( R `  w )
) >. )
3534eqeq1d 2247 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>. 
<-> 
<. ( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >. )
)
36 vex 2824 . . . . . . . . . . . . . . . . . 18  |-  v  e. 
_V
37 vex 2824 . . . . . . . . . . . . . . . . . 18  |-  z  e. 
_V
3836, 37opth2 4378 . . . . . . . . . . . . . . . . 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 5978 . . . . . . . . . . . . . . . 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 5693 . . . . . . . . . . . . . . 15  |-  ( ( `' G `  v )  =  w  ->  ( R `  ( `' G `  v )
)  =  ( R `
 w ) )
4544fveq2d 5697 . . . . . . . . . . . . . 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 6376 . . . . . . . . . . . . 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 2272 . . . . . . . . . . 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 2668 . . . . . . . . 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 1927 . . . . . . 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 2248 . . . . . . . . 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 1877 . . . . . . 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 2913 . . . . . 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 1581 . . . . . 6  |-  F/ w <. v ,  z >.  e.  ran  R
6261mo2r 2139 . . . . 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 10836 . . . . . 6  |-  ( ph  ->  dom  ran  R  =  ( ZZ>= `  C )
)
6564eleq2d 2308 . . . . 5  |-  ( ph  ->  ( v  e.  dom  ran 
R  <->  v  e.  (
ZZ>= `  C ) ) )
6665pm5.32i 458 . . . 4  |-  ( (
ph  /\  v  e.  dom  ran  R )  <->  ( ph  /\  v  e.  ( ZZ>= `  C ) ) )
67 df-br 4129 . . . . 5  |-  ( v ran  R  z  <->  <. v ,  z >.  e.  ran  R )
6867mobii 2123 . . . 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 2623 . 2  |-  ( ph  ->  A. v  e.  dom  ran 
R E* z  v ran  R  z )
71 dffun7 5402 . 2  |-  ( Fun 
ran  R  <->  ( Rel  ran  R  /\  A. v  e. 
dom  ran  R E* z 
v ran  R  z
) )
7212, 70, 71sylanbrc 421 1  |-  ( ph  ->  Fun  ran  R )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105   A.wal 1400    = wceq 1402   E.wex 1545   E*wmo 2087    e. wcel 2209   A.wral 2528   E.wrex 2529   _Vcvv 2821    C_ wss 3220   <.cop 3711   class class class wbr 4128    |-> cmpt 4190   omcom 4735    X. cxp 4770   `'ccnv 4771   dom cdm 4772   ran crn 4773   Rel wrel 4777   Fun wfun 5369    Fn wfn 5370   -->wf 5371   -1-1-onto->wf1o 5374   ` cfv 5375  (class class class)co 6078    e. cmpo 6080   1stc1st 6365   2ndc2nd 6366  freccfrec 6654   1c1 8173    + caddc 8175   ZZcz 9626   ZZ>=cuz 9903
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 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4244  ax-sep 4247  ax-nul 4257  ax-pow 4309  ax-pr 4344  ax-un 4576  ax-setind 4682  ax-iinf 4733  ax-cnex 8263  ax-resscn 8264  ax-1cn 8265  ax-1re 8266  ax-icn 8267  ax-addcl 8268  ax-addrcl 8269  ax-mulcl 8270  ax-addcom 8272  ax-addass 8274  ax-distr 8276  ax-i2m1 8277  ax-0lt1 8278  ax-0id 8280  ax-rnegex 8281  ax-cnre 8283  ax-pre-ltirr 8284  ax-pre-ltwlin 8285  ax-pre-lttrn 8286  ax-pre-ltadd 8288
This theorem depends on definitions:  df-bi 117  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-pw 3690  df-sn 3714  df-pr 3715  df-op 3717  df-uni 3934  df-int 3969  df-iun 4012  df-br 4129  df-opab 4191  df-mpt 4192  df-tr 4228  df-id 4436  df-iord 4509  df-on 4511  df-ilim 4512  df-suc 4514  df-iom 4736  df-xp 4778  df-rel 4779  df-cnv 4780  df-co 4781  df-dm 4782  df-rn 4783  df-res 4784  df-ima 4785  df-iota 5335  df-fun 5377  df-fn 5378  df-f 5379  df-f1 5380  df-fo 5381  df-f1o 5382  df-fv 5383  df-riota 6031  df-ov 6081  df-oprab 6082  df-mpo 6083  df-1st 6367  df-2nd 6368  df-recs 6569  df-frec 6655  df-pnf 8355  df-mnf 8356  df-xr 8357  df-ltxr 8358  df-le 8359  df-sub 8492  df-neg 8493  df-inn 9287  df-n0 9546  df-z 9627  df-uz 9904
This theorem is referenced by:  frecuzrdgfun  10838
  Copyright terms: Public domain W3C validator