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

Theorem frecuzrdgfunlem 10528
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 10524 . . . . 5  |-  ( ph  ->  R : om --> ( (
ZZ>= `  C )  X.  S ) )
7 frn 5419 . . . . 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 4772 . . . 4  |-  ( (
ZZ>= `  C )  X.  S )  C_  ( _V  X.  _V )
108, 9sstrdi 3196 . . 3  |-  ( ph  ->  ran  R  C_  ( _V  X.  _V ) )
11 df-rel 4671 . . 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 10515 . . . . . . . . 9  |-  ( ph  ->  G : om -1-1-onto-> ( ZZ>= `  C )
)
15 f1ocnvdm 5831 . . . . . . . . 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 5700 . . . . . . . 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 6233 . . . . . . 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 5410 . . . . . . . . . 10  |-  ( R : om --> ( (
ZZ>= `  C )  X.  S )  ->  R  Fn  om )
22 fvelrnb 5611 . . . . . . . . . 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 5700 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( R `  w )  e.  ( ( ZZ>= `  C )  X.  S ) )
25 1st2nd2 6242 . . . . . . . . . . . . . . . . . . 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 10525 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  w  e.  om )  ->  ( 1st `  ( R `  w
) )  =  ( G `  w ) )
3332opeq1d 3815 . . . . . . . . . . . . . . . . . 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 4274 . . . . . . . . . . . . . . . . 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 5829 . . . . . . . . . . . . . . . 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 5561 . . . . . . . . . . . . . . 15  |-  ( ( `' G `  v )  =  w  ->  ( R `  ( `' G `  v )
)  =  ( R `
 w ) )
4544fveq2d 5565 . . . . . . . . . . . . . 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 6216 . . . . . . . . . . . . 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 10527 . . . . . 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 4035 . . . . 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 5286 . 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 3626   class class class wbr 4034    |-> cmpt 4095   omcom 4627    X. cxp 4662   `'ccnv 4663   dom cdm 4664   ran crn 4665   Rel wrel 4669   Fun wfun 5253    Fn wfn 5254   -->wf 5255   -1-1-onto->wf1o 5258   ` cfv 5259  (class class class)co 5925    e. cmpo 5927   1stc1st 6205   2ndc2nd 6206  freccfrec 6457   1c1 7897    + caddc 7899   ZZcz 9343   ZZ>=cuz 9618
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 4149  ax-sep 4152  ax-nul 4160  ax-pow 4208  ax-pr 4243  ax-un 4469  ax-setind 4574  ax-iinf 4625  ax-cnex 7987  ax-resscn 7988  ax-1cn 7989  ax-1re 7990  ax-icn 7991  ax-addcl 7992  ax-addrcl 7993  ax-mulcl 7994  ax-addcom 7996  ax-addass 7998  ax-distr 8000  ax-i2m1 8001  ax-0lt1 8002  ax-0id 8004  ax-rnegex 8005  ax-cnre 8007  ax-pre-ltirr 8008  ax-pre-ltwlin 8009  ax-pre-lttrn 8010  ax-pre-ltadd 8012
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 3452  df-pw 3608  df-sn 3629  df-pr 3630  df-op 3632  df-uni 3841  df-int 3876  df-iun 3919  df-br 4035  df-opab 4096  df-mpt 4097  df-tr 4133  df-id 4329  df-iord 4402  df-on 4404  df-ilim 4405  df-suc 4407  df-iom 4628  df-xp 4670  df-rel 4671  df-cnv 4672  df-co 4673  df-dm 4674  df-rn 4675  df-res 4676  df-ima 4677  df-iota 5220  df-fun 5261  df-fn 5262  df-f 5263  df-f1 5264  df-fo 5265  df-f1o 5266  df-fv 5267  df-riota 5880  df-ov 5928  df-oprab 5929  df-mpo 5930  df-1st 6207  df-2nd 6208  df-recs 6372  df-frec 6458  df-pnf 8080  df-mnf 8081  df-xr 8082  df-ltxr 8083  df-le 8084  df-sub 8216  df-neg 8217  df-inn 9008  df-n0 9267  df-z 9344  df-uz 9619
This theorem is referenced by:  frecuzrdgfun  10529
  Copyright terms: Public domain W3C validator