NFE Home New Foundations Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  NFE Home  >  Th. List  >  fnfrec GIF version

Theorem fnfrec 6321
Description: The recursive function generator is a function over the finite cardinals. (Contributed by Scott Fenton, 31-Jul-2019.)
Hypotheses
Ref Expression
fnfrec.1 F = FRec (G, I)
fnfrec.2 (φG Funs )
fnfrec.3 (φI dom G)
fnfrec.4 (φ → ran G dom G)
Assertion
Ref Expression
fnfrec (φF Fn Nn )

Proof of Theorem fnfrec
Dummy variables x y z w t a b are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 breldm 4912 . . . . . . . . . 10 (xFyx dom F)
21adantl 452 . . . . . . . . 9 ((φ xFy) → x dom F)
3 fnfrec.1 . . . . . . . . . . 11 F = FRec (G, I)
4 fnfrec.2 . . . . . . . . . . 11 (φG Funs )
5 fnfrec.3 . . . . . . . . . . 11 (φI dom G)
6 fnfrec.4 . . . . . . . . . . 11 (φ → ran G dom G)
73, 4, 5, 6dmfrec 6317 . . . . . . . . . 10 (φ → dom F = Nn )
87adantr 451 . . . . . . . . 9 ((φ xFy) → dom F = Nn )
92, 8eleqtrd 2429 . . . . . . . 8 ((φ xFy) → x Nn )
109adantrr 697 . . . . . . 7 ((φ (xFy xFz)) → x Nn )
113frecexg 6313 . . . . . . . . . . . 12 (G FunsF V)
12 fnfreclem1 6318 . . . . . . . . . . . 12 (F V → {w yz((wFy wFz) → y = z)} V)
134, 11, 123syl 18 . . . . . . . . . . 11 (φ → {w yz((wFy wFz) → y = z)} V)
14 breq1 4643 . . . . . . . . . . . . . 14 (w = 0c → (wFy ↔ 0cFy))
15 breq1 4643 . . . . . . . . . . . . . 14 (w = 0c → (wFz ↔ 0cFz))
1614, 15anbi12d 691 . . . . . . . . . . . . 13 (w = 0c → ((wFy wFz) ↔ (0cFy 0cFz)))
1716imbi1d 308 . . . . . . . . . . . 12 (w = 0c → (((wFy wFz) → y = z) ↔ ((0cFy 0cFz) → y = z)))
18172albidv 1627 . . . . . . . . . . 11 (w = 0c → (yz((wFy wFz) → y = z) ↔ yz((0cFy 0cFz) → y = z)))
19 breq1 4643 . . . . . . . . . . . . . 14 (w = t → (wFytFy))
20 breq1 4643 . . . . . . . . . . . . . 14 (w = t → (wFztFz))
2119, 20anbi12d 691 . . . . . . . . . . . . 13 (w = t → ((wFy wFz) ↔ (tFy tFz)))
2221imbi1d 308 . . . . . . . . . . . 12 (w = t → (((wFy wFz) → y = z) ↔ ((tFy tFz) → y = z)))
23222albidv 1627 . . . . . . . . . . 11 (w = t → (yz((wFy wFz) → y = z) ↔ yz((tFy tFz) → y = z)))
24 breq1 4643 . . . . . . . . . . . . . . 15 (w = (t +c 1c) → (wFy ↔ (t +c 1c)Fy))
25 breq1 4643 . . . . . . . . . . . . . . 15 (w = (t +c 1c) → (wFz ↔ (t +c 1c)Fz))
2624, 25anbi12d 691 . . . . . . . . . . . . . 14 (w = (t +c 1c) → ((wFy wFz) ↔ ((t +c 1c)Fy (t +c 1c)Fz)))
2726imbi1d 308 . . . . . . . . . . . . 13 (w = (t +c 1c) → (((wFy wFz) → y = z) ↔ (((t +c 1c)Fy (t +c 1c)Fz) → y = z)))
28272albidv 1627 . . . . . . . . . . . 12 (w = (t +c 1c) → (yz((wFy wFz) → y = z) ↔ yz(((t +c 1c)Fy (t +c 1c)Fz) → y = z)))
29 breq2 4644 . . . . . . . . . . . . . . 15 (y = a → ((t +c 1c)Fy ↔ (t +c 1c)Fa))
30 breq2 4644 . . . . . . . . . . . . . . 15 (z = b → ((t +c 1c)Fz ↔ (t +c 1c)Fb))
3129, 30bi2anan9 843 . . . . . . . . . . . . . 14 ((y = a z = b) → (((t +c 1c)Fy (t +c 1c)Fz) ↔ ((t +c 1c)Fa (t +c 1c)Fb)))
32 eqeq12 2365 . . . . . . . . . . . . . 14 ((y = a z = b) → (y = za = b))
3331, 32imbi12d 311 . . . . . . . . . . . . 13 ((y = a z = b) → ((((t +c 1c)Fy (t +c 1c)Fz) → y = z) ↔ (((t +c 1c)Fa (t +c 1c)Fb) → a = b)))
3433cbval2v 2006 . . . . . . . . . . . 12 (yz(((t +c 1c)Fy (t +c 1c)Fz) → y = z) ↔ ab(((t +c 1c)Fa (t +c 1c)Fb) → a = b))
3528, 34syl6bb 252 . . . . . . . . . . 11 (w = (t +c 1c) → (yz((wFy wFz) → y = z) ↔ ab(((t +c 1c)Fa (t +c 1c)Fb) → a = b)))
36 breq1 4643 . . . . . . . . . . . . . 14 (w = x → (wFyxFy))
37 breq1 4643 . . . . . . . . . . . . . 14 (w = x → (wFzxFz))
3836, 37anbi12d 691 . . . . . . . . . . . . 13 (w = x → ((wFy wFz) ↔ (xFy xFz)))
3938imbi1d 308 . . . . . . . . . . . 12 (w = x → (((wFy wFz) → y = z) ↔ ((xFy xFz) → y = z)))
40392albidv 1627 . . . . . . . . . . 11 (w = x → (yz((wFy wFz) → y = z) ↔ yz((xFy xFz) → y = z)))
413, 4, 5, 6fnfreclem2 6319 . . . . . . . . . . . . . . . 16 (φ → (0cFyy = I))
4241imp 418 . . . . . . . . . . . . . . 15 ((φ 0cFy) → y = I)
4342adantrr 697 . . . . . . . . . . . . . 14 ((φ (0cFy 0cFz)) → y = I)
443, 4, 5, 6fnfreclem2 6319 . . . . . . . . . . . . . . . 16 (φ → (0cFzz = I))
4544imp 418 . . . . . . . . . . . . . . 15 ((φ 0cFz) → z = I)
4645adantrl 696 . . . . . . . . . . . . . 14 ((φ (0cFy 0cFz)) → z = I)
4743, 46eqtr4d 2388 . . . . . . . . . . . . 13 ((φ (0cFy 0cFz)) → y = z)
4847ex 423 . . . . . . . . . . . 12 (φ → ((0cFy 0cFz) → y = z))
4948alrimivv 1632 . . . . . . . . . . 11 (φyz((0cFy 0cFz) → y = z))
504ad2antrr 706 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fa) → G Funs )
515ad2antrr 706 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fa) → I dom G)
526ad2antrr 706 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fa) → ran G dom G)
53 simplr 731 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fa) → t Nn )
54 simpr 447 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fa) → (t +c 1c)Fa)
553, 50, 51, 52, 53, 54fnfreclem3 6320 . . . . . . . . . . . . . . . . . . 19 (((φ t Nn ) (t +c 1c)Fa) → y(tFy yGa))
5655adantlrr 701 . . . . . . . . . . . . . . . . . 18 (((φ (t Nn yz((tFy tFz) → y = z))) (t +c 1c)Fa) → y(tFy yGa))
5756ex 423 . . . . . . . . . . . . . . . . 17 ((φ (t Nn yz((tFy tFz) → y = z))) → ((t +c 1c)Fay(tFy yGa)))
584ad2antrr 706 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fb) → G Funs )
595ad2antrr 706 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fb) → I dom G)
606ad2antrr 706 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fb) → ran G dom G)
61 simplr 731 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fb) → t Nn )
62 simpr 447 . . . . . . . . . . . . . . . . . . . 20 (((φ t Nn ) (t +c 1c)Fb) → (t +c 1c)Fb)
633, 58, 59, 60, 61, 62fnfreclem3 6320 . . . . . . . . . . . . . . . . . . 19 (((φ t Nn ) (t +c 1c)Fb) → z(tFz zGb))
6463adantlrr 701 . . . . . . . . . . . . . . . . . 18 (((φ (t Nn yz((tFy tFz) → y = z))) (t +c 1c)Fb) → z(tFz zGb))
6564ex 423 . . . . . . . . . . . . . . . . 17 ((φ (t Nn yz((tFy tFz) → y = z))) → ((t +c 1c)Fbz(tFz zGb)))
6657, 65anim12d 546 . . . . . . . . . . . . . . . 16 ((φ (t Nn yz((tFy tFz) → y = z))) → (((t +c 1c)Fa (t +c 1c)Fb) → (y(tFy yGa) z(tFz zGb))))
67 eeanv 1913 . . . . . . . . . . . . . . . 16 (yz((tFy yGa) (tFz zGb)) ↔ (y(tFy yGa) z(tFz zGb)))
6866, 67syl6ibr 218 . . . . . . . . . . . . . . 15 ((φ (t Nn yz((tFy tFz) → y = z))) → (((t +c 1c)Fa (t +c 1c)Fb) → yz((tFy yGa) (tFz zGb))))
69 19.29 1596 . . . . . . . . . . . . . . . . . . 19 ((yz((tFy tFz) → y = z) yz((tFy yGa) (tFz zGb))) → y(z((tFy tFz) → y = z) z((tFy yGa) (tFz zGb))))
70 19.29 1596 . . . . . . . . . . . . . . . . . . . 20 ((z((tFy tFz) → y = z) z((tFy yGa) (tFz zGb))) → z(((tFy tFz) → y = z) ((tFy yGa) (tFz zGb))))
7170eximi 1576 . . . . . . . . . . . . . . . . . . 19 (y(z((tFy tFz) → y = z) z((tFy yGa) (tFz zGb))) → yz(((tFy tFz) → y = z) ((tFy yGa) (tFz zGb))))
7269, 71syl 15 . . . . . . . . . . . . . . . . . 18 ((yz((tFy tFz) → y = z) yz((tFy yGa) (tFz zGb))) → yz(((tFy tFz) → y = z) ((tFy yGa) (tFz zGb))))
73 pm3.35 570 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((tFy tFz) ((tFy tFz) → y = z)) → y = z)
74 breq1 4643 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (y = z → (yGazGa))
7574anbi1d 685 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (y = z → ((yGa zGb) ↔ (zGa zGb)))
7675biimpa 470 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((y = z (yGa zGb)) → (zGa zGb))
77 elfunsi 5832 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (G Funs → Fun G)
78 funbrfv 5357 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (Fun G → (zGa → (Gz) = a))
794, 77, 783syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (φ → (zGa → (Gz) = a))
80 funbrfv 5357 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (Fun G → (zGb → (Gz) = b))
814, 77, 803syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (φ → (zGb → (Gz) = b))
8279, 81anim12d 546 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (φ → ((zGa zGb) → ((Gz) = a (Gz) = b)))
83 eqtr2 2371 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((Gz) = a (Gz) = b) → a = b)
8476, 82, 83syl56 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (φ → ((y = z (yGa zGb)) → a = b))
8584exp3a 425 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (φ → (y = z → ((yGa zGb) → a = b)))
8673, 85syl5 28 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (φ → (((tFy tFz) ((tFy tFz) → y = z)) → ((yGa zGb) → a = b)))
8786exp3a 425 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (φ → ((tFy tFz) → (((tFy tFz) → y = z) → ((yGa zGb) → a = b))))
8887com34 77 . . . . . . . . . . . . . . . . . . . . . . . . 25 (φ → ((tFy tFz) → ((yGa zGb) → (((tFy tFz) → y = z) → a = b))))
8988imp3a 420 . . . . . . . . . . . . . . . . . . . . . . . 24 (φ → (((tFy tFz) (yGa zGb)) → (((tFy tFz) → y = z) → a = b)))
9089com12 27 . . . . . . . . . . . . . . . . . . . . . . 23 (((tFy tFz) (yGa zGb)) → (φ → (((tFy tFz) → y = z) → a = b)))
9190an4s 799 . . . . . . . . . . . . . . . . . . . . . 22 (((tFy yGa) (tFz zGb)) → (φ → (((tFy tFz) → y = z) → a = b)))
9291com3l 75 . . . . . . . . . . . . . . . . . . . . 21 (φ → (((tFy tFz) → y = z) → (((tFy yGa) (tFz zGb)) → a = b)))
9392imp3a 420 . . . . . . . . . . . . . . . . . . . 20 (φ → ((((tFy tFz) → y = z) ((tFy yGa) (tFz zGb))) → a = b))
9493exlimdvv 1637 . . . . . . . . . . . . . . . . . . 19 (φ → (yz(((tFy tFz) → y = z) ((tFy yGa) (tFz zGb))) → a = b))
9594adantr 451 . . . . . . . . . . . . . . . . . 18 ((φ t Nn ) → (yz(((tFy tFz) → y = z) ((tFy yGa) (tFz zGb))) → a = b))
9672, 95syl5 28 . . . . . . . . . . . . . . . . 17 ((φ t Nn ) → ((yz((tFy tFz) → y = z) yz((tFy yGa) (tFz zGb))) → a = b))
9796exp3a 425 . . . . . . . . . . . . . . . 16 ((φ t Nn ) → (yz((tFy tFz) → y = z) → (yz((tFy yGa) (tFz zGb)) → a = b)))
9897impr 602 . . . . . . . . . . . . . . 15 ((φ (t Nn yz((tFy tFz) → y = z))) → (yz((tFy yGa) (tFz zGb)) → a = b))
9968, 98syld 40 . . . . . . . . . . . . . 14 ((φ (t Nn yz((tFy tFz) → y = z))) → (((t +c 1c)Fa (t +c 1c)Fb) → a = b))
10099alrimivv 1632 . . . . . . . . . . . . 13 ((φ (t Nn yz((tFy tFz) → y = z))) → ab(((t +c 1c)Fa (t +c 1c)Fb) → a = b))
101100expr 598 . . . . . . . . . . . 12 ((φ t Nn ) → (yz((tFy tFz) → y = z) → ab(((t +c 1c)Fa (t +c 1c)Fb) → a = b)))
102101ancoms 439 . . . . . . . . . . 11 ((t Nn φ) → (yz((tFy tFz) → y = z) → ab(((t +c 1c)Fa (t +c 1c)Fb) → a = b)))
10313, 18, 23, 35, 40, 49, 102findsd 4411 . . . . . . . . . 10 ((x Nn φ) → yz((xFy xFz) → y = z))
10410319.21bbi 1865 . . . . . . . . 9 ((x Nn φ) → ((xFy xFz) → y = z))
105104ex 423 . . . . . . . 8 (x Nn → (φ → ((xFy xFz) → y = z)))
106105imp3a 420 . . . . . . 7 (x Nn → ((φ (xFy xFz)) → y = z))
10710, 106mpcom 32 . . . . . 6 ((φ (xFy xFz)) → y = z)
108107ex 423 . . . . 5 (φ → ((xFy xFz) → y = z))
109108alrimivv 1632 . . . 4 (φyz((xFy xFz) → y = z))
110109alrimiv 1631 . . 3 (φxyz((xFy xFz) → y = z))
111 dffun2 5120 . . 3 (Fun Fxyz((xFy xFz) → y = z))
112110, 111sylibr 203 . 2 (φ → Fun F)
113 df-fn 4791 . 2 (F Fn Nn ↔ (Fun F dom F = Nn ))
114112, 7, 113sylanbrc 645 1 (φF Fn Nn )
Colors of variables: wff setvar class
Syntax hints:  wi 4   wa 358  wal 1540  wex 1541   = wceq 1642   wcel 1710  {cab 2339  Vcvv 2860   wss 3258  1cc1c 4135   Nn cnnc 4374  0cc0c 4375   +c cplc 4376   class class class wbr 4640  dom cdm 4773  ran crn 4774  Fun wfun 4776   Fn wfn 4777  cfv 4782   Funs cfuns 5760   FRec cfrec 6310
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-13 1712  ax-14 1714  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1925  ax-ext 2334  ax-nin 4079  ax-xp 4080  ax-cnv 4081  ax-1c 4082  ax-sset 4083  ax-si 4084  ax-ins2 4085  ax-ins3 4086  ax-typlower 4087  ax-sn 4088
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-nan 1288  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649  df-eu 2208  df-mo 2209  df-clab 2340  df-cleq 2346  df-clel 2349  df-nfc 2479  df-ne 2519  df-ral 2620  df-rex 2621  df-reu 2622  df-rmo 2623  df-rab 2624  df-v 2862  df-sbc 3048  df-csb 3138  df-nin 3212  df-compl 3213  df-in 3214  df-un 3215  df-dif 3216  df-symdif 3217  df-ss 3260  df-pss 3262  df-nul 3552  df-if 3664  df-pw 3725  df-sn 3742  df-pr 3743  df-uni 3893  df-int 3928  df-iun 3972  df-opk 4059  df-1c 4137  df-pw1 4138  df-uni1 4139  df-xpk 4186  df-cnvk 4187  df-ins2k 4188  df-ins3k 4189  df-imak 4190  df-cok 4191  df-p6 4192  df-sik 4193  df-ssetk 4194  df-imagek 4195  df-idk 4196  df-iota 4340  df-0c 4378  df-addc 4379  df-nnc 4380  df-fin 4381  df-lefin 4441  df-ltfin 4442  df-ncfin 4443  df-tfin 4444  df-evenfin 4445  df-oddfin 4446  df-sfin 4447  df-spfin 4448  df-phi 4566  df-op 4567  df-proj1 4568  df-proj2 4569  df-opab 4624  df-br 4641  df-1st 4724  df-swap 4725  df-sset 4726  df-co 4727  df-ima 4728  df-si 4729  df-id 4768  df-xp 4785  df-cnv 4786  df-rn 4787  df-dm 4788  df-res 4789  df-fun 4790  df-fn 4791  df-f 4792  df-fo 4794  df-fv 4796  df-2nd 4798  df-ov 5527  df-oprab 5529  df-mpt 5653  df-mpt2 5655  df-txp 5737  df-pprod 5739  df-fix 5741  df-cup 5743  df-disj 5745  df-addcfn 5747  df-ins2 5751  df-ins3 5753  df-image 5755  df-ins4 5757  df-si3 5759  df-funs 5761  df-clos1 5874  df-frec 6311
This theorem is referenced by:  frec0  6322  frecsuc  6323
  Copyright terms: Public domain W3C validator