ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  frecuzrdgfn Structured version   GIF version

Theorem frecuzrdgfn 8859
Description: The recursive definition generator on upper integers is a function. See comment in frec2uz0d 8846 for the description of 𝐺 as the mapping from 𝜔 to (ℤ𝐶). (Contributed by Jim Kingdon, 26-May-2020.)
Hypotheses
Ref Expression
frec2uz.1 (φ𝐶 ℤ)
frec2uz.2 𝐺 = frec((x ℤ ↦ (x + 1)), 𝐶)
uzrdg.s (φ𝑆 𝑉)
uzrdg.a (φA 𝑆)
uzrdg.f ((φ (x (ℤ𝐶) y 𝑆)) → (x𝐹y) 𝑆)
uzrdg.2 𝑅 = frec((x (ℤ𝐶), y 𝑆 ↦ ⟨(x + 1), (x𝐹y)⟩), ⟨𝐶, A⟩)
frecuzrdgfn.3 (φ𝑇 = ran 𝑅)
Assertion
Ref Expression
frecuzrdgfn (φ𝑇 Fn (ℤ𝐶))
Distinct variable groups:   y,A   x,𝐶,y   y,𝐺   x,𝐹,y   x,𝑆,y   φ,x,y
Allowed substitution hints:   A(x)   𝑅(x,y)   𝑇(x,y)   𝐺(x)   𝑉(x,y)

