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

Theorem frecuzrdgfunlem 10147
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 10143 . . . . 5  |-  ( ph  ->  R : om --> ( (
ZZ>= `  C )  X.  S ) )
7 frn 5251 . . . . 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 4617 . . . 4  |-  ( (
ZZ>= `  C )  X.  S )  C_  ( _V  X.  _V )
108, 9sstrdi 3079 . . 3  |-  ( ph  ->  ran  R  C_  ( _V  X.  _V ) )
11 df-rel 4516 . . 3  |-  ( Rel 
ran  R  <->  ran  R  C_  ( _V  X.  _V ) )
1210, 11sylibr 133 . 2  |-  ( ph  ->  Rel  ran  R )
13 frecuzrdgfunlem.g . . . . . . . . . 10  |-  G  = frec ( ( x  e.  ZZ  |->  ( x  + 
1 ) ) ,  C )
141, 13frec2uzf1od 10134 . . . . . . . . 9  |-  ( ph  ->  G : om -1-1-onto-> ( ZZ>= `  C )
)
15 f1ocnvdm 5650 . . . . . . . . 9  |-  ( ( G : om -1-1-onto-> ( ZZ>= `  C )  /\  v  e.  ( ZZ>=
`  C ) )  ->  ( `' G `  v )  e.  om )
1614, 15sylan 281 . . . . . . . 8  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  ( `' G `  v )  e.  om )
176ffvelrnda 5523 . . . . . . . 8  |-  ( (
ph  /\  ( `' G `  v )  e.  om )  ->  ( R `  ( `' G `  v )
)  e.  ( (
ZZ>= `  C )  X.  S ) )
1816, 17syldan 280 . . . . . . 7  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  ( R `  ( `' G `  v ) )  e.  ( ( ZZ>= `  C
)  X.  S ) )
19 xp2nd 6032 . . . . . . 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 5242 . . . . . . . . . 10  |-  ( R : om --> ( (
ZZ>= `  C )  X.  S )  ->  R  Fn  om )
22 fvelrnb 5437 . . . . . . . . . 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 5523 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  e.  ( ( ZZ>= `  C )  X.  S ) )
25 1st2nd2 6041 . . . . . . . . . . . . . . . . . . 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 274 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  C  e.  ZZ )
282adantr 274 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  A  e.  S )
293adantr 274 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  S  C_  T
)
304adantlr 468 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  w  e.  om )  /\  (
x  e.  ( ZZ>= `  C )  /\  y  e.  S ) )  -> 
( x F y )  e.  S )
31 simpr 109 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  om )  ->  w  e.  om )
3227, 28, 29, 30, 5, 31, 13frecuzrdgg 10144 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( 1st `  ( R `  w
) )  =  ( G `  w ) )
3332opeq1d 3681 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  w  e.  om )  ->  <. ( 1st `  ( R `  w
) ) ,  ( 2nd `  ( R `
 w ) )
>.  =  <. ( G `
 w ) ,  ( 2nd `  ( R `  w )
) >. )
3426, 33eqtrd 2150 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  =  <. ( G `  w ) ,  ( 2nd `  ( R `  w )
) >. )
3534eqeq1d 2126 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>. 
<-> 
<. ( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >. )
)
36 vex 2663 . . . . . . . . . . . . . . . . . 18  |-  v  e. 
_V
37 vex 2663 . . . . . . . . . . . . . . . . . 18  |-  z  e. 
_V
3836, 37opth2 4132 . . . . . . . . . . . . . . . . 17  |-  ( <.
( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >.  <->  ( ( G `  w )  =  v  /\  ( 2nd `  ( R `  w ) )  =  z ) )
3938simplbi 272 . . . . . . . . . . . . . . . 16  |-  ( <.
( G `  w
) ,  ( 2nd `  ( R `  w
) ) >.  =  <. v ,  z >.  ->  ( G `  w )  =  v )
4035, 39syl6bi 162 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>.  ->  ( G `  w )  =  v ) )
41 f1ocnvfv 5648 . . . . . . . . . . . . . . . 16  |-  ( ( G : om -1-1-onto-> ( ZZ>= `  C )  /\  w  e.  om )  ->  ( ( G `
 w )  =  v  ->  ( `' G `  v )  =  w ) )
4214, 41sylan 281 . . . . . . . . . . . . . . 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 5389 . . . . . . . . . . . . . . 15  |-  ( ( `' G `  v )  =  w  ->  ( R `  ( `' G `  v )
)  =  ( R `
 w ) )
4544fveq2d 5393 . . . . . . . . . . . . . 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 123 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  w  e.  om )  /\  ( R `  w )  =  <. v ,  z
>. )  ->  ( 2nd `  ( R `  ( `' G `  v ) ) )  =  ( 2nd `  ( R `
 w ) ) )
