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

Theorem fnfrec 6320
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 4911 . . . . . . . . . 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 6316 . . . . . . . . . 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 6312 . . . . . . . . . . . 12 (G FunsF V)
12 fnfreclem1 6317 . . . . . . . . . . . 12 (F V → {w yz((wFy wFz) → y = z)} V)
134, 11, 123syl 18 . . . . . . . . . . 11 (φ → {w yz((wFy wFz) → y = z)} V)
14 breq1 4642 . . . . . . . . . . . . . 14 (w = 0c → (wFy ↔ 0cFy))
15 breq1 4642 . . . . . . . . . . . . . 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 4642 . . . . . . . . . . . . . 14 (w = t → (wFytFy))
20 breq1 4642 . . . . . . . . . . . . . 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 4642 . . . . . . . . . . . . . . 15 (w = (t +c 1c) → (wFy ↔ (t +c 1c)Fy))
25 breq1 4642 . . . . . . . . . . . . . . 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 4643 . . . . . . . . . . . . . . 15 (y = a → ((t +c 1c)Fy ↔ (t +c 1c)Fa))
30 breq2 4643 . . . . . . . . . . . . . . 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 4642 . . . . . . . . . . . . . 14 (w = x → (wFyxFy))
37 breq1 4642 . . . . . . . . . . . . . 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 6318 . . . . . . . . . . . . . . . 16 (φ → (0cFyy = I))
4241imp 418 . . . . . . . . . . . . . . 15 ((φ 0cFy) → y = I)
4342adantrr 697 . . . . . . . . . . . . . 14 ((φ (0cFy 0cFz)) → y = I)
443, 4, 5, 6fnfreclem2 6318 . . . . . . . . . . . . . . . 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 6319 . . . . . . . . . . . . . . . . . . 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 6319 . . . . . . . . . . . . . . . . . . 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 4642 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (y = z → (yGazGa))
7574anbi1d 685 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (y = z → ((yGa zGb) ↔ (zGa zGb)))
7675biimpa 470 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((y = z (yGa zGb)) → (zGa zGb))
77 elfunsi 5831 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (G Funs → Fun G)
78 funbrfv 5356 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (Fun G → (zGa → (Gz) = a))
794, 77, 783syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (φ → (zGa → (Gz) = a))
80 funbrfv 5356 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 4410 . . . . . . . . . 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 5119 . . 3 (Fun Fxyz((xFy xFz) → y = z))
112110, 111sylibr 203 . 2 (φ → Fun F)
113 df-fn 4790 . 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 2859   wss 3257  1cc1c 4134   Nn cnnc 4373  0cc0c 4374   +c cplc 4375   class class class wbr 4639  dom cdm 4772  ran crn 4773  Fun wfun 4775   Fn wfn 4776  cfv 4781   Funs cfuns 5759   FRec cfrec 6309
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 4078  ax-xp 4079  ax-cnv 4080  ax-1c 4081  ax-sset 4082  ax-si 4083  ax-ins2 4084  ax-ins3 4085  ax-typlower 4086  ax-sn 4087
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 2478  df-ne 2518  df-ral 2619  df-rex 2620  df-reu 2621  df-rmo 2622  df-rab 2623  df-v 2861  df-sbc 3047  df-csb 3137  df-nin 3211  df-compl 3212  df-in 3213  df-un 3214  df-dif 3215  df-symdif 3216  df-ss 3259  df-pss 3261  df-nul 3551  df-if 3663  df-pw 3724  df-sn 3741  df-pr 3742  df-uni 3892  df-int 3927  df-iun 3971  df-opk 4058  df-1c 4136  df-pw1 4137  df-uni1 4138  df-xpk 4185  df-cnvk 4186  df-ins2k 4187  df-ins3k 4188  df-imak 4189  df-cok 4190  df-p6 4191  df-sik 4192  df-ssetk 4193  df-imagek 4194  df-idk 4195  df-iota 4339  df-0c 4377  df-addc 4378  df-nnc 4379  df-fin 4380  df-lefin 4440  df-ltfin 4441  df-ncfin 4442  df-tfin 4443  df-evenfin 4444  df-oddfin 4445  df-sfin 4446  df-spfin 4447  df-phi 4565  df-op 4566  df-proj1 4567  df-proj2 4568  df-opab 4623  df-br 4640  df-1st 4723  df-swap 4724  df-sset 4725  df-co 4726  df-ima 4727  df-si 4728  df-id 4767  df-xp 4784  df-cnv 4785  df-rn 4786  df-dm 4787  df-res 4788  df-fun 4789  df-fn 4790  df-f 4791  df-fo 4793  df-fv 4795  df-2nd 4797  df-ov 5526  df-oprab 5528  df-mpt 5652  df-mpt2 5654  df-txp 5736  df-pprod 5738  df-fix 5740  df-cup 5742  df-disj 5744  df-addcfn 5746  df-ins2 5750  df-ins3 5752  df-image 5754  df-ins4 5756  df-si3 5758  df-funs 5760  df-clos1 5873  df-frec 6310
This theorem is referenced by:  frec0  6321  frecsuc  6322
  Copyright terms: Public domain W3C validator