Proof of Theorem frecuzrdgfn
Dummy variables w z v are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 frecuzrdgfn.3 . . . . . . . . 9 (φ𝑇 = ran 𝑅)
21eleq2d 2104 . . . . . . . 8 (φ → (z 𝑇z ran 𝑅))
3 frec2uz.1 . . . . . . . . . 10 (φ𝐶 ℤ)
4 frec2uz.2 . . . . . . . . . 10 𝐺 = frec((x ℤ ↦ (x + 1)), 𝐶)
5 uzrdg.s . . . . . . . . . 10 (φ𝑆 𝑉)
6 uzrdg.a . . . . . . . . . 10 (φA 𝑆)
7 uzrdg.f . . . . . . . . . 10 ((φ (x (ℤ𝐶) y 𝑆)) → (x𝐹y) 𝑆)
8 uzrdg.2 . . . . . . . . . 10 𝑅 = frec((x (ℤ𝐶), y 𝑆 ↦ ⟨(x + 1), (x𝐹y)⟩), ⟨𝐶, A⟩)
93, 4, 5, 6, 7, 8frecuzrdgrom 8857 . . . . . . . . 9 (φ𝑅 Fn 𝜔)
10 fvelrnb 5164 . . . . . . . . 9 (𝑅 Fn 𝜔 → (z ran 𝑅w 𝜔 (𝑅w) = z))
119, 10syl 14 . . . . . . . 8 (φ → (z ran 𝑅w 𝜔 (𝑅w) = z))
122, 11bitrd 177 . . . . . . 7 (φ → (z 𝑇w 𝜔 (𝑅w) = z))
133, 4, 5, 6, 7, 8frecuzrdgrrn 8855 . . . . . . . . 9 ((φ w 𝜔) → (𝑅w) ((ℤ𝐶) × 𝑆))
14 eleq1 2097 . . . . . . . . 9 ((𝑅w) = z → ((𝑅w) ((ℤ𝐶) × 𝑆) ↔ z ((ℤ𝐶) × 𝑆)))
1513, 14syl5ibcom 144 . . . . . . . 8 ((φ w 𝜔) → ((𝑅w) = zz ((ℤ𝐶) × 𝑆)))
1615rexlimdva 2427 . . . . . . 7 (φ → (w 𝜔 (𝑅w) = zz ((ℤ𝐶) × 𝑆)))
1712, 16sylbid 139 . . . . . 6 (φ → (z 𝑇z ((ℤ𝐶) × 𝑆)))
1817ssrdv 2945 . . . . 5 (φ𝑇 ⊆ ((ℤ𝐶) × 𝑆))
19 xpss 4389 . . . . 5 ((ℤ𝐶) × 𝑆) ⊆ (V × V)
2018, 19syl6ss 2951 . . . 4 (φ𝑇 ⊆ (V × V))
21 df-rel 4295 . . . 4 (Rel 𝑇𝑇 ⊆ (V × V))
2220, 21sylibr 137 . . 3 (φ → Rel 𝑇)
233, 4frec2uzf1od 8853 . . . . . . . . . 10 (φ𝐺:𝜔–1-1-onto→(ℤ𝐶))
24 f1ocnvdm 5364 . . . . . . . . . 10 ((𝐺:𝜔–1-1-onto→(ℤ𝐶) v (ℤ𝐶)) → (𝐺v) 𝜔)
2523, 24sylan 267 . . . . . . . . 9 ((φ v (ℤ𝐶)) → (𝐺v) 𝜔)
263, 4, 5, 6, 7, 8frecuzrdgrrn 8855 . . . . . . . . 9 ((φ (𝐺v) 𝜔) → (𝑅‘(𝐺v)) ((ℤ𝐶) × 𝑆))
2725, 26syldan 266 . . . . . . . 8 ((φ v (ℤ𝐶)) → (𝑅‘(𝐺v)) ((ℤ𝐶) × 𝑆))
28 xp2nd 5735 . . . . . . . 8 ((𝑅‘(𝐺v)) ((ℤ𝐶) × 𝑆) → (2nd ‘(𝑅‘(𝐺v))) 𝑆)
2927, 28syl 14 . . . . . . 7 ((φ v (ℤ𝐶)) → (2nd ‘(𝑅‘(𝐺v))) 𝑆)
301eleq2d 2104 . . . . . . . . . . 11 (φ → (⟨v, z 𝑇 ↔ ⟨v, z ran 𝑅))
31 fvelrnb 5164 . . . . . . . . . . . 12 (𝑅 Fn 𝜔 → (⟨v, z ran 𝑅w 𝜔 (𝑅w) = ⟨v, z⟩))
329, 31syl 14 . . . . . . . . . . 11 (φ → (⟨v, z ran 𝑅w 𝜔 (𝑅w) = ⟨v, z⟩))
3330, 32bitrd 177 . . . . . . . . . 10 (φ → (⟨v, z 𝑇w 𝜔 (𝑅w) = ⟨v, z⟩))
343adantr 261 . . . . . . . . . . . . . . . . . . 19 ((φ w 𝜔) → 𝐶 ℤ)
355adantr 261 . . . . . . . . . . . . . . . . . . 19 ((φ w 𝜔) → 𝑆 𝑉)
366adantr 261 . . . . . . . . . . . . . . . . . . 19 ((φ w 𝜔) → A 𝑆)
377adantlr 446 . . . . . . . . . . . . . . . . . . 19 (((φ w 𝜔) (x (ℤ𝐶) y 𝑆)) → (x𝐹y) 𝑆)
38 simpr 103 . . . . . . . . . . . . . . . . . . 19 ((φ w 𝜔) → w 𝜔)
3934, 4, 35, 36, 37, 8, 38frec2uzrdg 8856 . . . . . . . . . . . . . . . . . 18 ((φ w 𝜔) → (𝑅w) = ⟨(𝐺w), (2nd ‘(𝑅w))⟩)
4039eqeq1d 2045 . . . . . . . . . . . . . . . . 17 ((φ w 𝜔) → ((𝑅w) = ⟨v, z⟩ ↔ ⟨(𝐺w), (2nd ‘(𝑅w))⟩ = ⟨v, z⟩))
41 vex 2554 . . . . . . . . . . . . . . . . . . 19 v V
42 vex 2554 . . . . . . . . . . . . . . . . . . 19 z V
4341, 42opth2 3968 . . . . . . . . . . . . . . . . . 18 (⟨(𝐺w), (2nd ‘(𝑅w))⟩ = ⟨v, z⟩ ↔ ((𝐺w) = v (2nd ‘(𝑅w)) = z))
4443simplbi 259 . . . . . . . . . . . . . . . . 17 (⟨(𝐺w), (2nd ‘(𝑅w))⟩ = ⟨v, z⟩ → (𝐺w) = v)
4540, 44syl6bi 152 . . . . . . . . . . . . . . . 16 ((φ w 𝜔) → ((𝑅w) = ⟨v, z⟩ → (𝐺w) = v))
46 f1ocnvfv 5362 . . . . . . . . . . . . . . . . 17 ((𝐺:𝜔–1-1-onto→(ℤ𝐶) w 𝜔) → ((𝐺w) = v → (𝐺v) = w))
4723, 46sylan 267 . . . . . . . . . . . . . . . 16 ((φ w 𝜔) → ((𝐺w) = v → (𝐺v) = w))
4845, 47syld 40 . . . . . . . . . . . . . . 15 ((φ w 𝜔) → ((𝑅w) = ⟨v, z⟩ → (𝐺v) = w))
49 fveq2 5121 . . . . . . . . . . . . . . . 16 ((𝐺v) = w → (𝑅‘(𝐺v)) = (𝑅w))
5049fveq2d 5125 . . . . . . . . . . . . . . 15 ((𝐺v) = w → (2nd ‘(𝑅‘(𝐺v))) = (2nd ‘(𝑅w)))
5148, 50syl6 29 . . . . . . . . . . . . . 14 ((φ w 𝜔) → ((𝑅w) = ⟨v, z⟩ → (2nd ‘(𝑅‘(𝐺v))) = (2nd ‘(𝑅w))))
5251imp 115 . . . . . . . . . . . . 13 (((φ w 𝜔) (𝑅w) = ⟨v, z⟩) → (2nd ‘(𝑅‘(𝐺v))) = (2nd ‘(𝑅w)))
5341, 42op2ndd 5718 . . . . . . . . . . . . . 14 ((𝑅w) = ⟨v, z⟩ → (2nd ‘(𝑅w)) = z)
5453adantl 262 . . . . . . . . . . . . 13 (((φ w 𝜔) (𝑅w) = ⟨v, z⟩) → (2nd ‘(𝑅w)) = z)
5552, 54eqtr2d 2070 . . . . . . . . . . . 12 (((φ w 𝜔) (𝑅w) = ⟨v, z⟩) → z = (2nd ‘(𝑅‘(𝐺v))))
5655ex 108 . . . . . . . . . . 11 ((φ w 𝜔) → ((𝑅w) = ⟨v, z⟩ → z = (2nd ‘(𝑅‘(𝐺v)))))
5756rexlimdva 2427 . . . . . . . . . 10 (φ → (w 𝜔 (𝑅w) = ⟨v, z⟩ → z = (2nd ‘(𝑅‘(𝐺v)))))
5833, 57sylbid 139 . . . . . . . . 9 (φ → (⟨v, z 𝑇z = (2nd ‘(𝑅‘(𝐺v)))))
5958alrimiv 1751 . . . . . . . 8 (φz(⟨v, z 𝑇z = (2nd ‘(𝑅‘(𝐺v)))))
6059adantr 261 . . . . . . 7 ((φ v (ℤ𝐶)) → z(⟨v, z 𝑇z = (2nd ‘(𝑅‘(𝐺v)))))
61 eqeq2 2046 . . . . . . . . . 10 (w = (2nd ‘(𝑅‘(𝐺v))) → (z = wz = (2nd ‘(𝑅‘(𝐺v)))))
6261imbi2d 219 . . . . . . . . 9 (w = (2nd ‘(𝑅‘(𝐺v))) → ((⟨v, z 𝑇z = w) ↔ (⟨v, z 𝑇z = (2nd ‘(𝑅‘(𝐺v))))))
6362albidv 1702 . . . . . . . 8 (w = (2nd ‘(𝑅‘(𝐺v))) → (z(⟨v, z 𝑇z = w) ↔ z(⟨v, z 𝑇z = (2nd ‘(𝑅‘(𝐺v))))))
6463spcegv 2635 . . . . . . 7 ((2nd ‘(𝑅‘(𝐺v))) 𝑆 → (z(⟨v, z 𝑇z = (2nd ‘(𝑅‘(𝐺v)))) → wz(⟨v, z 𝑇z = w)))
6529, 60, 64sylc 56 . . . . . 6 ((φ v (ℤ𝐶)) → wz(⟨v, z 𝑇z = w))
66 nfv 1418 . . . . . . 7 wv, z 𝑇
6766mo2r 1949 . . . . . 6 (wz(⟨v, z 𝑇z = w) → ∃*zv, z 𝑇)
6865, 67syl 14 . . . . 5 ((φ v (ℤ𝐶)) → ∃*zv, z 𝑇)
69 dmss 4477 . . . . . . . . . 10 (𝑇 ⊆ ((ℤ𝐶) × 𝑆) → dom 𝑇 ⊆ dom ((ℤ𝐶) × 𝑆))
7018, 69syl 14 . . . . . . . . 9 (φ → dom 𝑇 ⊆ dom ((ℤ𝐶) × 𝑆))
71 dmxpss 4696 . . . . . . . . 9 dom ((ℤ𝐶) × 𝑆) ⊆ (ℤ𝐶)
7270, 71syl6ss 2951 . . . . . . . 8 (φ → dom 𝑇 ⊆ (ℤ𝐶))
733adantr 261 . . . . . . . . . . . . 13 ((φ v (ℤ𝐶)) → 𝐶 ℤ)
745adantr 261 . . . . . . . . . . . . 13 ((φ v (ℤ𝐶)) → 𝑆 𝑉)
756adantr 261 . . . . . . . . . . . . 13 ((φ v (ℤ𝐶)) → A 𝑆)
767adantlr 446 . . . . . . . . . . . . 13 (((φ v (ℤ𝐶)) (x (ℤ𝐶) y 𝑆)) → (x𝐹y) 𝑆)
77 simpr 103 . . . . . . . . . . . . 13 ((φ v (ℤ𝐶)) → v (ℤ𝐶))
7873, 4, 74, 75, 76, 8, 77frecuzrdglem 8858 . . . . . . . . . . . 12 ((φ v (ℤ𝐶)) → ⟨v, (2nd ‘(𝑅‘(𝐺v)))⟩ ran 𝑅)
791eleq2d 2104 . . . . . . . . . . . . 13 (φ → (⟨v, (2nd ‘(𝑅‘(𝐺v)))⟩ 𝑇 ↔ ⟨v, (2nd ‘(𝑅‘(𝐺v)))⟩ ran 𝑅))
8079adantr 261 . . . . . . . . . . . 12 ((φ v (ℤ𝐶)) → (⟨v, (2nd ‘(𝑅‘(𝐺v)))⟩ 𝑇 ↔ ⟨v, (2nd ‘(𝑅‘(𝐺v)))⟩ ran 𝑅))
8178, 80mpbird 156 . . . . . . . . . . 11 ((φ v (ℤ𝐶)) → ⟨v, (2nd ‘(𝑅‘(𝐺v)))⟩ 𝑇)
82 opeldmg 4483 . . . . . . . . . . . 12 ((v V (2nd ‘(𝑅‘(𝐺v))) 𝑆) → (⟨v, (2nd ‘(𝑅‘(𝐺v)))⟩ 𝑇v dom 𝑇))
8341, 82mpan 400 . . . . . . . . . . 11 ((2nd ‘(𝑅‘(𝐺v))) 𝑆 → (⟨v, (2nd ‘(𝑅‘(𝐺v)))⟩ 𝑇v dom 𝑇))
8429, 81, 83sylc 56 . . . . . . . . . 10 ((φ v (ℤ𝐶)) → v dom 𝑇)
8584ex 108 . . . . . . . . 9 (φ → (v (ℤ𝐶) → v dom 𝑇))
8685ssrdv 2945 . . . . . . . 8 (φ → (ℤ𝐶) ⊆ dom 𝑇)
8772, 86eqssd 2956 . . . . . . 7 (φ → dom 𝑇 = (ℤ𝐶))
8887eleq2d 2104 . . . . . 6 (φ → (v dom 𝑇v (ℤ𝐶)))
8988pm5.32i 427 . . . . 5 ((φ v dom 𝑇) ↔ (φ v (ℤ𝐶)))
90 df-br 3756 . . . . . 6 (v𝑇z ↔ ⟨v, z 𝑇)
9190mobii 1934 . . . . 5 (∃*z v𝑇z∃*zv, z 𝑇)
9268, 89, 913imtr4i 190 . . . 4 ((φ v dom 𝑇) → ∃*z v𝑇z)
9392ralrimiva 2386 . . 3 (φv dom 𝑇∃*z v𝑇z)
94 dffun7 4871 . . 3 (Fun 𝑇 ↔ (Rel 𝑇 v dom 𝑇∃*z v𝑇z))
9522, 93, 94sylanbrc 394 . 2 (φ → Fun 𝑇)
96 df-fn 4848 . 2 (𝑇 Fn (ℤ𝐶) ↔ (Fun 𝑇 dom 𝑇 = (ℤ𝐶)))
9795, 87, 96sylanbrc 394 1 (φ𝑇 Fn (ℤ𝐶))
Colors of variables: wff set class
Syntax hints:  wi 4   wa 97  wb 98  wal 1240   = wceq 1242  wex 1378   wcel 1390  ∃*wmo 1898  wral 2300  wrex 2301  Vcvv 2551  wss 2911  cop 3370   class class class wbr 3755  cmpt 3809  𝜔com 4256   × cxp 4286  ccnv 4287  dom cdm 4288  ran crn 4289  Rel wrel 4293  Fun wfun 4839   Fn wfn 4840  1-1-ontowf1o 4844  cfv 4845  (class class class)co 5455  cmpt2 5457  2nd c2nd 5708  freccfrec 5917  1c1 6692   + caddc 6694  cz 8001  cuz 8229
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 99  ax-ia2 100  ax-ia3 101  ax-in1 544  ax-in2 545  ax-io 629  ax-5 1333  ax-7 1334  ax-gen 1335  ax-ie1 1379  ax-ie2 1380  ax-8 1392  ax-10 1393  ax-11 1394  ax-i12 1395  ax-bnd 1396  ax-4 1397  ax-13 1401  ax-14 1402  ax-17 1416  ax-i9 1420  ax-ial 1424  ax-i5r 1425  ax-ext 2019  ax-coll 3863  ax-sep 3866  ax-nul 3874  ax-pow 3918  ax-pr 3935  ax-un 4136  ax-setind 4220  ax-iinf 4254  ax-cnex 6754  ax-resscn 6755  ax-1cn 6756  ax-1re 6757  ax-icn 6758  ax-addcl 6759  ax-addrcl 6760  ax-mulcl 6761  ax-addcom 6763  ax-addass 6765  ax-distr 6767  ax-i2m1 6768  ax-0id 6771  ax-rnegex 6772  ax-cnre 6774  ax-pre-ltirr 6775  ax-pre-ltwlin 6776  ax-pre-lttrn 6777  ax-pre-ltadd 6779
This theorem depends on definitions:  df-bi 110  df-dc 742  df-3or 885  df-3an 886  df-tru 1245  df-fal 1248  df-nf 1347  df-sb 1643  df-eu 1900  df-mo 1901  df-clab 2024  df-cleq 2030  df-clel 2033  df-nfc 2164  df-ne 2203  df-nel 2204  df-ral 2305  df-rex 2306  df-reu 2307  df-rab 2309  df-v 2553  df-sbc 2759  df-csb 2847  df-dif 2914  df-un 2916  df-in 2918  df-ss 2925  df-nul 3219  df-pw 3353  df-sn 3373  df-pr 3374  df-op 3376  df-uni 3572  df-int 3607  df-iun 3650  df-br 3756  df-opab 3810  df-mpt 3811  df-tr 3846  df-eprel 4017  df-id 4021  df-po 4024  df-iso 4025  df-iord 4069  df-on 4071  df-suc 4074  df-iom 4257  df-xp 4294  df-rel 4295  df-cnv 4296  df-co 4297  df-dm 4298  df-rn 4299  df-res 4300  df-ima 4301  df-iota 4810  df-fun 4847  df-fn 4848  df-f 4849  df-f1 4850  df-fo 4851  df-f1o 4852  df-fv 4853  df-riota 5411  df-ov 5458  df-oprab 5459  df-mpt2 5460  df-1st 5709  df-2nd 5710  df-recs 5861  df-irdg 5897  df-frec 5918  df-1o 5940  df-2o 5941  df-oadd 5944  df-omul 5945  df-er 6042  df-ec 6044  df-qs 6048  df-ni 6288  df-pli 6289  df-mi 6290  df-lti 6291  df-plpq 6328  df-mpq 6329  df-enq 6331  df-nqqs 6332  df-plqqs 6333  df-mqqs 6334  df-1nqqs 6335  df-rq 6336  df-ltnqqs 6337  df-enq0 6406  df-nq0 6407  df-0nq0 6408  df-plq0 6409  df-mq0 6410  df-inp 6448  df-i1p 6449  df-iplp 6450  df-iltp 6452  df-enr 6634  df-nr 6635  df-ltr 6638  df-0r 6639  df-1r 6640  df-0 6698  df-1 6699  df-r 6701  df-lt 6704  df-pnf 6839  df-mnf 6840  df-xr 6841  df-ltxr 6842  df-le 6843  df-sub 6961  df-neg 6962  df-inn 7676  df-n0 7938  df-z 8002  df-uz 8230
This theorem is referenced by:  frecuzrdgcl  8860  frecuzrdg0  8861  frecuzrdgsuc  8862  iseqfn  8881
  Copyright terms: Public domain W3C validator