4836, 37op2ndd 6015 . . . . . . . . . . . . 13  |-  ( ( R `  w )  =  <. v ,  z
>.  ->  ( 2nd `  ( R `  w )
)  =  z )
4948adantl 275 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  w  e.  om )  /\  ( R `  w )  =  <. v ,  z
>. )  ->  ( 2nd `  ( R `  w
) )  =  z )
5047, 49eqtr2d 2151 . . . . . . . . . . 11  |-  ( ( ( ph  /\  w  e.  om )  /\  ( R `  w )  =  <. v ,  z
>. )  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) )
5150ex 114 . . . . . . . . . 10  |-  ( (
ph  /\  w  e.  om )  ->  ( ( R `  w )  =  <. v ,  z
>.  ->  z  =  ( 2nd `  ( R `
 ( `' G `  v ) ) ) ) )
5251rexlimdva 2526 . . . . . . . . 9  |-  ( ph  ->  ( E. w  e. 
om  ( R `  w )  =  <. v ,  z >.  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) ) )
5323, 52sylbid 149 . . . . . . . 8  |-  ( ph  ->  ( <. v ,  z
>.  e.  ran  R  -> 
z  =  ( 2nd `  ( R `  ( `' G `  v ) ) ) ) )
5453alrimiv 1830 . . . . . . 7  |-  ( ph  ->  A. z ( <.
v ,  z >.  e.  ran  R  ->  z  =  ( 2nd `  ( R `  ( `' G `  v )
) ) ) )
5554adantr 274 . . . . . 6  |-  ( (
ph  /\  v  e.  ( ZZ>= `  C )
)  ->  A. z
( <. v ,  z
>.  e.  ran  R  -> 
z  =  ( 2nd `  ( R `  ( `' G `  v ) ) ) ) )
56 eqeq2 2127 . . . . . . . . 9  |-  ( w  =  ( 2nd `  ( R `  ( `' G `  v )
) )  ->  (
z  =  w  <->  z  =  ( 2nd `  ( R `
 ( `' G `  v ) ) ) ) )
5756imbi2d 229 . . . . . . . 8  |-  ( w  =  ( 2nd `  ( R `  ( `' G `  v )
) )  ->  (
( <. v ,  z
>.  e.  ran  R  -> 
z  =  w )  <-> 
( <. v ,  z
>.  e.  ran  R  -> 
z  =  ( 2nd `  ( R `  ( `' G `  v ) ) ) ) ) )
5857albidv 1780 . . . . . . 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 2748 . . . . . 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 1493 . . . . . 6  |-  F/ w <. v ,  z >.  e.  ran  R
6261mo2r 2029 . . . . 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 10146 . . . . . 6  |-  ( ph  ->  dom  ran  R  =  ( ZZ>= `  C )
)
6564eleq2d 2187 . . . . 5  |-  ( ph  ->  ( v  e.  dom  ran 
R  <->  v  e.  (
ZZ>= `  C ) ) )
6665pm5.32i 449 . . . 4  |-  ( (
ph  /\  v  e.  dom  ran  R )  <->  ( ph  /\  v  e.  ( ZZ>= `  C ) ) )
67 df-br 3900 . . . . 5  |-  ( v ran  R  z  <->  <. v ,  z >.  e.  ran  R )
6867mobii 2014 . . . 4  |-  ( E* z  v ran  R  z 
<->  E* z <. v ,  z >.  e.  ran  R )
6963, 66, 683imtr4i 200 . . 3  |-  ( (
ph  /\  v  e.  dom  ran  R )  ->  E* z  v ran  R  z )
7069ralrimiva 2482 . 2  |-  ( ph  ->  A. v  e.  dom  ran 
R E* z  v ran  R  z )
71 dffun7 5120 . 2  |-  ( Fun 
ran  R  <->  ( Rel  ran  R  /\  A. v  e. 
dom  ran  R E* z 
v ran  R  z
) )
7212, 70, 71sylanbrc 413 1  |-  ( ph  ->  Fun  ran  R )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 103    <-> wb 104   A.wal 1314    = wceq 1316   E.wex 1453    e. wcel 1465   E*wmo 1978   A.wral 2393   E.wrex 2394   _Vcvv 2660    C_ wss 3041   <.cop 3500   class class class wbr 3899    |-> cmpt 3959   omcom 4474    X. cxp 4507   `'ccnv 4508   dom cdm 4509   ran crn 4510   Rel wrel 4514   Fun wfun 5087    Fn wfn 5088   -->wf 5089   -1-1-onto->wf1o 5092   ` cfv 5093  (class class class)co 5742    e. cmpo 5744   1stc1st 6004   2ndc2nd 6005  freccfrec 6255   1c1 7589    + caddc 7591   ZZcz 9012   ZZ>=cuz 9282
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 588  ax-in2 589  ax-io 683  ax-5 1408  ax-7 1409  ax-gen 1410  ax-ie1 1454  ax-ie2 1455  ax-8 1467  ax-10 1468  ax-11 1469  ax-i12 1470  ax-bndl 1471  ax-4 1472  ax-13 1476  ax-14 1477  ax-17 1491  ax-i9 1495  ax-ial 1499  ax-i5r 1500  ax-ext 2099  ax-coll 4013  ax-sep 4016  ax-nul 4024  ax-pow 4068  ax-pr 4101  ax-un 4325  ax-setind 4422  ax-iinf 4472  ax-cnex 7679  ax-resscn 7680  ax-1cn 7681  ax-1re 7682  ax-icn 7683  ax-addcl 7684  ax-addrcl 7685  ax-mulcl 7686  ax-addcom 7688  ax-addass 7690  ax-distr 7692  ax-i2m1 7693  ax-0lt1 7694  ax-0id 7696  ax-rnegex 7697  ax-cnre 7699  ax-pre-ltirr 7700  ax-pre-ltwlin 7701  ax-pre-lttrn 7702  ax-pre-ltadd 7704
This theorem depends on definitions:  df-bi 116  df-3or 948  df-3an 949  df-tru 1319  df-fal 1322  df-nf 1422  df-sb 1721  df-eu 1980  df-mo 1981  df-clab 2104  df-cleq 2110  df-clel 2113  df-nfc 2247  df-ne 2286  df-nel 2381  df-ral 2398  df-rex 2399  df-reu 2400  df-rab 2402  df-v 2662  df-sbc 2883  df-csb 2976  df-dif 3043  df-un 3045  df-in 3047  df-ss 3054  df-nul 3334  df-pw 3482  df-sn 3503  df-pr 3504  df-op 3506  df-uni 3707  df-int 3742  df-iun 3785  df-br 3900  df-opab 3960  df-mpt 3961  df-tr 3997  df-id 4185  df-iord 4258  df-on 4260  df-ilim 4261  df-suc 4263  df-iom 4475  df-xp 4515  df-rel 4516  df-cnv 4517  df-co 4518  df-dm 4519  df-rn 4520  df-res 4521  df-ima 4522  df-iota 5058  df-fun 5095  df-fn 5096  df-f 5097  df-f1 5098  df-fo 5099  df-f1o 5100  df-fv 5101  df-riota 5698  df-ov 5745  df-oprab 5746  df-mpo 5747  df-1st 6006  df-2nd 6007  df-recs 6170  df-frec 6256  df-pnf 7770  df-mnf 7771  df-xr 7772  df-ltxr 7773  df-le 7774  df-sub 7903  df-neg 7904  df-inn 8685  df-n0 8936  df-z 9013  df-uz 9283
This theorem is referenced by:  frecuzrdgfun  10148
  Copyright terms: Public domain W3C validator